qt.qpa.plugin: Could not find the Qt platform plugin "xcb" in ""
这个错误一般都是由于系统中qt的版本冲突引起的。
解决方法:
直接在py程序中导入ptqt模块前加入更新正确版本环境变量即可,如下:
import random,sys,os
os.environ.update({"QT_QPA_PLATFORM_PLUGIN_PATH": "/home/jinxin/桌面/py/venv/lib/python3.12/site-packages/PyQt5/Qt5/plugins/platforms"})
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QVBoxLayout
from PyQt5.QtGui import QColor
class ColorChanger(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# 设置窗口标题
self.setWindowTitle('点击按钮改变颜色')
# 设置窗口大小
self.setGeometry(300, 300, 300, 200)
# 创建一个垂直布局
layout = QVBoxLayout()
# 创建一个按钮
self.button = QPushButton('改变颜色', self)
self.button.clicked.connect(self.changeColor) # 绑定按钮点击事件
# 将按钮添加到布局中
layout.addWidget(self.button)
# 设置窗口的布局
self.setLayout(layout)
def changeColor(self):
# 随机生成一个颜色
color = QColor(random.randint(0, 255), random.randint(0, 255), random.randint(0, 255))
# 设置窗口的背景颜色
self.setStyleSheet(f"background-color: {color.name()};")
# 创建一个应用实例
app = QApplication(sys.argv)
# 创建窗口实例
ex = ColorChanger()
# 显示窗口
ex.show()
# 运行应用
sys.exit(app.exec_())