窗口小部件作为QTableView中的数据

时间:2016-02-08 14:21:36

标签: qt pyqt pyqt4 qtableview model-view

我正在尝试按如下方式创建基于表的界面:

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

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

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

1 个答案:

答案 0 :(得分:1)

想出来。

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