1
하위 클래스 QGraphicsView를 MDIArea에서 사용하고 있습니다. 개체의 'within'아이콘에서 창의 아이콘을 변경할 수 있기를 원하지만 ... 오류 또는 경고 ... 그것은 단지 그것을하지 않습니다. 위의 사용 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()을 검사했는데 그것은 false입니다. 그래서 Null이 아닙니다. 내가 테스트 할
, 나는 MainWindow를 객체에서 변경 아이콘을 시도하고 내가보기에서 그것을 시도 할 때
self.mdiArea.activeSubWindow().setWindowIcon(QtGui.QIcon ('images/dirty.png'))
그래서 왜 나를 무시 ... 잘 작동?
QGraphicsView는 부모 QMdiSubWindow를 가지고 있기 때문에 이해할 수있는 "최상위"위젯이 아닙니다 ... 조금 일관성이없는 것 같습니다. setWindowTitle()은 QGV와 해당 parent() 모두에서 작동합니다. setWindowIcon()은 parent()에서만 작동합니다. 적어도 지금은 작동합니다 ... thanks :) –
@ Dan B : 네, 아직 조금 이상합니다. 그때. 아이콘보다 title 속성이 더 버그라고 제안합니다! – Troubadour