所谓组合框,就是带有下拉列表的可选框,如图所示
组合框具有三个属性 a. 位置index(第一项为0);b. 文本text ;c. 关联数据data(每一项都可以关联一个数据)。所谓关联数据就是文本的简化符号,类似于宏。
一、 首先在Qt Designer 中创建界面,Combo Box创建组合框并更改属性,PushButton创建确定按钮;
这里的组合框中可以添加所需要的文本,也可以在vs中利用addItem()函数进行添加,我们在这里采取后者;
二、利用函数addItem()添加项目,这是按顺序添加,也可以用insertItem()函数插入项目
// 为Combo Box 添加项目和关联数据
ui.cmboxLang->addItem("Chinese","ch");
ui.cmboxLang->addItem("English","en");
ui.cmboxLang->addItem("French","fr");
ui.cmboxLang->insertItem(2,"Korean","kr");
三、 建立信号和槽的关联,使按下确定按钮后进入响应函数
// 连接信号和槽
connect(ui.btnOK, SIGNAL(clicked()),this, SLOT(OnbtnOK()));
四、 我们在响应函数中返回用户选择的项目的位置index 和 对应的关联数据data,并通过if语句来显示用户的选择正确与否,如果选择了English,则弹出对话框Right。
int Qt5_3A::OnbtnOK()
{
int index = ui.cmboxLang->currentIndex();
QString data = ui.cmboxLang->itemData(index).toString();
QString text = ui.cmboxLang->itemText(index);
if (data=="en")
{
QMessageBox::information(this,"OK","Right");
}
return 0;
}