使用QT,有没有办法为不同的UI样式指定不同的UI布局?

时间:2010-07-28 17:52:28

标签: qt user-interface

我有一个跨平台的Qt应用程序,无论我如何调整用户界面,由于UI样式之间的差异,它在某些平台上总是看起来很好而在其他平台上看起来很糟糕。

例如,边缘似乎是普遍设定的,即使底层元素的大小从一个平台急剧变化到另一个平台。

处理此问题的推荐方法是什么?

2 个答案:

答案 0 :(得分:2)

最安全的方法可能是开始使用最基本的UI。我个人使用qt的css类型的样式。还要确保在对小部件进行子类化时,正确覆盖事件方法(即resizeEvent(...),在适当的时候将参数传递给超类等。)遵循Qt Docs的基本建议应该这样做。 关于布局的另一个注意事项,请确保您使用:

  

枚举QSizePolicy ::政策

适当地,你的布局在调整大小等时流动得很好,而不是使用固定位置......

答案 1 :(得分:2)

请查看QWindowsStyleQWindowsXPStyleQPlastiqueStyle

并使用

void QApplication::setStyle ( QStyle * style )   [static]

通过这样做,您应该只看一下所有操作系统。