PyQT5 - MAC OS - 为单个窗口标题栏设置不同的图标
Posted
技术标签:
【中文标题】PyQT5 - MAC OS - 为单个窗口标题栏设置不同的图标【英文标题】:PyQT5 - MAC OS - Set different icon for single window title-bar 【发布时间】:2017-06-23 22:45:14 【问题描述】:我在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
的setWindowIcon
方法无效。这是为什么?是否有任何解决方法?我正在使用 MacOS El Capitan。
【问题讨论】:
【参考方案1】:您的代码在 Ubuntu 上适用于我。您可以尝试将应用设置为蓝色图标以确保它有效。
当我为蓝色图标输入无效路径时,我得到的是默认路径,而不是黑色图标。
这不是问题,但我看到如果给子窗口的图标无效,则代码使用父窗口的图标略有不同。
【讨论】:
以上是关于PyQT5 - MAC OS - 为单个窗口标题栏设置不同的图标的主要内容,如果未能解决你的问题,请参考以下文章