Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.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
使用QT,有没有一种方法可以为不同的UI样式指定不同的UI布局?_Qt_User Interface - Fatal编程技术网

使用QT,有没有一种方法可以为不同的UI样式指定不同的UI布局?

使用QT,有没有一种方法可以为不同的UI样式指定不同的UI布局?,qt,user-interface,Qt,User Interface,我有一个跨平台的Qt应用程序,无论我如何调整UI,由于UI风格的不同,它在某些平台上看起来总是好的,在其他平台上看起来总是坏的 例如,利润率似乎是普遍设定的,即使基础元素的大小从一个平台到另一个平台发生了巨大的变化 推荐的处理方法是什么?最安全的方法可能是从最基本的UI开始。我个人使用qt的css样式。此外,还要确保当您对小部件进行子类化时,您应该按照Qt文档中的基本建议正确地重写事件方法(即resizeEvent(…),在适当的时候将参数传递给一个超类。等等)。 关于布局的另一个注意事项,请确

我有一个跨平台的Qt应用程序,无论我如何调整UI,由于UI风格的不同,它在某些平台上看起来总是好的,在其他平台上看起来总是坏的

例如,利润率似乎是普遍设定的,即使基础元素的大小从一个平台到另一个平台发生了巨大的变化


推荐的处理方法是什么?

最安全的方法可能是从最基本的UI开始。我个人使用qt的css样式。此外,还要确保当您对小部件进行子类化时,您应该按照Qt文档中的基本建议正确地重写事件方法(即resizeEvent(…),在适当的时候将参数传递给一个超类。等等)。 关于布局的另一个注意事项,请确保您正在使用:

枚举QSizePolicy::策略

适当调整大小后,您的布局流动良好等,而不是使用固定位置…

请查看

和使用

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

通过这样做,您应该可以查看所有操作系统。

但对于真正的跨平台应用程序来说,这并不是一个理想的解决方案。没有人希望在OSX上使用看起来像Windows应用的应用。同意!当然您是否尝试在MacOS上设置MacOS样式,在Windows上设置Windows样式?也许你会解决布局的问题。。。