チェックボックスがオンになっているかどうかに応じて、2つのレイアウトのいずれかを表示しようとしています。
ウィジェットを使用する場合にのみ、正常に機能する次のことを実行できます:(この例の各ウィジェットはQLineEditです)
myCheckbox.stateChanged.connect(switchControls)
def switchControls (self, state):
if state == 2:
self.widget1.show()
self.widget2.hide()
else:
self.widget1.hide()
self.widget2.show()
ただし、各QLineEditに説明ラベルを追加したいので、ある種のレイアウトまたはコンテナーでQLineEdit+QLabelを組み合わせる必要があります。addlayout / removeLayout / removeItemを試して、ウィジェットの代わりにレイアウトで上記を実行しようとしましたが、機能させることができません。私の最後の試みでプログラムがクラッシュしました。
2つのレイアウトを切り替える最も簡単な方法は何ですか?チェックボックスを使用する必要はありませんが、私はそれを好みます。