gpt4 book ai didi

python - Windows 从 PyCharm 转发 PyQt5 GUI

转载 作者:太空宇宙 更新时间:2023-11-03 20:53:34 26 4
gpt4 key购买 nike

我使用 PyQt5 开发了一个简单的 GUI,我想使用远程主机部署工具在 PyCharm 的远程服务器上运行它。下面提供了用于显示空白窗口的简单 GUI 的源代码。

import sys
from PyQt5.QtWidgets import QApplication, QWidget

if __name__ == '__main__':
app = QApplication(sys.argv)
w = QWidget()
w.resize(250, 150)
w.move(300, 300)
w.setWindowTitle('Simple')
w.show()
sys.exit(app.exec_())

如果我使用 X11 转发 (-Y) 从终端 ssh 进入此主机并运行 GUI (python3 myapp.py),则程序可以正常工作,并且会按预期显示一个空白窗口。但是,如果我从 PyCharm 运行该程序(在远程主机上使用相同的 Python 解释器),我会收到以下错误:

qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.

This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, webgl, xcb.

在 PyCharm 中,我使用在终端中使用 ssh -Y 在上述成功演示中测试的相同 Python 解释器在远程主机上运行脚本。我还在 PyCharm 中的“设置”>“构建、执行、部署”>“控制台”>“Python 控制台”>“环境变量”中设置了环境变量。当我 ssh 到远程主机 (localhost:10.0) 时,我确保 DISPLAY 环境变量与 DISPLAY 变量匹配。我尝试将平台插件更改为其他推荐的插件之一(设置 qt_qpa_platform 环境变量),尽管某些平台插件不会产生上述错误,但不会出现预期的窗口。

我看过类似的帖子,但我不认为重新安装 pyqt 或移动库路径的典型推荐解决方案适用于这种情况,因为该程序可以在 PyCharm 之外运行。我认为 PyCharm 运行配置环境变量一定有问题,但我相信我设置的一切都是正确的:

DISPLAY=localhost:10.0
PYTHONUNBUFFERED=1
QT_DIR=/usr/lib64/qt-3.3
QTINC=/usr/lib64/qt-3.3/include
QTLIB=/usr/lib64/qt-3.3/lib

预先感谢您的任何指导。

最佳答案

我找到了解决我自己问题的方法,但这不一定是理想的。如果程序是从 PyCharm 运行并设置了上述环境变量并且我已从终端使用 ssh -Y 连接到远程主机,则 GUI 窗口将显示没有错误。如果我从终端终止 ssh 连接,我将无法从 PyCharm 执行该程序。

这个解决方法目前对我有用,我想发布这个以防其他人将来偶然发现这个问题,但如果有人可以帮助我理解为什么这个解决方法有效,或者如何解决无需从终端打开单独的 ssh 连接即可解决此问题。

关于python - Windows 从 PyCharm 转发 PyQt5 GUI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56158576/

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