在Linux上使用PyQt5,经常会有app = QApplication(sys.argv)这行代码,但是有的Linux没有图形界面,运行时报错:Could not connect to any X display.
解决方式一:
在app = QApplication(sys.argv)前面加一行代码
os.environ["QT_QPA_PLATFORM"] = "offscreen"
import os
import sys
from PyQt5.QtWidgets import QApplication
if __name__ == '__main__':
# 设置环境变量,告诉 Qt 使用 offscreen
os.environ["QT_QPA_PLATFORM"] = "offscreen"
app = QApplication(sys.argv)
# 核心代码
sys.exit(app.exec_())
解决方式二:
修改环境配置,进入环境配置:vim ~/.bashrc
在最后加入一行 export QT_QPA_PLATFORM=offscreen

修改后退出,重新加载一下配置文件:source ~/.bashrc
两种方式的原理是一样的,告诉Qt不再依赖图形界面,可以用在服务器上运行、自动化测试等没有图形界面的情况
文章介绍了在Linux系统中,由于某些环境没有图形界面,如何通过设置`QT_QPA_PLATFORM=offscreen`来避免PyQt5的Xdisplay错误。提供了两种方法:一是直接在代码中设置环境变量,二是修改`.bashrc`文件。这两种方法适用于服务器运行和自动化测试等场景。
1万+

被折叠的 条评论
为什么被折叠?



