我使用python3
使用GUI
构建PyQT5
程序。所有窗口都有黑色图标,但我希望单个图标有一个蓝色图标。这该怎么做?这是我的代码:
import sys
from PyQt5 import QtGui
from PyQt5.QtWidgets import QApplication, QWidget
class BlackWindow(QWidget):
def __init__(self):
super().__init__()
self.setGeometry(300, 300, 300, 220)
self.setWindowTitle('Window with black icon')
self.show()
class BlueWindow(QWidget):
def __init__(self):
super().__init__()
self.setGeometry(300, 300, 300, 220)
self.setWindowTitle('Window with blue icon')
self.setWindowIcon(QtGui.QIcon('./blue-icon.png')) # this has no effect!!
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
app.setWindowIcon(QtGui.QIcon('./black-icon.png'))
black_window_first = BlackWindow()
black_window_second = BlackWindow()
black_window_third = BlackWindow()
blue_window_first = BlueWindow()
sys.exit(app.exec_())
看起来QWidget
的{{1}}方法无效。这是为什么?可能有任何解决方法吗?我正在使用MacOS El Capitan。
答案 0 :(得分:0)
您的代码适用于Ubuntu。您可以尝试将应用程序设置为蓝色图标以确保其有效。
当我为蓝色图标添加无效路径时,我得到默认路径,而不是黑色图标。
这里不是问题,但是如果给孩子一个无效的图标,我发现略有不同的代码会使用父窗口的图标。