我在我的Kubuntu12.10Linux机器上安装了Qt5和Qt4,并注意到以下内容:


我想要的是相当严格的:我希望我的应用程序适应周围的系统,即看起来总是本地的。在使用Qt4时,我习惯于默认情况下这样做。Qt5在Windows中似乎也具有正常的本机外观。但是我要做什么才能在库本图也拥有同样的东西呢?理想情况下,everywhere?我的意思是,我不想强迫我的应用程序的linux构建严格使用氧气。我希望它使用当前在KDE中设置的主题:就像在好的旧Qt4中一样。
似乎应用程序代码与这个问题无关:我没有在其中使用任何QStyle,它几乎是典型的Qt的hello-world。但以防万一https://github.com/NIA/qfractal。
UPD: @peppe 已给予非常充分地回答了为什么会出现这个问题( KDE中的氧气主题是针对Qt4编译的,Qt5不能使用)。,但我仍然在上寻找如何解决这个问题的答案?,我试着找氧气的主题源来玩,但是除了Firefox主题什么都没找到。
UPD2: @kwirz 建议一个有趣的想法:强制应用程序使用GTK+主题,并在KDE设置中启用氧气- GTK ,使GTK窗口看起来类似于氧气。一方面,它看起来确实更接近氧气:

但另一方面,我们已经看到了一些微小的差异:只读行编辑变成灰色,焦点按钮仍然不亮等等。不幸的是,当试图将这种技术应用于更复杂的小部件时,会出现更多的工件(特别是在组合框和旋转器上):

因此,这种技术似乎不可能是一个完整的解决方案,但仍然非常有用的是简单的案例。
发布于 2013-02-17 10:42:10
氧气是KDE的一部分,所以你就是在那里找到它的。这不是一个独立的主题。您不能在Qt 5上构建KDE,它不受支持。KDE的下一个主要版本(KDE 5)将使用Qt5。
所以现在,你绝对无能为力。如果您希望您的应用程序在KDE 4中看起来和行为良好,请使用Qt4。
发布于 2013-02-14 17:03:11
这不是你的应用程序--只是氧气是针对Qt 4而不是Qt 5编译的,所以Qt 5不能使用它,回到默认的风格(“融合”)。请记住,样式实际上是插件 --即代码,为了加载和使用,必须符合API/ABI的要求。你需要一种针对Qt 5的氧气方式。
发布于 2013-04-12 07:09:31
试一试
QApplication::setStyle(QStyleFactory::create("GTK+"));作为解决办法,如果安装了氧气-gtk,它看起来是原生的.
https://stackoverflow.com/questions/14880032
复制相似问题