1

我想为 QListView 实现我自己的小部件。像这样: 在此处输入图像描述 如果我点击这个小部件,我想做点什么。

随着时间的推移,我只对 ListView 的 QML 版本有经验。有人可以解释如何将此小部件插入到 QListView 中吗?

问候

更新

在我的项目中,我想要一个这样的 GUI: 在此处输入图像描述 在我的第一个 ListView 中,我想显示项目,它也有一个 ListView。每个项目的文本都可以更新。

4

1 回答 1

2

有2种方式:

  1. 为每个索引设置自定义小部件:QAbstractItemView::setIndexWidget。注意:与小部件的交互可能存在问题。这种方式通常仅用于显示静态内容。
  2. 创建自定义QStyledItemDelegate并覆盖 editorEvent 方法。有关详细信息,请参阅模型视图编程

更新:我建议你下一个设计:

  1. 使用图像列表+“动态内容”+标签创建小部件
  2. 创建具有垂直布局的 ScrollArea 并在那里添加小部件 (1.)

(2.) 比简单的列表视图更受欢迎,因为列表视图不是为这种情况设计的。Listview 设计用于显示一些数据,但不作为其他复杂小部件的容器。

优点:您将拥有完全可交互的小部件。

缺点:您需要编写一些代码;)

于 2013-10-01T12:27:36.830 回答