python - 不显示图标

标签 python pyqt pyqt5 qicon

我刚刚安装了 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 install PyQt5

但是 Python3 没有承认它的存在所以我搜索了 apt ubuntu 存储库并安装了:

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.

屏幕截图:Screenshot of my result

最佳答案

请注意,所有应用程序都没有图标,不仅仅是 PyQt 图标示例。这是因为默认情况下,某些环境会关闭标题栏中的图标。你必须启用它们。

例如在 Xfce 桌面环境中,我们可以使用 xfce4-settings-editor 工具。在设置/设置编辑器中选择 xfwm4。 找到 show_app_icon 选项并勾选。来回更改主题以查看更改;它们不会立即可见。

Settings Editor

在此之后,您将在 PyQt5 示例的标题栏中看到该图标。

Application icon

至于警告;这是最近发生的事情,它必须做点什么 Qt 和 GTK 主题之间的不兼容。我还没发现 到目前为止消除警告的解决方案。

关于python - 不显示图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44080247/

相关文章:

python - 如何读取并提取并合并多个大尺寸csv(1G~)?

相当于 unix "strings"实用程序的 Python

python - 让函数等待,直到返回 'n' 个结果

python - 运行 pwssh 时出现无效语法 ^ 错误

python-3.x - 如何使用 Python 在 QTextEdit 中动态突出显示单词?

python - 如何使用表单上的按钮向 QTabWidget 添加选项卡?

python - 使用 QPolygonF 绘图时如何在 QGraphicsPolygonItem 内添加文本?

python - PyQt4 @pyqtSlot : what is the result kwarg for?

python - 如何按文件名过滤QFileSystemModel的文件列表?

python - 如何在 PyQt5 窗口中嵌入 pptk 查看器