我刚刚安装了 Python3 (3.5.2) 和 Pyqt5 (5.8.2),我正在按照本教程学习和制作 GUI:http: //zetcode.com/gui/pyqt5/firstprograms/
我正在尝试运行第二个示例,但程序返回一个错误(这也发生在第一个示例中,但由于它没有图像,我没有注意到),如下所示:
QApplication: invalid style override passed, ignoring it.
No XVisualInfo for format QSurfaceFormat(version 2.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize -1, redBufferSize 1, greenBufferSize 1, blueBufferSize 1, alphaBufferSize -1, stencilBufferSize -1, samples -1, swapBehavior QSurfaceFormat::SwapBehavior(SingleBuffer), swapInterval 1, profile QSurfaceFormat::OpenGLContextProfile(NoProfile))
Falling back to using screens root_visual.
这是什么意思?我错过了一些包裹吗?
我首先使用以下命令安装了 pyqt:
sudo -H pip3 安装 PyQt5
但是 Python3 没有承认它的存在,所以我搜索了 apt ubuntu repos 并安装了:
sudo apt install python3-PyQt5
我还尝试通过完整路径 /foo/bar/image.png 来引用图像,但什么也没有
问题是什么?
编辑#1
我使用的代码来自示例 2:
#!/usr/bin/python3
# -*- coding: utf-8 -*-
"""
ZetCode PyQt5 tutorial
This example shows an icon
in the titlebar of the window.
author: Jan Bodnar
website: zetcode.com
last edited: January 2015
"""
import sys
import os
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtGui import QIcon
base_dir = os.path.dirname(os.path.abspath(__file__))
os.chdir(base_dir)
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(300, 300, 300, 220)
self.setWindowTitle('Icon')
self.setWindowIcon(QIcon('image.png'))
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
在您发布后,我重新安装了所有软件包。错误略有不同,但结果相同:
python3 example_02.py
QApplication: invalid style override passed, ignoring it.