繁体   English   中英

Windows从PyCharm转发PyQt5 GUI

[英]Windows forwarding PyQt5 GUI from PyCharm

我使用PyQt5开发了一个简单的GUI,我想使用远程主机部署工具在PyCharm的远程服务器上运行该GUI。 下面提供了用于显示空白窗口的简单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:即使找到Qt平台插件“ xcb”,也无法将其加载到“”中。

此应用程序无法启动,因为无法初始化Qt平台插件。 重新安装该应用程序可能会解决此问题。

可用的平台插件有:eglfs,linuxfb,minimum,minimlegl,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连接。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM