web-dev-qa-db-ja.com

PyQt5でウィンドウアイコンを設定する方法は?

from PyQt5 import QtWidgets, QtGui
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *

class Application(QMainWindow):
    def __init__(self):
        super(Application, self).__init__()
        self.setWindowIcon(QtGui.QIcon('icon.png'))

ウィンドウアイコン(ウィンドウの左上)を設定しようとしていますが、代わりに通常のアイコンが消えました。

多くのアイコン解像度(8x8、16x16、32x32、64x64)と拡張子(.pngおよび.ico)を試しました。

何が間違っていますか?

11
HumanAfterAll

答えは質問者(目に見えないアイコン)によって与えられました。スクリプトがスクリプトディレクトリで実行されない可能性があることを追加したかったのです。いずれの場合でも、安全のために、スクリプトが存在するディレクトリに対してアイコンがロードされていることを確認したい場合があります。

import os 
# [...]
scriptDir = os.path.dirname(os.path.realpath(__file__))
self.setWindowIcon(QtGui.QIcon(scriptDir + os.path.sep + 'logo.png'))
6
DomTomCat

Askerによって提案されたコマンドは、私のために機能します:

 self.setWindowIcon(QtGui.QIcon('icon.png'))

256x256のpngを配置しましたが、すべて問題ありませんでした。 Win 7 pro 64ビット、Python 3.5.2 32ビット。

5
drgrujic