qt中如何在listview的某一个column中加入combobox功能?

昵称很不好取 2012-10-12 09:24:21
想要实现编辑某个listview的item的某列时,出来可以下拉的列表框,只能从列表框中选择某些值而不是让用户手工输入。
listview和listviewitem这两个class我已经自定义。
这个如何实现呢?
...全文
395 点赞 收藏 11
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
请问:allencui0313 或者楼 可不可以给一段小例子,我新手菜鸟一个,不太懂你写的 真心感谢!!!
回复
good luck~~
回复
Qt3.完全空白哈。。

看看有没有可以重写的地方~~
回复
了解,多谢多谢~~
我自己再研究下,看 QStyledItemDelegate在qt3里有没有替身
回复
在Qt4里面哈。。

QListView 有个默认的delegate 用于呈现每个item.就是用来展示每个item的。
QListView::paint()的时候会调用delegate来画每个item..
不晓得我说清楚没。

你说的listviewitem在Qt4里面没这个东西呢。

回复
QStyledItemDelegate是装饰listviewitem的一个内置class吗?
回复
Qt4是这样玩的。Qt3没玩过。不好意思哈~
回复
这玩意qt3支持吗?
我需要用qt3
回复
然后
view->setItemDelegate(....你的delegate)... ok
回复
class MyDelegate: public QStyledItemDelegate
{
//创建你编辑时候的控件
QWidget* createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const;
//编辑的时候设置数据到上面创建的editor中。
void setEditorData(QWidget *editor, const QModelIndex &index) const;
//编辑完成,保存数据到data中
void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const;
//设置编辑控件的位置和大小。样式等
void updateEditorGeometry ( QWidget * editor, const QStyleOptionViewItem & option, const QModelIndex & index ) const;


}

QWidget* createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const;这个方法里创建你编辑时候需要的控件~
回复
自定义delegate哈~
回复
相关推荐
发帖
Qt
创建于2009-11-04

1.3w+

社区成员

Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
申请成为版主
帖子事件
创建了帖子
2012-10-12 09:24
社区公告
暂无公告