2011-10-27 2 views
0

Я новичок в Qt4, а также в C++, я пытаюсь создать графический интерфейс в qt4. Как добавить записи в поле со списком на основе строки, выбранной в другом поле со списком? Скажем, мой comboBox_1 имеет две записи: «2,4 ГГц» и «5 ГГц». Если пользователь выбирает «2,4 ГГц», тогда я хочу, чтобы мой ComboBox_2 имел записи от 1 до 12, и если пользователь выбирает «5 ГГц», я хочу, чтобы ComboBox_2 имел разные записи. Как мне это сделать? пожалуйста помоги.Dependent ComboBoxes в C++ QT4

Большое спасибо.

ответ

1

Первое пришел мой ум использовать QComboBox::currentIndexChanged() сигнал и подключить его к слоту, например .:

connect(&comboBox_1, SIGNAL(currentIndexChanged(int)), 
     this, SLOT(populateComboBox2(int))); 

Затем вам нужно определить populateComboBox2(int). Параметр будет передан автоматически и будет указывать текущий выбранный индекс в поле со списком 1. Используя этот индекс, вы можете понять, что выбрано в поле со списком 1, и соответственно заполнить поле со списком 2.

+0

Спасибо Донотало за ответ, но можете усовершенствовать его еще немного. Как я могу получить параметр, который передается в «populateComboBox2»? Как сказал, используя индекс, я могу заполнить combobox_2 соответственно, но как узнать, какой индекс передан, чтобы использовать его? Я не очень понятен. – user976369

+0

в моем примере функция 'populateComboBox2' имеет параметр, это измененный индекс поля со списком 1. – Donotalo

+0

, пожалуйста, попробуйте сами. обычно index> = 0. – Donotalo