小部件作为 QTableView 中的数据

Posted

技术标签:

【中文标题】小部件作为 QTableView 中的数据【英文标题】:Widgets as data in QTableView 【发布时间】:2016-02-08 14:21:36 【问题描述】:

我正在尝试制作一个基于表格的界面,如下所示:

| QComboBox | QPushButton | Empty       |
| Some data | Some data   | QPushButton |
| Some data | Some data   | Empty       | (all additional rows resemble this one)

在第一行,我想要一个QComboBox,其中包含一些基于另一个函数的返回值定义的选择,并且QPushButtons 附加到将插入或删除数据的触发器。

假设我可以自己生成QComboBoxQPushButtons,我怎样才能将它们插入到这些位置的QTableView 中?我目前有一个模型可以正确存储需要在标记为“某些数据”的位置显示的数据,并且不返回特殊或“空”位置的数据,我有一个 QStyledItemDelegate 应该插入这些小部件,但它只在我双击该字段时插入它们(我想这是createEditor 的触发器)。

【问题讨论】:

相关:***.com/questions/30457935/… 【参考方案1】:

想通了。

QAbstractItemView(以及扩展名QTableView)有一个名为setIndexWidget 的方法,可用于将小部件放置在某个位置。通过使用该方法,我可以在初始化时插入适当的小部件,而完全不依赖委托。

【讨论】:

以上是关于小部件作为 QTableView 中的数据的主要内容,如果未能解决你的问题,请参考以下文章

Qtableview,在行之间添加小部件

QTableView 将小部件缩小到内容

如何调整包含 QTableView 的小部件的大小?

Qt 在 QTableView 中设置自定义小部件

QTableWidget

QTableView 并双击一个单元格