Sto provando a visualizzare uno dei due layout a seconda se una casella di controllo è selezionata o meno.scene mostra/nascondi layout
Solo utilizzando i widget che posso fare quanto segue, che funziona bene: (ciascun widget in questo esempio è un 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()
Tuttavia, dal momento che voglio aggiungere un'etichetta descrittiva per ogni QLineEdit, ho bisogno combinare una QLineEdit + QLabel in un layout o contenitore di qualche tipo. Ho provato l'addlayout/removeLayout/removeItem a fare quanto sopra sui layout invece dei widget, ma non riesco a farlo funzionare. Il programma si è bloccato durante il mio ultimo tentativo.
Qual è il modo più semplice per passare da un layout all'altro? Non è necessario utilizzare una casella di controllo, ma preferirei che.
Avrei dovuto scrivere "utilizzando solo i widget". Che tipo di widget posso inserire all'interno di un layout? Pensavo che i widget andassero nei formati, non nel contrario. – user985366
È possibile inserire un layout nella maggior parte dei widget. Molto spesso vengono usati 'QWidget' e' QFrame'. Farò un esempio –