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

昵称很不好取 2012-10-12 09:24:21
想要实现编辑某个listview的item的某列时,出来可以下拉的列表框,只能从列表框中选择某些值而不是让用户手工输入。
listview和listviewitem这两个class我已经自定义。
这个如何实现呢?
...全文
553 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
请问:allencui0313 或者楼 可不可以给一段小例子,我新手菜鸟一个,不太懂你写的 真心感谢!!!
  • 打赏
  • 举报
回复
good luck~~
  • 打赏
  • 举报
回复
Qt3.完全空白哈。。

看看有没有可以重写的地方~~
昵称很不好取 2012-10-12
  • 打赏
  • 举报
回复
了解,多谢多谢~~
我自己再研究下,看 QStyledItemDelegate在qt3里有没有替身
  • 打赏
  • 举报
回复
在Qt4里面哈。。

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

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

昵称很不好取 2012-10-12
  • 打赏
  • 举报
回复
QStyledItemDelegate是装饰listviewitem的一个内置class吗?
  • 打赏
  • 举报
回复
Qt4是这样玩的。Qt3没玩过。不好意思哈~
昵称很不好取 2012-10-12
  • 打赏
  • 举报
回复
这玩意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哈~

16,212

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧