QComboBox可以随意设置itemData的数值

如图所示:
QComboBox可以随意设置itemData的数值_第1张图片


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());
}
http://blog.sina.com.cn/s/blog_63d0ff2d0100yfke.html

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
 
http://jesserei.blog.163.com/blog/static/1214116892010188594716/
 
  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 )));

你可能感兴趣的:(QComboBox可以随意设置itemData的数值)