问题标签 [qitemselectionmodel]

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

c++ - selectionChanged() 删除第一行时的行为

请运行以下代码(我使用的是 Qt 5.9):

在 10 秒内,选择两行中的第一行。您将看到调试输出。它将显示您单击选择了第 0 行。然后,10 秒后,第 0 行被自动删除。调试输出现在显示第 1 行被选中,第 0 行被取消选中。

后者对我没有任何意义。删除第 0 行时,我希望之后会选择“新”第 0 行。此外,视觉选择的行仍然是第 0 行,而第 1 行根本不存在。

自定义模型和通用视图也会发生这种情况,并通过指向不存在的行使我的应用程序崩溃。

这是期望的行为吗?我的误解在哪里?

0 投票
1 回答
384 浏览

qt - 自定义 QTreeView 的选择行为

如果节点是叶子,我有QTreeView并且我想要多选行为,否则是单选行为,所以如果已经选择了某个节点,则不允许选择非叶子节点,如果非叶子节点,则不允许选择任何其他节点被选中。如何实施?

0 投票
1 回答
631 浏览

qt - 多选表,无需鼠标拖动选择

我希望它只允许通过按钮切换QAbstractItemView来多选项目。ctrl我不能使用QAbstractItemView::ExtandedSelection,因为它还允许通过将鼠标拖到它们上来选择多个项目。

0 投票
1 回答
113 浏览

pyqt - QTableView:防止用户导航离开特定行

如果保存操作未成功完成,我无法阻止用户表单更改当前选择。我可以使用 QTableView 的选择模型的 currentRowChanged 信号重新选择一行,但是虽然选择发生了变化,但蓝色选择指示器没有。见下图。

示例:在下图中,用户尝试添加新行 nr 537。但保存操作出错,我不希望用户在删除或编辑记录然后保存之前离开第 537 行

问题:如何将蓝线移动到当前选择?(当前选择为最后一行)(QTableView的Selection Behavior设置为选择行)

在此处输入图像描述

这是我到目前为止得到的代码:

0 投票
1 回答
72 浏览

c++ - 调用 QItemSelectionModel::select 后如何重绘 QTreeView?

我有一个使用自定义 QAbstractItemModel 的 QTreeView。我更新树视图选择

它还应该发出信号 selectionChanged 以供树视图接收。我的问题是树视图在我与光标交互之前不会刷新。

我试过调用 treeView->update() 但它没有任何区别。我错过了什么?

0 投票
0 回答
36 浏览

qml - 不会填充所选项目的 ItemSelectionModel 列表

我有一个简单的 QQC2 TreeView,当我单击树中的一个项目时,我想将它添加到我的 ItemSelectionModel。根据在线示例,我创建了以下代码。当单击我树中的一个项目时,它会突出显示为当前项目,并且下面的 onCurrentModelIndexChanged 处理程序会触发。

当处理程序触发时,hasSelection 显示为 true,并且当前打印的模型索引是正确的。但是, selectedIndex 始终为空。为什么没有填充列表?

这个类似的问题指出 select 需要一个模型索引(不是整数)必须传递给 .select 方法(我这样做)。

0 投票
2 回答
38 浏览

qml - 无法在 QML 中选择 TableView 的行

我在 QML 中创建了一个 TableView,连接到一个 SoftFilterProxyModel。数据显示正常,当我点击一行时,我的“selectRow”函数运行,并接收到正确的行号。但是,没有任何内容显示为选中状态。我的设计基于这个 SO question

相关代码为:

因此,当我单击一行时,它会输出:

由于我的 selectRow 函数接收到正确的行号,模型(companySFPM)与 TableView 使用的模型匹配,为什么我的 2 条日志语句显示没有选中和错误(hasSelection)?