3

私はPyQtアプリケーションに取り組んでいます。現在、を含むステータスパネル(として定義QWidget)がありますQHBoxLayout。このレイアウトはQPushButton、アプリケーションの別の部分によって作成されたsで頻繁に更新されます。

表示されるボタンを変更する必要があるときはいつでも(かなり頻繁に)、更新効果が呼び出されます。既存のボタンがレイアウトから削除され(を呼び出しlayout.removeWidget(button)てからbutton.setParent(None))、新しいボタンがレイアウトに追加されます。

一般的に、これは機能します。ただし、ボタンを呼び出しbutton.setParent(None)て削除すると、アプリケーションから飛び出し、独自のスタンドアロンフレームに浮き始めることがあります。

レイアウトからボタンを削除して、ボタンが浮き始めないようにするにはどうすればよいですか?

4

2 に答える 2

2

ボタンのclose()メソッドを呼び出す必要があります。閉じたときに削除する場合は、次のQt.WA_DeleteOnClose属性を設定できます。

button.setAttribute(Qt.WA_DeleteOnClose)
于 2010-02-15T07:58:48.723 に答える
2

QWidget::hide()ボタンを削除したくない場合は、レイアウトから削除する前にボタンを呼び出してみてください。

于 2010-02-15T12:47:27.573 に答える