首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Pyside6缺少主窗口图标

使用Pyside6缺少主窗口图标
EN

Stack Overflow用户
提问于 2021-12-04 19:29:24
回答 1查看 1.2K关注 0票数 0

我可能遗漏了一些显而易见的东西,但下面的代码似乎没有在窗口标题栏中显示app_icon。app_icon.png是与main.py和ui_mainwindow.py相同文件夹中的24x24px文件。Qt文档似乎认为PySide6.QtGui.QIcon(fileName)是一种有效的方法,但也许我误解了它。除了这个问题之外,应用程序的其余部分都正常工作。

代码语言:javascript
复制
from PySide6.QtGui import QIcon, QScreen
from PySide6.QtWidgets import QApplication, QFileDialog, QMainWindow
from ui_mainwindow import Ui_MainWindow

class MainWindow(QMainWindow):
    def __init__(self):
        super(MainWindow, self).__init__()
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)

        # Change a few things
        screenSize = QScreen.availableGeometry(QApplication.primaryScreen())
        winXpos = ((screenSize.width() - self.width())/2)
        winYpos = ((screenSize.height() - self.height())/2)
        self.move(winXpos, winYpos)
        self.setWindowTitle('App - Main Window')
        self.setWindowIcon(QIcon('app_icon.png'))
        ...rest of the code...

将其更改为以下内容,将导致错误

代码语言:javascript
复制
self.setWindowIcon(QIcon.addFile('app_icon.png'))
TypeError: descriptor 'addFile' for 'PySide6.QtGui.QIcon' objects doesn't apply to a 'str' object

这是在linux上,使用Python3.8.10和PySide6。该表单与converted结合在一起,使用pyside6 6-UIC将.ui转换为.py。知道我哪里出问题了吗?

编辑:缺少图标的屏幕截图,发布评论中建议的更改

EN

回答 1

Stack Overflow用户

发布于 2021-12-04 19:40:39

我的猜测是,由于addFile不是静态函数,直接从QIcon类调用它将无法工作。相反,我认为您需要实例化一个QIcon对象并将addFile应用于它:

代码语言:javascript
复制
my_icon = QIcon()
my_icon.addFile('app_icon.png')

self.setWindowIcon(my_icon)

作为建议,测试该文件是否存在(os.path.isfile),以及在Linux上您是否可以读取对它的访问。或者,尝试从文件路径创建一个QPixmap,并测试像素映射是否为null (None在Python中)。

(就像@musicamante建议的那样,它可能因为某种原因而找不到你的文件)。

另外,尝试

代码语言:javascript
复制
from PySide6.QtGui import QIcon, QPixmap

my_pixmap = QPixmap(":/app_icon.png")
my_icon = QIcon(my_pixmap)

self.setWindowIcon(my_icon)

详情请参见Qt资源系统

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70228802

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档