1

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'))

では、ビューから試してみると、なぜ私を無視するのですか?

4

1 に答える 1

0

windowIconプロパティのC++ドキュメントを見ると、ウィジェットが実際にウィンドウである場合にのみプロパティが意味をなすと言われています。私はあなたQGraphicsViewが実際にあなたの窓ではないと思いますか?

対照的に、windowTitleプロパティのドキュメントには、そのプロパティはトップレベルのウィジェットにとってより一般的に意味があると書かれています。それがおそらく異なる振る舞いの理由です。

于 2010-08-19T14:11:02.777 に答える