如何使用自定义(不可编辑)委托创建模型/视图QTableView?

时间:2011-08-30 15:28:49

标签: qt delegates qt4 qtableview

以下是我想要获得的内容(这是基于QTableView的{​​{1}}小部件+ MVC ,其中包含乘法委托):

enter image description here

备注:

  • 代表a不是编辑,他们只是观众!我没有用这个表视图编辑模型。

  • 代表必须是可实现的。这意味着蓝色行的所有总高度可以是25px或250px。

  • MV是简单数据:

    1ROW:CompanyName1 Name1,Name2,Name3 OTHER DATA

    2ROW:CompanyName2 SingleName1 OTHER DATA

    3ROW:CompanyName3 Name1,Name2 OTHER DATA等等......

问题:

  • 是否可以创建自定义委托(QAbstractTableModelQItemDelegate),例如,如上图所示,向第二列创建?如果有可能的话,也许你可以给我一些例子或资源链接,我可以在哪里查看它们。

PS。是的,我已经与代表一起查看了所有 Qt Demo 示例,但我只是不明白,如何做我想要的。

PSS。 QStyleItemDelegate - > QTableView我认为这不是一个好主意。但是setIndexWidget() - > QTableView方法更好!

P3S。我找不到setItemDelegateForColumn( myCustomDelegate )班的解决方案......

感谢您的回复! : - )


更新#1:

  • 我认为:

    • 代表仅用于编辑(例如,如果我们使用模型/视图对象)并管理类似的项目(全部/只是列/只是行)。

    • 自定义小部件更好,但我没有在免费的Qt项目中遇到它们。获得这种小工具的漂亮和正确的代码并不容易......


增加:

  • 这是link相似性问题。

1 个答案:

答案 0 :(得分:0)

委托不仅可用于创建编辑中使用的小部件。它们还用于创建每个可见索引的整体外观(在本例中为表格单元格)。

您可以通过重新实现委托的paint()方法来自定义外观。