QComboBox可以随意设置itemData的数值

如图所示:
QComboBox可以随意设置itemData的数值


static enum SchoolStuffType{
SCHOOLMASTER = 3,
DEAN = 5,
TEACHER = 60,
STUDENT = 128,
UNKNOWN = 0xffff
};
需求如下:
在组合框QComboBox控件中添加四条学校职员的类型信息。第一条类型信息校长,第二条类型信息是院长,第三条类型信息是老师,第四条类型信息是学生。而每个类型对应的数值相差比较大,并不是一般的按照从0开始的。因此在我们读写QComboBox类型信息的时候可能会遇到一些问题。
 
设置QCombox信息的代码片段如下:
(注,需用tr(“”).trimmed,以免出现乱码)
{
ui.comboBox->clear();
ui.comboBox->addItem(tr("校长").trimmed, (int)SCHOOLMASTER);
ui.comboBox->addItem(tr("院长").trimmed, (int)DEAN);
ui.comboBox->addItem(tr("老师").trimmed, (int)TEACHER);
ui.comboBox->addItem(tr("学生").trimmed, (int)STUDENT);
ui.comboBox->setCurrentIndex(1);
}
 
获取QCombox信息对应的学校职员类型信息代码如下:
{
//获取学校职员类型信息
 SchoolStuffType stuffType = (SchoolStuffType)ui.comboBox->itemData(ui.comboBox->currentIndex()).toInt(); 
//获取对应的字符串类型信息
 QString text = ui.comboBox->itemText(ui.comboBox->currentIndex());
}

Qt 获取 combo box 的内容  

2010-02-08 08:59:04|  分类: Linux 、windows |  标签: |字号小 订阅

1.怎样获取comboBox中的选定项值, 答:currentIndex()

2.如何初始comboBox中的默认项         答:setCurrentIndex()

 

要获取下拉框的内容可以通过首先获取下拉框的索引currentIndex()然后通过索引找到索引的内容如下:

ui->position->itemText(ui->position->currentIndex())


QMessageBox::warning(this,"warning","warning", "确定", "取消");
依次序从0 开始,这样的话,“确定”返回0,“取消”返回1
 
 
 ui->comBox->insertItem(1,"abc","apple");
 
    ui->comBox->currentIndex(); //1
    ui->comBox->currentText(); //abc
    ui->comBox->currentData(); //apple
    //可以动态取值
    connect(ui->comBox,SIGNAL(currentIndexChanged(int)),this, SLOT(slotLoadList(int)));
posted @ 2017-11-09 19:45  苍月代表我  阅读(884)  评论(0编辑  收藏  举报