问题标签 [qstandarditemmodel]

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

qt - appendRow 后带有 QStandardItemModel 的 QSortFilterProxyModel 不起作用

这是我得到的:

  • 一个QTreeView小部件(*);
  • 源模型MainModel继承自QStandardItemModel. 没有重新实现虚data() const方法;
  • 代理MainFilterProxyModel继承自QSortFilterProxyModel

那个树:

所以主要问题是当我试图添加一个像 (**) 代码那样的CHILD-row时。过滤器代理模型,在文档被添加到源模型后,不知道新行,也没有在树上显示。

我确定代理在方法完成工作QStandardItemModel时没有收到信号appendRow,因此代理无法过滤新行,也没有使其可见。

有什么帮助吗?

谢谢。

PS:如果我关闭代理,一切都很好。但问题不在于代理。代理只是没有得到关于附加到主源模型的新行的信号......


(*)这里是QTreeView


(**)这是我的附加功能

0 投票
1 回答
2301 浏览

qt - QStandardItemModel::removeRows() 在我的用例中不起作用

基本上我想删除模型中的所有行。我更喜欢使用removeRows(..)而不是clear(),因为我想保留我的标题。

我想我错过了一些东西(docu here),我的代码很简单:

ceg 是 4,但r总是错误的。我已经尝试将 0 和 1 作为第一个索引。使用clear()作品。上面的代码完全没有影响。

0 投票
1 回答
2257 浏览

qt - 返回 QTableView 中选定行的编号

我有以下代码:

我希望您只需单击一个框,返回所选字段所在的行号。

知道怎么做吗?

0 投票
2 回答
6317 浏览

qt - 如何按升序对 ListView 项目进行排序?

我试图按升序对我的 ListView 项目进行排序,所以我尝试了

它工作得很好,但我不喜欢 Qt::AscendingOrder 策略。实际上,该函数首先对以大写字符开头的单词进行排序,然后对以小写字符开头的其他单词进行排序。然后它将两个结果连接在一起。例如:

有没有办法自定义排序策略?请帮助我...在此先感谢。

0 投票
1 回答
549 浏览

qt - Qt 模型/视图框架,树视图

我正在试验 Qt 和模型/视图框架。
我有一些数据想在树形视图中显示和编辑。
我已经阅读了文档和教程,但我仍然不确定在我的案例中最佳实践是什么。
数据来自服务器,看起来像这样:

id 是“正在运行”的数字,并且都是唯一的,因此数据可能看起来像这样。

该 id 对最终用户不感兴趣,不应显示。

使用递归函数将其纳入层次结构应该非常简单。(但这里也欢迎任何想法)

  1. 我应该将我从服务器获得的数据直接放入一个QStandardItemModel?
  2. 创建我自己的类并继承有什么意义QStandardItemModel/Item吗?
  3. 每个字段(id、name、price)是它自己的QStandardItem吗?

如果在#3 上是,当我编辑包含名称的项目时,我如何将 id 连接到该名称,以便我可以将更改发布回服务器。

正如您所了解的这些是基础知识,推荐结构的草图会很棒。

0 投票
1 回答
945 浏览

c++ - QStyledItemDelegate 和 QStandardItem 防止更改文本,仅启用选择和复制

我有一个简单的 QStandardItem 和 QTableView 和 QStyledItemDelegate。他们有代表,我想禁止用户更改表中列的内容,只允许选择和复制。我猜它与QStyledItemDelegate::createEditor.

当我将其设置为返回 0 时,它只会禁用所有内容。

我的问题是,我如何定义它,所以我只能选择和复制,并禁用编辑它的选项,如删除或更改文本

0 投票
1 回答
1766 浏览

qt - 带有 QListView 的 QStandardItemModel,外部放置操作不起作用

我正在使用 Qt 4.2。

我有一个 QMainWindow,里面有一个 QListView,它使用 QStandardItemModel 来显示我从 .desktop 文件中获得的一些项目。

现在我正在尝试在应用程序上实施放置操作,例如:当 .html 文件放置在 firefox 项目上时,我可以运行 firefox。

所以这就是我所做的:

- 对于列表视图:

- 对于标准项目模型:

之后,当我将一些文件放到应用程序上时,我再也没有收到 dropMimeData 调试消息。

0 投票
1 回答
2555 浏览

c++ - 过滤 QStandardItemModel 或 QTreeView 中的项目

我用QStandardItemModel在QTreeView中表示相同的数据。数据是表 - 我有行和列,我使用 QSqlQuery 从数据库中获取它。如何根据某些列值过滤行?例如,我有第三列一些整数值,通过单击某个按钮,我只想显示该数字 > 10的行。我可以执行另一个QSqlQuery.exec,但是可以使用QTreeViewQStandardItemModel执行此操作吗?

0 投票
0 回答
726 浏览

qt - QT:Qtableview 换行文本

我正在使用 Qt 的 QtableView。我面临一个问题。我无法修复内容以完成单元格。就我而言,我有固定的列大小,并且可以拉伸行。以下是示例代码

如您所见,我希望每个单元格都有“Swaminarayan maharaj”。但是 Swaminarayan 应该在单元格的第一行,而“maharaj”在第二行。简而言之,每个单元格以两行显示内容。

在以下链接中,我找到了 Qt::TextWordWrap 但我无法在我的代码中使用
http://www.qtcentre.org/threads/27839-For-Qt-4-6-x-how-to-auto-size -text-to-fit-in-a-specified-width

0 投票
0 回答
469 浏览

c++ - 调用 QTableView::setModel() 后如何在 QStandardItemModel 和 QTableView 上编辑数据

伙计们!!

我正在尝试将产品列表填充到 QTableView 将使用的 QStandardItemModel 中。但是程序启动后我无法获取这些数据。

我该怎么做?从 QStandardItemModel 更改数据(例如:更改行数据、删除行、插入新行、删除所有行并重新插入行)并以动态方式将其显示在 QTableView 上(例如:通过将新产品添加到产品数组或单击按钮 addSomeNewLine 或 editSomeNewLine)

谢谢