比如要把以下的内容转到combo box里,一级combo box显示Quality, BedNum, BedType, Internet这四项,二级combo box只有两项,根据一级combo box里选中的条目,动态匹配:如一级下拉列表选中的是BedNum,那二级下拉列表里的选项就是Two,One
Quality={High,Low}
BedNum={Two,One}
BedType={King,Queen}
Internet={Yes,No}
没有找到官方的做法,我的做法是先把这些数据读到动态数组里,AttrNum表示属性条数,这里是4,动态数组QString attrName[AttrNum][3]里存这些单词。其中attrName[AttrNum][0]存的是一级combo box的内容,attrName[AttrNum][1]和attrName[AttrNum][2]存的是二级combo box的内容。这些准备工作都做好后,就可以开始了
先把一级combo box的内容放进comboBox控件里,这个简单,可以用addItem或addItems.
for(int i=0;i<AttrNum;i++)
ui->comboBox->addItem(attrName[i][0]);
再把二级combo box的内容放进comboBox_2控件里:
void FormulaDialog::on_comboBox_currentIndexChanged(int index)
{
ui->comboBox_2->clear();