PyQt QGraphicsView未能setWindowIcon
问题描述:
我在MDIArea中使用子分类QGraphicsView 我希望能够从对象内部更改窗口的图标,但它似乎忽略了我...不错误或警告......它只是不这样做。PyQt QGraphicsView未能setWindowIcon
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(),这是错误的..所以不是空的。
正如我测试,我试图从主窗口对象的改变图标和工作正常...
self.mdiArea.activeSubWindow().setWindowIcon(QtGui.QIcon ('images/dirty.png'))
那么为什么不理我,当我从视图试试吗?
答
看着C++ docs for the windowIcon property他们说属性只有在小部件实际上是一个窗口时才有意义。我假设你的QGraphicsView
实际上不是你的窗户?
相反,docs for the windowTitle property表示该属性对于顶层小部件更为普遍。这可能是不同行为的原因。
QGraphicsView不是一个“*”小部件,因为我了解它们..因为它有一个父QMdiSubWindow ...它似乎有点不一致。 () setWindowTitle()适用于QGV及其父项() setWindowIcon()只适用于父项() 但现在至少它现在可行了......谢谢:) – 2010-08-19 15:00:05
@丹B:是的,这仍然有点奇怪然后。我建议这是一个比标题属性更多的图标! – Troubadour 2010-08-19 15:05:00