pyside показать/скрыть макеты

. Я пытаюсь отобразить один из двух макетов в зависимости от того, установлен флажок или нет.

Только с помощью виджетов я могу сделать следующее, что работает нормально: (каждый виджет в этом примере является 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, чтобы сделать вышеописанное на макетах вместо виджетов, но не могу заставить его работать. Программа вылетела при моей последней попытке.

Как проще всего переключаться между двумя макетами? Не обязательно использовать флажок, но я бы предпочел это.

8
задан user985366 6 August 2012 в 09:56
поделиться