Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
User interface Qt mac:布局与其他操作系统有何不同_User Interface_Macos_Qt - Fatal编程技术网

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

User interface Qt mac:布局与其他操作系统有何不同,user-interface,macos,qt,User Interface,Macos,Qt,Qt是一个很好的框架,它允许人们一次性开发一些东西,并且可以用于3个主要的操作系统 但有时,在布局上会有一些差异:放置一些小部件的行为与在windows或linux中不同 你观察到奇怪的行为了吗?在哪些小部件上?你是怎么纠正的 感谢大家分享好吧,目前为止我只看到了操作系统在间距和边距方面的差异,但这始终是由每个操作系统gui指南完成的。另外(我不确定您是否熟悉Mac OS X)最大的区别在于QMainWindow和菜单栏,在Mac OS X上,菜单栏始终位于屏幕顶部(不像在Windows或Lin

Qt是一个很好的框架,它允许人们一次性开发一些东西,并且可以用于3个主要的操作系统

但有时,在布局上会有一些差异:放置一些小部件的行为与在windows或linux中不同

你观察到奇怪的行为了吗?在哪些小部件上?你是怎么纠正的


感谢大家分享

好吧,目前为止我只看到了操作系统在间距和边距方面的差异,但这始终是由每个操作系统gui指南完成的。另外(我不确定您是否熟悉Mac OS X)最大的区别在于QMainWindow和菜单栏,在Mac OS X上,菜单栏始终位于屏幕顶部(不像在Windows或Linux上那样位于窗口顶部)。我从来没有对Qt布局做过任何“变通方法”

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

Qt4.6中也有一个bug,您无法在mac中设置QComboBox的样式(可以,但结果非常奇怪)。对于相同的系列大小,字体具有不同的像素大小,因此,如果您正在执行多平台应用程序,尤其是当您有固定大小的元素时,请特别小心

除此之外,我不记得还有什么大的区别。如果你正在做非常复杂的事情,你会遇到只有在mac或windows中才会发生的崩溃,以及一些奇特的绘图效果。通常情况下,崩溃与内部Qt代码有关,有些事情是错误的,但它们在操作系统上工作,直到它在mac或Linux上崩溃,你才意识到问题

如果您在mac中使用QGraphicsView,请小心该视图是否进入滚动区域。由于某些原因,Qt有一个bug,有时当您滚动包含它的are时,它会在窗口外绘制QGraphicsView