Qt mac:布局与其他操作系统有何不同

时间:2010-06-07 10:37:56

标签: user-interface macos qt

Qt是一个很好的框架,它允许人们开发一次,它将适用于3个主要操作系统。

但有时候,布局存在一些差异:放置一些小部件与Windows或Linux中的行为不同。

您是否观察到奇怪的行为?小工具?你是怎么纠正这个的?

感谢分享

2 个答案:

答案 0 :(得分:0)

嗯,只有我现在看到的操作系统的差异在于间距和边距,但它总是由每个操作系统gui指南完成。另外(我不确定你是否熟悉Mac OS X)最大的区别在于QMainWindow和菜单栏,它们在Mac OS X上总是在屏幕上(不在Windows或Linux上的窗口之上)。我从来没有用Qt布局做任何“解决方法”

答案 1 :(得分:0)

如果你想设置按钮样式,我还建议你使用QPushButton :: setFlat(true)。如果你不这样做,按钮的边距和位置不能在mac中正确计算,因为它希望周围有特殊的mac效果区域。您在QLineEdit中遇到类似的问题,您需要进行方法调用以避免mac中的蓝色突出显示。

Qt 4.6中还有一个错误,你不能在mac中设置QComboBox的样式(你可以,但结果非常奇怪)。对于相同的族大小,字体具有不同的像素大小,因此如果您正在进行多平台应用程序时要特别小心,特别是当您有固定大小的元素并且有文本时。

除此之外,我不记得任何其他重大差异。你有崩溃只发生在mac或windows中,如果你做的事情非常复杂,那就会产生奇特的绘画效果。通常崩溃与内部Qt代码有关,有些东西是错误的,但是它们在操作系统上工作,直到它在mac或Linux中崩溃才意识到问题。

如果您在mac中使用QGraphicsView,请注意该视图是否在滚动区域中。出于某种原因,Qt有一个错误,有时候当你滚动包含它的那些时,它会在窗口外面绘制QGraphicsView。