[英]Main Window icon missing using Pyside6
我可能遺漏了一些明顯的東西,但下面的代碼似乎沒有在 window 標題欄中顯示 app_icon。 app_icon.png 是一個 24x24px 的文件,與 main.py 和 ui_mainwindow.py 位於同一文件夾中。 Qt 文檔似乎暗示PySide6.QtGui.QIcon(fileName)是一種有效的方法,但也許我誤解了它。 除了這個問題,應用程序的 rest 工作正常。
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...
將其更改為以下內容會導致錯誤
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。 該表單與 Qt Creator 放在一起,並使用 pyside6-uic 將.ui 轉換為.py。 有什么想法我哪里出錯了嗎?
我的猜測是因為addFile
不是 static function,所以直接從QIcon
class 調用它是行不通的。 相反,我認為您需要實例化一個QIcon
object 並將addFile
應用於它:
self.setWindowIcon(QIcon().addFile('app_icon.png'))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.