问题标签 [qabstractlistmodel]
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.
java - Qt Jambi:QAbstractListModel 未在 QListView 中显示
我已经在 Qt Jambi 4.4 中创建了QAbstractListModel
该类的实现,并且发现使用带有 a 的模型QListView
不会显示任何内容,但是使用带有 a 的模型可以QTableView
正确显示数据。
以下是我的实现QAbstractListModel
:
这是我设置模型的方式:
谁能看到我做错了什么?我想这是我的实现的问题,因为正如每个人所说,选择并没有坏!
c++ - 使用模型作为 QMenu 的源
我创建了一个列出现有配置的模型(假设它列出了“文件”,因为这在这里并不重要)。到目前为止,它在附加到QListView
.
例子:
是否可以使用相同的模型进行动态更新QMenu
?
就像是:
简而言之:有什么方法可以根据模型(派生自)创建动态更新QAction
的 s 列表(分组到相同的 s中)?QMenu
QAbstractListModel
c++ - 如何自定义 QListView 的显示
我已经在我的Qt
程序中实现了一个用户列表,使用Qt
. 我的QListView
显示一个子类,QAbstractListModel
到目前为止这工作得很好。
现在我想自定义我的用户列表的显示(在多行显示名称,添加 IP 信息,等等:不是很相关,我只是想要一些真正自定义的东西)。
我在文档中找不到Qt
与此相关的任何内容:我的选择是什么?
注意:列表中的项目不需要(不能)修改,如果这有帮助的话。
谢谢你。
python - 使用文件监视使用 PyQt4 刷新日志查看器
我使用 PyQt4 在 Python 中实现了一个非常简单的日志查看器。
我有兴趣使用它来跟踪程序的执行,因此当新行附加到日志文件时必须刷新列表视图。
这是我的实现(没有手表):
如前所述,应用程序按预期工作:打开文件,解析内容(拆分' : '
并创建一个列表),并使用QListView
.
有一个QFileSystemWatcher
类发出fileChanged
信号,但我不知道connect
它在哪里以及如何触发向数据添加一行并刷新视图事件。
有什么帮助吗?
谢谢。
qt - 如何将 QModelIndex 与新行关联?
我已经制作了一个QAbstractListModel
模型索引,其中包含一个我处理数据绝对需要的指针。我像这样添加数据:
直到后来我才意识到参数beginInsertRows
是要求新行的父模型索引,而不是新行的实际模型索引。
所以,在这个时间点,Qt 没有让我提供QModelIndex
与这个特定行相关联的方法。如何为这个新行创建自己的模型索引?
listview - 如何从 QML 中的列表视图访问 currentItem 的角色?
我正在尝试从 QML 中的 ListView 访问角色。本质上,我的 QML 中有这个:
myModel
是一个 QAbstractListModel 实现。其中的 QML 部分是一个可重用的组件,因此该模型可以具有具有各种数据类型的任意数量的不同角色。我想做的是绑定到currentItem
ListView 属性的给定角色的值。换句话说,我想Component
在页面上有一些其他的可以将属性绑定到 ListView 中当前选定的项目,如下所示:
请记住,我需要这个通用可用的,因为我会为许多模型类型做很多事情,并且我试图不为每个模型和 ListView 编写那种自定义代码。
访问当前选定项目的属性似乎应该很简单,但据我所知,这是不可能的。当只有一个角色时,模型似乎受到不同的对待,这一事实使问题变得更加复杂。我的意思是有时您通过访问您的角色,model.roleName
而当您只使用一个角色时modelData
。
如果有人有任何建议,我将不胜感激。非常感谢!
编辑
我找到了这个:
http://comments.gmane.org/gmane.comp.lib.qt.qml/1778
但是,这似乎对我不起作用。当我尝试在 QML 脚本中使用数据时遇到类型错误,并且没有可用的类型转换,所以我不知道该怎么做。欢迎任何建议!
谢谢!
杰克
qt - 将 SelectionDialog 模型设置为继承 QAbstractListModel 的模型;没有项目显示
我无法在 qml 的 SelectionDialog 中显示 C++ 中定义的模型中的项目。我正在尝试为 Meego 操作系统制作应用程序。
如果我在 ListView 中显示项目,一切都会按预期工作并显示项目。但是,如果我尝试在 SelectionDialog 中显示它们,我会得到一个空列表。
这是一些代码:
语言模型.h:
语言模型.cpp:
从 handler.cpp 添加语言,如:
其中 modelLanguages 是一个语言模型。
我想在 Settings.qml 中显示列表:
当我打开 dialogLanguages 时,我只能看到标题“选择语言”,而没有模型中的任何项目。
如果我将其用作模型,则效果很好:
此外,正如我已经提到的,如果我将 modelLanguages 设置为 ListView 中的模型,则所有项目都会正确显示。
任何人都可以帮助并告诉我我在这里做错了什么以及我必须改变什么才能让它工作。
任何帮助表示赞赏!
谢谢!
qt - QAbstractListModel 和 QList 适配器
我的应用程序存储了一些从对象继承的类型的
QAbstractListModel
对象。
当使用一般的添加、删除和多选功能将简单
std::vector<T>
或 a包装到模型中时,这会生成大量重复代码。QList<T>
是应该使用这种方式QAbstractListModel
还是有一些适配器类可以删除重复的代码(至少对于作为 Qt 一部分的容器)?
示例:我想将其包装vector<ObjectA>
成vector<ObjectB>
一个模型。insertRows
,等的代码总是相同的deleteRows
,columnCount
我想巩固一下(通过一些元编程甚至可以与tuple
and一起工作data
)。
qt - QAbstractTableModel 数据返回html代码显示
我希望我的 AbstracttableModel 子类data()
方法返回 html 即
并且此文本必须以 html 格式显示 int 表: PreText Text PostText
我怎样才能做到这一点?
gridview - 在运行时更改 QML GridView 模型
我在 QT 和 QML 中定义了一个基于 QAbstractListModel 的类,我将此模型设置为 GridView。它工作完美。如果我更改模型中的数据,我会调用重置函数,GridView 会显示更新的数据。但有时我会更改完整的模型数据(即不仅数据更改,而且其计数也更改)。在这种情况下,当我重置数据时,GridView 不会显示更新的模型。我还尝试为我的模型创建一个新对象并更改了 GridView 模型,但仍然没有效果。
这是基本的代码片段。
在我看来,数据正在发生变化,但 GridView 并未使用新数据进行更新。
任何帮助表示赞赏。
最好的问候, Farrukh Arshad