我想把一个自定义的小部件放入
QTableView
的单元格中。这个小部件可以是 QPushButton
,也可以是复选框或其他东西。我尝试了以下方法,但都不满足我的要求:
- 使用委托。这种策略可以绘制小部件,但不能是自定义小部件,并且不能交互。
- 使用
QTableView::setIndexWidget()
。使用此策略,自定义小部件完全覆盖单元格,绑定到QTableView
的委托无法工作,这意味着双击单元格不会进行编辑操作。
请注意,该函数是独立的,就像插件一样。因此,我不能做以下事情。
- 从
QTableView
继承。我只能得到一个与QTableView
绑定的指针变量——只有QTableView
对象。 - 从任何模型继承。该模型由其他用户控制,编写模型的程序员不应该也不能使用我的自定义模型。
问题非常复杂,太多限制限制了设计。