【发布时间】:2017-05-08 16:24:26
【问题描述】:
我尝试在同一系统上使用 pip 中的 PyQt5 和 apt (python3-pyqt5)。这两个版本都有不同的主题(图片如下)。
我尝试将环境变量QT_STYLE_OVERRIDE 设置为“gtk”以及“gtk+”,但无法获得原生外观。
我很好奇为什么会这样。如何强制它使用 QGtkStyle?其他本机应用程序,如 Clementine、VLC、Zeal 与 QGtkStyle 主题一起使用,也可以根据 gnome-shell 主题进行混合。
按照一些在线说明,我尝试了没有 gtk 主题的 qt5-style-plugins。
从 pip 安装(QFusionStyle):
从 apt (QGtkStyle) 安装:
【问题讨论】:
-
尝试将 DESKTOP_SESSION 设置为 gtk
-
没用。 QT_QPA_PLATFORMTHEME 在这两种情况下都是相同的“appmenu-qt5”,而 DESKTOP_SESSION 是“ubuntu”
-
@HimanshuShekhar。你说“这两个版本都有不同的主题”——但与什么不同? 其中一个是您所期望的吗?或者有没有其他你期待但没有告诉我们的风格?请显示具有您期望的样式的“普通”Qt 应用程序(即不是 PyQt5 应用程序)的屏幕截图。
-
@HimanshuShekhar。 pip 安装的 PyQt5 将使用一个轮子,该轮子有自己的 Qt5 副本。这意味着它无法访问您的系统 Qt5 拥有的常用插件。第一个屏幕截图中显示的样式是默认的
fusion小部件样式。 -
@ekhumoro 我没想到融合小部件样式。我期待第二个,它与 Ubuntu 上的所有其他应用程序相同。
标签: ubuntu pyqt gtk themes pyqt5