问题标签 [qstringlistmodel]

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 回答
295 浏览

c++ - Qt:当 QListView 获取新条目时如何更新 QStringList

我有一个QListView _listView谁的模型是QStringListModel _model,谁QStringList_locations。这是代码:

和编辑的插槽_listView

在列表视图小部件中编辑列表后,我想将其存储在文件中。当我存储 _locations 时,它会从代码的第一行保存原始列表,即使我添加了新项目。

_locations每当我在 中创建新条目时,如何使代码更新_listView,或者至少如何获取在 中可见的列表_listView

0 投票
1 回答
1487 浏览

python - 使用 Python 从 QML 中动态创建的列表中访问数据

我在 QML 中有一个列表并将其显示在 listView 对象中。按下按钮时,我需要从 python 访问这些数据。在 Python 中,我创建了一个 QStringListModel 对象,并使用 setContextProperty 将它绑定到我在 QML 中的 listModel。我可以看到在 QML 中按预期创建和显示列表,但是当我想从 python 访问数据时,列表是空的。这是代码:

质量管理体系:

Python:

我的印象是,当我们使用 python 绑定时,在 python 中创建的对象绑定到 QML 对象。因此,如果 QML 列表有数据(在 UI 中动态创建),python 列表应该自动填充该数据吗?我错过了什么?

0 投票
1 回答
55 浏览

c++ - 如何根据设置的视图调整模型?

情况

我有一个单一的 Qt 模型,特别是一个从 QStringListModel 派生的 StringModel,称为“模型”。

我有三个视图,特别是三个 QListView,分别称为“listView_1”、“listView_2”和“listView_3”。

所有这三个 QListViews 都设置为一个模型,即:

并发症

虽然我希望所有三个视图都引用同一个模型,但它们从该模型显示的数据应该略有不同。模型中规定视图中显示哪些数据的函数是从 QStringListModel 继承的“数据”成员函数,定义为:

上面代码中的第 12 行返回要在视图上显示的数据,这就是我想根据视图改变的返回语句。

问题

模型视图控制器最佳实践表明我们应该能够保持模型不变并通过细微的调整来更改视图。因此,如果不为 3 个视图定义 3 个模型,我将如何调整我的数据函数以根据设置的视图返回不同的语句?或者,用一句话总结,我如何根据设置的视图调整模型?

0 投票
1 回答
383 浏览

qt - 将 Combobox 与 QStringList 模型一起使用时出现 QML 错误“未定义模型数据”

我是 Qt 和 QML 的新手。我想使用带有 QStringList 模型的组合框来显示我的列表。但是,它根本不起作用。下面是相关的源代码。

ListModelResourceManager.hpp

主文件

viewmain.qml

使用注释模型定义(模型:[“First”,“Second”,“Third”])时效果很好。

请让我知道我的代码部分有什么问题。谢谢

0 投票
1 回答
61 浏览

c++ - QStringListModel * 作为信号的参数给我错误“...试图引用已删除的函数”?

我编写了这个小型测试程序,以便更好地理解 QT 的信号和插槽以及多线程。

主窗口.h

工人.h

主窗口.cpp

工人.h

主文件

但是当我运行 Debug 时,它给了我这个错误: 错误:C2280:'QStringListModel &QStringListModel::operator =(const QStringListModel &)':试图引用已删除的函数

我是新来的,所以请不要太苛刻,如果您发现与问题无关的错误,请告诉我。提前感谢您回答我的问题!