我有两个组合框:
第一个是语言(英语,意大利语,法语......),第二个是另一个不同语言(或略有不同)的内容列表,因此每次语言都必须加载内容改变了。
我该如何处理?
示例:
如果我选择英语,在第二个组合框中我有:红色/紫色/黑色 如果我改为希腊语,我有:红/紫或红/粉......
我正在使用Qt Designer,我有两个Combobox,其中包含所有可能的项目。
问候。
答案 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");
}
}