在使PyQt5 + venv + qt5ct正常播放时遇到问题

问题描述 投票:1回答:1

我正在研究一个小的PyQT5应用程序,我想在虚拟环境中运行。现在,创建了一个venv,并使用pip将所有必需的软件包安装到venv中,该应用程序正在运行,并且通常运行良好。

但是,我在主题方面遇到了问题。现在,我使用qt5ct在计算机上管理我的QT主题,但不幸的是,这似乎并未在venv中得到解决。如果我在venv之外运行应用程序,则控制台中输出的第一行是qt5ct: using qt5ct plugin,并且根据我在qt5ct中的选择来设置应用程序的样式。但是,在venv中运行时,我没有得到这样的提示,并且所有内容都具有默认样式。

现在,我已经在虚拟环境中打印了os.environ['QT_QPA_PLATFORMTHEME'],并验证了其应设置为qt5ct的正确性。似乎qt5ct根本没有被描述,我试图在我的venv bin文件夹中符号链接qt5ct可执行文件,但是,它没有任何帮助。

有人知道如何使用qt5ct设置应用于在python3-venv中运行的pyqt5应用程序吗?

python pyqt pyqt5 python-venv
1个回答
1
投票

编译qt5ct时,将生成3个文件:

  • qt5ct
  • libqt5ct.so:
  • libqt5ct-style.so

[第一个是允许您配置qt5ct的应用程序,其他是插件。为了使qt5ct与从pypi安装的PyQt5一起使用,必须将libqt5ct.so和libqt5ct-style.so复制到:

  • / path / of / your_venv / lib / python3.7 / site-packages / PyQt5 / Qt / plugins / platformthemes / libqt5ct.so
  • / path / of / your_venv / lib / python3.7 / site-packages / PyQt5 / Qt / plugins / styles / libqt5ct-style.so

分别。

如果使用pacman安装了qt5ct,则必须使用以下步骤:

$ cp /usr/lib/qt/plugins/platformthemes/libqt5ct.so /path/of/your_venv/lib/python3.7/site-packages/PyQt5/Qt/plugins/platformthemes/
$ mkdir /path/of/your_venv/lib/python3.7/site-packages/PyQt5/Qt/plugins/styles/
$ cp /usr/lib/qt/plugins/styles/libqt5ct-style.so /path/of/your_venv/lib/python3.7/site-packages/PyQt5/Qt/plugins/styles/

/path/of/your_venv是您通气的路径。>

© www.soinside.com 2019 - 2024. All rights reserved.