• 14379阅读
  • 7回复

Qt::UserRole  这个代表什么啊? [复制链接]

上一主题 下一主题
离线kanyou222
 
只看楼主 倒序阅读 楼主  发表于: 2011-04-29
comboBox->itemData(comboBox->currentIndex(), Qt::UserRole)

这个itemDate()函数的第二参数Qt::UserRole  是什么意思啊

它有什么作用啊,


manul 中解释,我也没看懂
Qt::UserRole    The first role that can be used for application-specific purposes.
它表示什么啊,
[ 此帖被kanyou222在2011-04-29 19:21重新编辑 ]
离线ppdayz

只看该作者 1楼 发表于: 2011-04-29
就是你能存你自己的数据
你看setText()
就是Qt::DisplayRole
离线kanyou222
只看该作者 2楼 发表于: 2011-04-30
回 1楼(ppdayz) 的帖子
那这个 itemData()函数就是指返回  当前在comboBox框中所选择的项  即该项中存储用户自定义的值     是不是这样?
离线ppdayz

只看该作者 3楼 发表于: 2011-04-30
回 2楼(kanyou222) 的帖子
比如说
void QComboBox::insertItem ( int index, const QString & text, const QVariant & userData = QVariant() )
comboBox->inserItem(0, "text", "data");

就可以用
QVariant QComboBox::itemData ( int index, int role = Qt::UserRole ) const
qDebug() << comboBox->itemData(0).toString();

就是"data"

data类型都是自己定的
[ 此帖被ppdayz在2011-04-30 20:31重新编辑 ]
离线kanyou222
只看该作者 4楼 发表于: 2011-04-30
回 3楼(ppdayz) 的帖子
那这个函数 itemData()
这个函数的两个参数的意思是: 第一个参数就决定取那项;第二参数就表示,取出该项的数据,该数据应该如何表示,就由该函数的第二参数来确定了,如  Qt::UserRole 这个参数 就 告知,取出的数据应该是用  用户自定义的类型来表示。 是不是这样的?
离线ppdayz

只看该作者 5楼 发表于: 2011-04-30
是的~~~ 有些时候很有用的
离线kanyou222
只看该作者 6楼 发表于: 2011-04-30
回 5楼(ppdayz) 的帖子
谢谢你的帮助,thank you
离线ppdayz

只看该作者 7楼 发表于: 2011-04-30
大家一起学习~
快速回复
限100 字节
 
上一个 下一个