关于pyqt4:PyQt QGraphicsView无法设置WindowIcon

PyQt QGraphicsView fails to setWindowIcon

我在MDIArea中使用子类化的QGraphicsView
我希望能够从对象的"内部"更改窗口的图标,但是它似乎只是忽略了我...没有错误或警告...它只是没有做。

1
2
3
4
5
6
if self.world.is_dirty:
    self.setWindowIcon( QtGui.QIcon ( 'images/dirty.png' ) )
    self.setWindowTitle('dirty')
else:
    self.setWindowIcon( QtGui.QIcon ( 'images/clean.png' ) )
    self.setWindowTitle('clean')

使用上面的方法,WindowTitle可以完美地按预期进行更改,但是该图标仍然顽固地固定为MainWindow图标。 我以为它可能在QIcon中挣扎,但是我检查了isNull(),这是错误的..所以不是Null。

在测试时,我尝试从MainWindow对象更改图标,效果很好...

1
self.mdiArea.activeSubWindow().setWindowIcon(QtGui.QIcon ('images/dirty.png'))

那么,当我从"视图"中尝试操作时,为什么它会忽略我?


在C ++文档中查看windowIcon属性时,他们说只有在小部件实际上是窗口时,该属性才有意义。 我假设您的QGraphicsView实际上不是您的窗口?

相反,windowTitle属性的文档说该属性对顶级窗口小部件更有意义。 这可能是行为不同的原因。