关于使用代理在QTableView上显示控件

weixin_38091479 2019-09-19 04:09:18
首先我先继承代理类class SNodeInfoDelegate : public QItemDelegate{public:    SNodeInfoDelegate(QObject *parent);    QWidget* createEditor(QWidget *parent, const QStyleOptionViewItem &option,                          const QModelIndex &index) const;    void setEditorData(QWidget *editor, const QModelIndex &index) const;    void setModelData(QWidget *editor, QAbstractItemModel *model,                      const QModelIndex &index) const;    void updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option,                              const QModelIndex &index) const;};如此我已经可以实现在QTableView上显示控件,只是每次需要判断一下index.row()和column(),然后处理,但是这个方法档数据量很大时程序变得很不好读,而且也不灵活,特别是绑定多个model/view的时候没法处理不知有没有方法可以根据来源数据进行处理,我的第一个想法是重载QModelIndex然后绑定数据,但发现model和view的诸多类都要重写,有没有其他的解决方案
...全文
167 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复

433

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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