问题标签 [qlistview]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4916 浏览

qt - Qt:使用拖放重新排序 ListView 项目

我已经实现了以下拖放方法

我有一个 QListView 并使用 setIndexWidget() 在每个模型索引处显示一个自定义小部件。我正在尝试使用拖放来排列列表视图中的项目,但是列表视图中的项目排列不正确,我编写了以下代码:-

我已经搜索但没有得到任何适当的解决方案。谢谢

0 投票
1 回答
803 浏览

qt4 - 如何替换 Q3ListView/Q3ListViewItem 实用程序?

我正在更新一些旧代码,不幸的是这些代码严重依赖于 Q3ListView 和 Q3ListViewItem,它现在已经过时的小助手类。

我假设我现在可以在没有项目层的情况下填充 QListView,但是在查看文档时,我仍然没有很好地掌握这一点。我发现的一个教程用 QStandardItems 填充 QStandardItemModel,然后将其设置为 QListView 的模型,但我也遇到了一个看起来可能很有趣的 QAbstractListModel 类。提出了几个问题:

- QListView 基本上是通过设置一些“模型”来填充的,它本身就填充了项目?

- 在我拥有的旧版本中,Q3ListViewItem 的子类如下:

考虑到现在可用的选项,重新实现这个想法的最佳方法是什么?

0 投票
1 回答
780 浏览

qt - 在 QListView 上为 indexWidgets 安装 eventFilter

我有一个带有一些组件(combobox、lineEdit、labels..etc)的 customWidgets,这个 customWidget 是使用 setIndexWidget(QModelIndex,QWidget) 添加到 QListView 的,我的要求是当我单击 customWidget 上的任何组件时,QListView 项目应该得到选择/聚焦。

如何从 cutomWidget 到 QListView 安装EventFilter,我已经为 customWidget 安装了事件过滤器。

谢谢

0 投票
1 回答
469 浏览

pyqt4 - 为什么单击 qlistview 中的项目会在拖放后将它们恢复到以前的状态?

我已经实现了拖放以在列表视图中重新排序项目,并且我的所有调试输出都表明它工作正常。但是,当我再次选择一个项目时,它会恢复到视图中之前的状态,当它被取消选择时,模型中也会发生这种变化。
例子:

希望这是有道理的。有什么建议为什么会发生这种情况?(代码示例很困难,因为这是大型应用程序的一部分)

编辑:这是我能为代码做的最好的事情。

自定义列表视图(我有一个自定义列表视图,因为它需要在项目移动时发出信号,并且 indexMoved 似乎已损坏):

使用它的 gui(只是一个带有自定义列表视图的表单,在 qt 设计器中创建):

0 投票
1 回答
1331 浏览

python - 如何判断项目在 qlistview 中的放置位置?

我有一个自定义 QListView:

而且我真的需要知道拖放操作后项目被放置在哪里,以便可以正确更新其他内容(我试图将拖放放入从未设计过的东西,大型应用程序,而不是我的设计)。选择模型的当前索引和选择不跟随丢弃的项目,它们有效地选择一个新项目并将事情搞砸。有没有办法让它们随着掉落的物品一起移动?信号 indexMoved 看起来和我想要的完全一样,但它永远不会触发。我用错了吗?有没有不同/更好的方法?

0 投票
1 回答
2348 浏览

python - 如何使用 Qt.UserRole 对 Qt QListview 中的项目进行排序

我在对QListView我指定的字段中的使用值中的项目进行排序时遇到了一些问题。

基本上我想要做的是:

  1. 检测照片集合中的人脸并将其显示在QListView
  2. 聚类人脸(图像)
  3. 通过将列表中属于同一集群的项目(它们是面部图像)放在一起来更新视图。具体来说,如果项目 1、3、5 在一个集群中,而项目 2、4、6 在另一个集群中,则项目 1、3、5 应该在显示项目 2、4、6 之前显示(以任何排列方式)或相反亦然。

我这样做的方法是将列表中的UserRole每个字段设置为QStandardItem集群标签,然后尝试QStandardModel根据 this 进行排序UserRole。然后,这将显示同一集群中的项目(即在 中具有相同的集群标签UserRole)彼此相邻。

我能够为UserRole项目设置成功,但调用排序函数QStandardModel并没有对项目进行排序,即使我将排序角色设置为默认值DisplayRole(即根据每个面的文本标签排序)它的工作方式为故意的。

谁能告诉我我的代码有什么问题或提供替代方法?我用谷歌搜索了排序列表,并在QSortFilterProxyModel上找到了以下链接,但由于我对 Qt 很陌生,因此无法适应我的情况。

提前感谢任何回复。

以下是相关代码:

0 投票
1 回答
1630 浏览

qt - QML:菜单下拉问题

如图所示,如何在 QML 的下拉功能中获取不同的项目容器。

在此处输入图像描述

我使用 listview 尝试了以下实现中的要求,但无法得到相同的结果。下面是片段

通过上述方法,我得到如下所示的下拉菜单,这不符合要求。

我尝试了各种方法,但我无法通过正常工作来达到确切的要求 在此处输入图像描述

0 投票
1 回答
8827 浏览

qt - QListView 项的拖放

请帮我解决这个问题....我QListView在左侧有一个QWidget,在另一侧有一个。在QListView我使用QStandardItem. 现在我想将项目拖放QListView到另一边QWidget,我也必须这样做QWidgetQListView我可以通过使用将我的项目拖放到自身内部QListView

这仅在 QListView 内工作正常。我想将 QListView 项目拖放到另一个小部件。我怎样才能做到这一点?我知道我必须像这样处理事件

我只是这样尝试

正如我刚刚尝试使用一些qDebug() 一样当我从我的项目中拖动一个项目QListView并将其放入其中QWidget 并将输出作为"Items Dropped"时,这是有效的。但我不知道如何将我的确切QListView物品带到这里。

0 投票
2 回答
216 浏览

c++ - QT4 qlistview保存图标位置手动移动下次

我正在使用 qt4.3 开发一个应用程序,它会打开一个窗口,其中包含从 .desktop 文件加载的一堆图标。它试图模拟文件浏览器,但没有文件浏览......我的意思是,您可以双击并打开应用程序或将图标拖动到不需要附加到网格的其他位置。

我在“图标模式”下使用 qdirmodel 和 qlistview。

我的问题是,一旦我移动了图标,我就无法保存它们的位置。每次我重新启动应用程序时,我都会在默认位置加载图标。我找不到任何方法来了解项目的位置或将项目移动到某个位置。

我该做什么?我有机会吗?

谢谢!

0 投票
1 回答
986 浏览

qt - 如何正确获取 QListView 的大小

我正在创建一个简单的小部件,其中包含一个带有图标的 qlistview 和一个 QSlider。小部件是使用 Qt 设计器创建的。我想要做的是让我的图标完全适合 QListView 的高度,以便我有一行图标。我试图通过使用从 QWidget 继承的函数来读取 qlistview 的高度,但我不断得到一个始终小于 QListView 实际大小的值。关于这种行为的任何提示?

我在下面给出我的部分代码。

表单的构造函数:

我的模型的数据函数:

该小部件在垂直布局中仅包含一个 QListView 和一个 QSlider。问题是对 ui->commandListView->geometry().height() 的调用没有给出真正的 qlistview 高度,我也尝试过 ui->commandListView->height() 或 ui->commandListView->frameGeometry( )。高度()。