所谓组合框,就是带有下拉列表的可选框,如图所示 组合框具有三个属性 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; }