是否可以动态连接两个QCombobox?

时间:2010-09-08 10:36:33

标签: qt list combobox

我有两个组合框:

第一个是语言(英语,意大利语,法语......),第二个是另一个不同语言(或略有不同)的内容列表,因此每次语言都必须加载内容改变了。

我该如何处理?

示例:

如果我选择英语,在第二个组合框中我有:红色/紫色/黑色 如果我改为希腊语,我有:红/紫或红/粉......

我正在使用Qt Designer,我有两个Combobox,其中包含所有可能的项目。

问候。

2 个答案:

答案 0 :(得分:0)

是的,有可能。我的建议是采用两种方式之一。

1)将第二个组合框的项目拆分为多个组合框,每个组合框位于堆叠小部件的各自页面上。根据第一个组合框的选择更改可见的堆叠小部件的页面。

2)将第二个组合框的项目拆分为多个模型,并根据第一个组合框的选择在第二个组合框上设置相应的模型。

如果你想在UI中获得更多的空间并有空间,你也可以考虑将所有数据放入一个树模型并使用QColumnView

答案 1 :(得分:0)

好吧,最后我做了我想做的事。

这里是代码:

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

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

}