我在 MDIArea 中使用子类 QGraphicsView 我希望能够从对象的“内部”更改窗口的图标,但它似乎忽略了我......没有错误或警告......它只是没有不要这样做。
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 对象更改图标并且效果很好......
self.mdiArea.activeSubWindow().setWindowIcon(QtGui.QIcon ('images/dirty.png'))
那么为什么当我从视图中尝试它时它会忽略我呢?