我想 - 将一个自定义小部件放入QTableView
的单元格中。 Widget可以是QPushButton
,复选框或其他内容。我尝试了以下方法,但没有人满足我:
QTableView::setIndexWidget()
。使用这种策略,customd-widget完全覆盖整个小区。绝对,委托绑定到QTableView
不起作用,这意味着双击()不会在单元格上进行编辑操作。请注意,该功能是独立的,就像插件一样。所以我不能做以下事情。
QTableView
。我只能获得与QTableView
绑定的指针变量----只有QTableView
的对象。问题非常复杂,太多限制因素限制了设计。
答案 0 :(得分:0)
如果您想使用模型/视图来包含窗口小部件的数据,则无法在没有委托的情况下执行此操作。更糟糕的是,如果你尝试这样做,当元素数量非常高时,你将大大减慢程序的速度,因为每个小部件都将参与事件循环。这不是你想要的。您希望仅使用 用户可见的小部件。
考虑reading this以获得更多解释。
答案 1 :(得分:0)
感谢所有人为这个问题做出贡献,我找到了解决这个问题的方法。 它被解析为"原始思想",它只是使用QModelIndex在tableView上绘制QToolButton。通过QModelIndex,我可以得到我可以绘制任何QWidget的几何位置。但是,这个方法非常复杂,因为我必须维护QModelIndex的更改,比如removeColumns和insertColumns。
另一个问题是我必须区分hide& amp;删除列或行。而且我想我应该发布另一个新问题来寻求帮助。 再次感谢。