Qt ItemDelegate与ProxyModel子类

Qt ItemDelegate与ProxyModel子类,qt,qabstractitemmodel,qitemdelegate,qsortfilterproxymodel,Qt,Qabstractitemmodel,Qitemdelegate,Qsortfilterproxymodel,我必须创建一个表格,其中一些问题将来自db。每个问题将有两个单选按钮是/否,一个标签解释。。。和文本编辑。 首先,我在一个QScrollArea中创建了它,在这里,对于使用QSqlTableModel获取的数据库中的每个问题,都创建了所有必要的小部件并将其放入布局中 现在我想我最好在QListView中这样做,其中一个项目将是所有问题=其信息问题+2个单选按钮+标签+文本编辑+其布局。我想我可以很容易地用QAbstractItemDelegate完成它,所以我为它创建了一个子类,但是我遇到了一些

我必须创建一个表格,其中一些问题将来自db。每个问题将有两个单选按钮是/否,一个标签解释。。。和文本编辑。 首先,我在一个QScrollArea中创建了它,在这里,对于使用QSqlTableModel获取的数据库中的每个问题,都创建了所有必要的小部件并将其放入布局中

现在我想我最好在QListView中这样做,其中一个项目将是所有问题=其信息问题+2个单选按钮+标签+文本编辑+其布局。我想我可以很容易地用QAbstractItemDelegate完成它,所以我为它创建了一个子类,但是我遇到了一些问题。 这个问题根本没有显示出来,甚至连它的信息也没有显示出来。我应该改用ProxyModel的子类吗?我发现了一个非常有用的!子类,它为模型中的每个项添加了一个复选框,我想如果可以添加一个复选框,也许可以添加所有这些信息

有什么想法吗


如果需要任何代码,请进行注释。

Qt Model&View类只提供了一个附加复选框的功能,方法是将返回值包含在标记中。但是,Qt-MV类不允许任何自定义小部件(如单选按钮)用作委托

呈现小部件的一种方法是在qabstractemmodel::paint重新实现中使用,但当您有多个小部件(如本例中的小部件)并且它不处理交互时,这会变得很困难


更好的方法是使用,但请参见Qt开发人员谈论性能影响的内容。

我发现甚至可以添加一个单选按钮,但无论如何,它要复杂得多,而不是使其更具动态性,我只需要一个复杂的代码:所以我想它是无用的。我想我可以在qTreeView中这样做,将问题作为父项,将描述作为问题的子项,并在第二列中添加复选框Y/N。我将查看您推荐的文档。谢谢@tmcguire!