小部件作为 QTableView 中的数据
Widgets as data in QTableView
我正在尝试制作一个基于 table 的界面,如下所示:
| QComboBox | QPushButton | Empty |
| Some data | Some data | QPushButton |
| Some data | Some data | Empty | (all additional rows resemble this one)
在第一行中,我想要一个 QComboBox
,其中包含一些基于另一个函数的 return 值定义的选择,并且 QPushButton
附加到触发器将插入或删除数据。
假设我可以自己生成 QComboBox
和 QPushButton
,我怎样才能将它们插入这些位置的 QTableView
?我目前有一个模型可以正确存储需要在标记为 "Some data" 的位置显示的数据,并且 return 没有特殊或 "Empty" 位置的数据,我有一个 QStyledItemDelegate
应该为我插入这些小部件,但它只会在我双击该字段时插入它们(我想这是 createEditor
的触发器)。
想通了。
QAbstractItemView
(以及扩展名 QTableView
)有一个名为 setIndexWidget
的方法,可用于将小部件放置在某个位置。通过使用该方法,我可以在初始化时插入适当的小部件,而无需完全依赖委托。
我正在尝试制作一个基于 table 的界面,如下所示:
| QComboBox | QPushButton | Empty |
| Some data | Some data | QPushButton |
| Some data | Some data | Empty | (all additional rows resemble this one)
在第一行中,我想要一个 QComboBox
,其中包含一些基于另一个函数的 return 值定义的选择,并且 QPushButton
附加到触发器将插入或删除数据。
假设我可以自己生成 QComboBox
和 QPushButton
,我怎样才能将它们插入这些位置的 QTableView
?我目前有一个模型可以正确存储需要在标记为 "Some data" 的位置显示的数据,并且 return 没有特殊或 "Empty" 位置的数据,我有一个 QStyledItemDelegate
应该为我插入这些小部件,但它只会在我双击该字段时插入它们(我想这是 createEditor
的触发器)。
想通了。
QAbstractItemView
(以及扩展名 QTableView
)有一个名为 setIndexWidget
的方法,可用于将小部件放置在某个位置。通过使用该方法,我可以在初始化时插入适当的小部件,而无需完全依赖委托。