Можно ли динамически соединить два QCombobox? - PullRequest
0 голосов
/ 08 сентября 2010

У меня есть два комбинированных списка:

Первый - это язык (английский, итальянский, французский ...), а второй - другой список, который отличается для каждого языка (или немного отличается), поэтому контент должен загружаться каждый раз изменено.

Как я могу справиться с этим?

Пример:

Если я выберу английский, во втором поле со списком у меня будет: Красный / Фиолетовый / Черный Если я перехожу на греческий, у меня есть: красный / фиолетовый или красный / розовый ...

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

Привет.

Ответы [ 2 ]

0 голосов
/ 09 сентября 2010

Ну наконец-то я сделал то, что хотел.

Вот код:

void reloadItems()
{
    QString currentLanguage;
    currentLanguage=ui.ownLangComboBox->currentText();

    if (currentLanguage=="English")
    {
        ui.ownGendComboBox->clear();
            ui.ownGendComboBox->addItem("Male");
            ui.ownGendComboBox->addItem("Female");
    }

}

0 голосов
/ 08 сентября 2010

Да, это возможно.Я бы порекомендовал пойти одним из двух способов.

1) Разделить элементы второго поля со списком на множество полей со списком, каждый на своей странице сложенного виджета.Измените страницу сложенного виджета, которая отображается в зависимости от выбора первого поля со списком.

2) Разделите элементы второго поля со списком на несколько моделей и установите соответствующую модель для второго поля со списком на основевыбор первого поля со списком.

Если вы хотите стать более изящным и иметь место для этого в своем пользовательском интерфейсе, вы можете также рассмотреть возможность помещения всех данных в одну модель дерева и использования QColumnView..

...