скрыть и показать lineEdit с QComboBox в Qt

0

Мне нужно создать приложение, которое будет работать с базой данных, и мне нужно подключить QCombobox с помощью lineEdits (1,2,3). У меня QComboBox с двумя элементами (1,2), и я хочу спрятать lineEdits (2,3), когда я перехожу на элемент 2. И когда я возвращаюсь к элементу 1, я хочу показать lineEdits (2,3) и скрыть строкуEdit 1. Кто-нибудь может мне помочь? :-) Благодаря

Теги:
qt

1 ответ

0

Вы просто подключаете сигнал currentIndexChanged (int index) вашего QComboxBox к слоту в своем классе и скрываете/показываете QLineEdit в зависимости от значения индекса.

  QObject::connect(myComboxBox, SIGNAL(currentIndexChanged(int)), 
        this, SLOT(onComboxBoxCurrentIndexChanged(int)));

Слот может быть реализован следующим образом:

MyClass::onComboxBoxCurrentIndexChanged(int index)
{
  if(index == 0){
    lineEdit1->setVisible(false);
    lineEdit2->setVisible(true);
    lineEdit3->setVisible(true);
  }
  else{
    lineEdit1->setVisible(true);
    lineEdit2->setVisible(false);
    lineEdit3->setVisible(false);
  }
}

Обратите внимание, что ваш класс должен быть подклассом QObject для работы слота. Если вы не знаете, как работают сигналы и слоты, я бы рекомендовал сначала прочитать учебник.

См. Http://qt-project.org/doc/qt-4.8/signalsandslots.html.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню