gpt4 book ai didi

c++ - 在纯 Qt 应用程序中使用 KDE 系统主题

转载 作者:太空宇宙 更新时间:2023-11-04 13:59:47 25 4
gpt4 key购买 nike

我正在开发一个 Qt4 应用程序并在 gnome 下运行它,但我真的希望它使用 KDE 系统主题 (Oxygen) 和配色方案 (Obsidian Coast)。不幸的是,该应用程序似乎没有响应 systemsettings 中的更改。

我至少能够通过设置 QStyle 以编程方式让应用程序使用我想要的主题:

QApplication app( argc, argv );
app.setStyle(QStyleFactory::create("oxygen"));

但我不知道有任何类似的方法来设置配色方案,而且这有点难看。

有趣的是,我已经在同一台机器上开发了一些 PyQt4 应用程序,它们可以很好地接收 systemsettings 中的更改。我不太确定为什么 C++ Qt4 应用程序的行为会有所不同。

还有一点要注意:我注意到通过 gnome 对话框更改窗口外观会影响我的 C++ qt 窗口的外观 - 所以也许 Gnome 以某种方式覆盖了我的 KDE 配置?

最佳答案

我找到的唯一解决方案是让环境为您完成工作,如下所述:https://forum.kde.org/viewtopic.php?f=17&t=90720

来自帖子的片段:

So you wish to start Amarok with a different colour scheme to the rest of KDE? You can do this by having a different set of settings for it.

Open Konsole, and enter "export KDEHOME=$HOME/.kde4-amarok/" Then run "systemsettings" and configure how you would like Amarok to appear ( colour scheme, etc. ) Finally, run "amarok" to start Amarok itself.

这也适用于 QT 应用程序,但您不能像您尝试的那样从应用程序内部设置样式 (app.setStyle(QStyleFactory::create("oxygen");) 您将不得不使用稍微复杂的方法:

sys.argv.append("--style=Oxygen")

这将从环境中读取参数,并且不会创建一个全新的 Oxygen 主题实例,(假设您已将 KDEHOME 环境设置为项目中的某个位置,并且您已经已经自定义了),然后将使用该 KDEHOME 读取颜色并使用 Oxygen 主题。

也许他们会为 QT5 改变这个...(以编程方式设置样式的能力)

关于c++ - 在纯 Qt 应用程序中使用 KDE 系统主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19770591/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com