打包 Qt 应用程序 - 主题

打包 Qt 应用程序 - 主题

我使用 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 不太了解)

参考:

相关内容