我使用 snapcraft 和桌面 qt 启动器打包了 Qt 应用程序。该应用程序使用 Qt 5.5 在环境 (Ubuntu 16.04) 中构建,classic
并在带有 KDE 的 Kubuntu 17.04 上运行它。
该应用程序不支持 Qt 主题。出于某种原因,它使用 Gtk 主题。
如何强制它使用系统 Qt 主题?
答案1
在 KDE Neon 上,使用参数执行 snap-style=Fusion
对我来说效果很好。就我而言,我是使用 QOwnNotes 执行此操作的:qownnotes -style=Fusion
编辑:您可以使用qDebug() << QStyleFactory::keys().join(" ");
它来查看哪些样式可用。
答案2
snap
有自己的核心,因此应用程序只使用默认或后备主题。有一些选项可以强制使用:
QT_STYLE_OVERRIDE=...
立即设置environment:
-style=...
使用选项让 snap wrapper 启动应用程序- 还应该有一种方法可以从应用程序内部强制设置样式(我只是对 Qt 不太了解)
参考: