带有自定义视图小部件的QItemDelegate



Qt 5.5有一个虚拟方法来定义用于编辑模式的自定义小部件:

QWidget *createEditor(QWidget *parent,const QStyleOptionViewItem & option ,const QModelIndex & index ) const

但是如何使用自定义小部件来覆盖"视图"模式呢?我看到了使用paint方法的"星级评定"代表示例,但这不是我所需要的。我需要显示一个包含其他标准小部件的自定义小部件,并在QTableViewQListView的视图模式中使用它。不需要麻烦绘制指针和图形——只需显示一个自定义小部件(具有.ui文件),并包含其他标准小部件及其行为。

例如:有一个下载管理器应用程序可以将下载显示为表格或列表视图。带有下载列表的QListView。每次下载都有URL、Title、TotalSize、DownloadedSize、ProgressBar、Pause按钮、Remove按钮和Resume按钮。所有这些都可以是表中的列(QTableView),也可以类似于一个单元格中HTML的DIV(QListView小部件)

如何实现?有类似QWidget *createViewer(...的东西吗?

QtWidgets不使用QML。

对于静态内容,可以使用QAbstractItemView::setIndexWidget

对于动态内容,唯一的选择是在您的委托类中实现paint方法。

相关内容

  • 没有找到相关文章

最新更新