问题标签 [qabstractitemview]
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.
c++ - 项目已选中但未突出显示
我使用 Qt/C++,我有一个 QListView 在屏幕上显示图标。我将 QListView::iconMode 设置为将其显示为图标视图。但我看不到它被选中(但它被选中)它没有突出显示。但是它适用于列表模式。我有这个。
你能帮助我吗?
c++ - 如何根据启用/禁用的小部件从 QAbstractItemModel 返回特殊的文本颜色
对于 myQAbstractItemModel
中的某些列,我需要文本以特殊颜色显示。我通过在data()
where 中返回该颜色来做到这一点role == Qt::TextColorRole
。这很好,直到显示此模型的视图被禁用,然后那些特殊颜色仍然“明亮”,而所有其他文本都是灰色/静音。
是否有一种简单的方法可以在禁用小部件时返回特殊颜色?
失败(或过于复杂)的想法:
- 返回具有正确颜色的 QPalette 表单
data()
以启用/禁用 - 不起作用(也没有记录到) - 检查
QAbstractItemModel::flags()
- 基类也不知道小部件(也不应该) - 将信号从我的小部件连接到我的模型,以便在小部件的启用/禁用状态发生变化时发出。
数字 3 似乎最有可能,但它有点复杂。对于它的价值,我一次只会有一个使用这个模型的项目视图。
所需代码:
我可能要做的(希望有更好的解决方案):
自然,这不适用于单个模型上的多个视图。
c++ - 如何关闭由自定义 QItemDelegate::createEditor() 创建的编辑器
我创建了一个自定义项目委托,它允许用户编辑文件路径列表:
我通过自定义类 DirEdit 实现了这一点。现在提交了选定的路径,并且当用户按下回车键时编辑器关闭,但我想添加两种情况,即无需用户按下回车键即可关闭编辑器:
- 当用户通过激活组合框条目(通过单击或按回车键)选择文件时
- 当用户通过单击“省略号”工具按钮选择文件时。
我一直在尝试 clearFocus() 和其他方法,但似乎没有任何效果。下面是一个完整的例子:
qt - 选定的项目在 QTableView 中丢失突出显示
我的 QTableView 的扩展选择有问题。问题是我的列和行周围有一些空格,当我点击这个空格时,我选择的字段的突出显示丢失了。当我单击应用程序中的其他位置时,它不会发生,仅在空白处。此外,当我将选择模式设置为 SingleSelection 时,它工作得很好。
这是一个简短的 gif 来说明问题 https://gyazo.com/8e4ae161aaff25a4afa1b588579ddd01
谢谢所有能真诚帮助我的人
qt - 如何从 QHeaderView 中删除水平边框
我有带有水平 headerView 的 QTableView 对象,(我隐藏了垂直)。我将 setShowGrid(false) 设置为从 qtableView 中删除网格,但是如何删除 QTableView 与其水平标题之间的分隔符边框。我试过了:
但没有成功。谢谢你
c++ - Qt,QListView 模型
我想从我的列表视图模型中为选定的行设置背景颜色。选择另一行后,前一行的颜色变为透明。谢谢!
qt - 添加项目时如何保持项目视图滚动到底部?
在 a 显示的模型末尾附加项目时QAbstractItemView
,我希望将视图保留在数据的底部,显示最近添加的项目。默认行为是保留最近显示的项目的位置,但如果我们在底部,则不滚动。
如果用户之前一直滚动到底部,将视图保持在底部需要什么魔法?
c++ - QAbstractItemView selectAll 慢
我有QTableView
大约 10k 个条目。当我打电话QAbstractItemView::selectAll
时,大约需要 5 秒才能完成。其他方面的表现还可以。
- 为什么选择这么慢?
- 我能做些什么来加快速度吗?
qt - 如何遍历 QAbstractItemView 索引?
我想以QAbstractItemView::doubleClicked
编程方式为具有特定文本的项目触发插槽。如果可能的话,我想使用QAbstractItemView
类而不是它的实现来做到这一点。
此任务归结为循环项目和比较字符串。但是我找不到任何可以给我所有QModelIndex
es 的方法。给出任何QModelIndex
不带参数的唯一方法是QAbstractItemView::rootIndex
. 但是当我查看QModelIndex
文档时,我再次看不到访问它的孩子和兄弟姐妹的方法。
那么如何访问所有QModelIndex
的esQAbstractItemView
呢?