• 6395阅读
  • 4回复

combobox如何添加外部变量? [复制链接]

上一主题 下一主题
离线solu
 
只看楼主 倒序阅读 楼主  发表于: 2009-09-09

在QT助手里面查到有如下方法好像可以添加变量:
  1. void QComboBox::addItem ( const QString & text, const QVariant & userData = QVariant() )


不知道这第二个参数如何使用呢?可以添加任意的变量吗?

谢谢!
离线dbzhang800

只看该作者 1楼 发表于: 2009-09-09
这个,首先要清楚你要做什么。你所谓的添加变量又是什么效果。

第二个参数 userData 和 第一个参数 text 性质类似嘛,你认为第二个是变量为什么不认为第一个也是呢?


QVariant itemData ( int index, int role = Qt::UserRole ) const
void setItemData ( int index, const QVariant & value, int role = Qt::UserRole )
离线solu
只看该作者 2楼 发表于: 2009-09-09
引用第1楼dbzhang800于2009-09-09 11:20发表的  :
这个,首先要清楚你要做什么。你所谓的添加变量又是什么效果。
第二个参数 userData 和 第一个参数 text 性质类似嘛,你认为第二个是变量为什么不认为第一个也是呢?
.......


恩。我知道我要做什么。举个例子吧,假设有个数据库的表 table(id int,name varchar),

我从数据库里面把每条数据读出来,将name放在combobox里面,并且使用者能够看到;同时将id也放在相应的combobox的item里面,但是使用者看不到这个id。

因为这个id对我的下一步操作有用,所以我打算把它和name一起放在combobox里面。

第二个参数和第一个参数类似吗?可以使任何类型,会不会显示在combobox里面呢?

能够举个例子吗?比如说int型的。

谢谢!
离线dbzhang800

只看该作者 3楼 发表于: 2009-09-09
这样的话,没什么问题,直接用就好了。

addItem ( “text” ,  123 )

setItemData (index, 123 )

itemData ( index ).toInt()  //123
离线solu
只看该作者 4楼 发表于: 2009-09-09
好的,谢谢!!

已解决了!
快速回复
限100 字节
 
上一个 下一个