34

PythonのPyQt4でアプリケーションに取り組んでいますが、タスクバーアイコンを変更する方法が見つかりません。Qt's Designerで.uiファイルを作成しました。ここで、windowIconプロパティを変更できます。しかし、それは私が探しているものではありません。Windowsタスクバーのアプリケーションのアイコンの外観を変更したい。今のところ、ウィンドウアイコンのPythonロゴです。

SO:linkに関する情報をいくつか見つけましたが、あまり役に立ちません。

私は試した:

app = QtGui.QApplication([])
app.setWindowIcon(QtGui.QIcon('chip_icon_normal.png'))
app.exec_()

ただし、アイコンは変更されません。

画像を表示して変更したいもの:(これは、上記のように、メインウィンドウ/ダイアログまたはアプリケーションでsetWindowIconを呼び出して行われます。)

タスクバーアイコンの変更

4

4 に答える 4

26

この問題は、Windows プラットフォームでのタスクバー アイコンの処理方法の特殊性が原因で発生します。

詳細については、この回答と、を使用した回避策を参照してくださいctypes

于 2012-09-21T00:31:30.270 に答える
16

適切なサイズのアイコンがないために問題が発生している可能性があるようです。PyQT4 では、次のセットアップが機能しました。

# set app icon    
app_icon = QtGui.QIcon()
app_icon.addFile('gui/icons/16x16.png', QtCore.QSize(16,16))
app_icon.addFile('gui/icons/24x24.png', QtCore.QSize(24,24))
app_icon.addFile('gui/icons/32x32.png', QtCore.QSize(32,32))
app_icon.addFile('gui/icons/48x48.png', QtCore.QSize(48,48))
app_icon.addFile('gui/icons/256x256.png', QtCore.QSize(256,256))
app.setWindowIcon(app_icon)

Windows 7 にタスク バー アイコンがあり、UI ファイルを変更することなく、すべてのウィンドウに正しいアイコンがあります。

于 2014-01-24T10:32:50.507 に答える
8

アプリケーションではなく、ウィンドウで setWindowIcon(...) を呼び出す必要があります。

これは私のために働く例です:

#!/usr/bin/env python3

import os
import sys
import subprocess
import os.path

from PyQt4 import QtGui
from PyQt4 import QtCore

class MyWin(QtGui.QMainWindow):
    def __init__(self, parent=None):
        super(MyWin, self).__init__(parent)
        self.setWindowTitle("My Window")
        self.setWindowIcon(QtGui.QIcon('test_icon.png'))
        self.show()

def main(args):
    app = QtGui.QApplication([])

    ww= MyWin()
    sys.exit(app.exec_())

if __name__ == '__main__':
    main(sys.argv[1:])
于 2012-09-15T00:52:49.597 に答える