问题标签 [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.
qt - appendRow 后带有 QStandardItemModel 的 QSortFilterProxyModel 不起作用
这是我得到的:
- 一个
QTreeView
小部件(*); - 源模型
MainModel
继承自QStandardItemModel
. 没有重新实现虚data() const
方法; - 代理
MainFilterProxyModel
继承自QSortFilterProxyModel
;
那个树:
所以主要问题是当我试图添加一个像 (**) 代码那样的CHILD-row时。过滤器代理模型,在文档被添加到源模型后,不知道新行,也没有在树上显示。
我确定代理在方法完成工作QStandardItemModel
时没有收到信号appendRow
,因此代理无法过滤新行,也没有使其可见。
有什么帮助吗?
谢谢。
PS:如果我关闭代理,一切都很好。但问题不在于代理。代理只是没有得到关于附加到主源模型的新行的信号......
(*)这里是QTreeView
:
(**)这是我的附加功能:
qt - QStandardItemModel::removeRows() 在我的用例中不起作用
基本上我想删除模型中的所有行。我更喜欢使用removeRows(..)
而不是clear()
,因为我想保留我的标题。
我想我错过了一些东西(docu here),我的代码很简单:
c
eg 是 4,但r
总是错误的。我已经尝试将 0 和 1 作为第一个索引。使用clear()
作品。上面的代码完全没有影响。
qt - 返回 QTableView 中选定行的编号
我有以下代码:
我希望您只需单击一个框,返回所选字段所在的行号。
知道怎么做吗?
qt - 如何按升序对 ListView 项目进行排序?
我试图按升序对我的 ListView 项目进行排序,所以我尝试了
它工作得很好,但我不喜欢 Qt::AscendingOrder 策略。实际上,该函数首先对以大写字符开头的单词进行排序,然后对以小写字符开头的其他单词进行排序。然后它将两个结果连接在一起。例如:
有没有办法自定义排序策略?请帮助我...在此先感谢。
qt - Qt 模型/视图框架,树视图
我正在试验 Qt 和模型/视图框架。
我有一些数据想在树形视图中显示和编辑。
我已经阅读了文档和本教程,但我仍然不确定在我的案例中最佳实践是什么。
数据来自服务器,看起来像这样:
id 是“正在运行”的数字,并且都是唯一的,因此数据可能看起来像这样。
该 id 对最终用户不感兴趣,不应显示。
使用递归函数将其纳入层次结构应该非常简单。(但这里也欢迎任何想法)
- 我应该将我从服务器获得的数据直接放入一个
QStandardItemModel
? - 创建我自己的类并继承有什么意义
QStandardItemModel/Item
吗? - 每个字段(id、name、price)是它自己的
QStandardItem
吗?
如果在#3 上是,当我编辑包含名称的项目时,我如何将 id 连接到该名称,以便我可以将更改发布回服务器。
正如您所了解的这些是基础知识,推荐结构的草图会很棒。
c++ - QStyledItemDelegate 和 QStandardItem 防止更改文本,仅启用选择和复制
我有一个简单的 QStandardItem 和 QTableView 和 QStyledItemDelegate。他们有代表,我想禁止用户更改表中列的内容,只允许选择和复制。我猜它与QStyledItemDelegate::createEditor
.
当我将其设置为返回 0 时,它只会禁用所有内容。
我的问题是,我如何定义它,所以我只能选择和复制,并禁用编辑它的选项,如删除或更改文本
qt - 带有 QListView 的 QStandardItemModel,外部放置操作不起作用
我正在使用 Qt 4.2。
我有一个 QMainWindow,里面有一个 QListView,它使用 QStandardItemModel 来显示我从 .desktop 文件中获得的一些项目。
现在我正在尝试在应用程序上实施放置操作,例如:当 .html 文件放置在 firefox 项目上时,我可以运行 firefox。
所以这就是我所做的:
- 对于列表视图:
- 对于标准项目模型:
之后,当我将一些文件放到应用程序上时,我再也没有收到 dropMimeData 调试消息。
c++ - 过滤 QStandardItemModel 或 QTreeView 中的项目
我用QStandardItemModel在QTreeView中表示相同的数据。数据是表 - 我有行和列,我使用 QSqlQuery 从数据库中获取它。如何根据某些列值过滤行?例如,我有第三列一些整数值,通过单击某个按钮,我只想显示该数字 > 10的行。我可以执行另一个QSqlQuery.exec,但是可以使用QTreeView或QStandardItemModel执行此操作吗?
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
c++ - 调用 QTableView::setModel() 后如何在 QStandardItemModel 和 QTableView 上编辑数据
伙计们!!
我正在尝试将产品列表填充到 QTableView 将使用的 QStandardItemModel 中。但是程序启动后我无法获取这些数据。
我该怎么做?从 QStandardItemModel 更改数据(例如:更改行数据、删除行、插入新行、删除所有行并重新插入行)并以动态方式将其显示在 QTableView 上(例如:通过将新产品添加到产品数组或单击按钮 addSomeNewLine 或 editSomeNewLine)
谢谢