- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Qt5 编写一个程序,该程序在 Linux 上运行良好,但在 Windows 上我观察到奇怪的行为:
当QTreeView::setModel
被调用时,它向模型询问索引( QAbstractItemModel::index
),其中包含一些行和列以及无效的父级。
它从未在 Linux 上发生过, View 总是要求 hasChildren
, rowCount
等在调用 index
之前.
我已经下载了 Qt5 的源代码来查看发生了什么,我可以看到:
// These asserts do basic sanity checking of the model
Q_ASSERT_X(d->model->index(0,0) == d->model->index(0,0),
"QAbstractItemView::setModel",
"A model should return the exact same index "
"(including its internal id/pointer) when asked for it twice in a row.");
Q_ASSERT_X(!d->model->index(0,0).parent().isValid(),
"QAbstractItemView::setModel",
"The parent of a top level index should be invalid");
最佳答案
来自 QAbstractItemModel::parent()
的文档:
If the item has no parent, an invalid QModelIndex is returned.
index()
具有无效 QModelIndex 的请求顶级项目。
index()
使用无效的行/列参数调用(如果您的模型尚未填充),返回
QModelIndex()
.
关于qt - QAbstractItemView 向模型询问无效索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25326875/
我正在使用 Qt5 编写一个程序,该程序在 Linux 上运行良好,但在 Windows 上我观察到奇怪的行为: 当QTreeView::setModel被调用时,它向模型询问索引( QAbstrac
我想以编程方式为具有特定文本的项目触发 QAbstractItemView::doubleClicked 插槽。我想使用 QAbstractItemView 类来完成此操作,而不是它的实现(如果可能的
我正在使用 QAbstractItemView操纵队列。问题在于,当用户点击发送按钮时,编辑器不会关闭并更新模型中的值。这会导致一些挫败感。 我浏览了 Qt 文档,但似乎找不到关闭编辑器并提交更改的简
我已经实现了 QAbstractItemView 以在 line chart 中显示表格模型(有两列,一列用于 x 轴,另一列用于相应的 y 轴)风格。为此,我重新实现了 QAbstractItemV
我创建了由 QSortFilterProxyModel 继承的自定义代理模型。我上面提到的代理模型的源模型也是QAbstractTableModel继承的自定义模型。然后我将自定义代理模型设置为 QT
我有一个 QListView,它的模型(派生自 QAbstractItemModel)会根据 UI 中的某些标准定期更改。当当前模型更新或模型更改时,当 View 本身认为已添加/删除新行时,我想收到
QAbstractItemView 有 `setIndexWidget但没有“删除”功能。 我试图通过存储传递给 QAbstractItemView 的小部件来解决这个问题,并在我想从中删除它们时 h
我的 SuperTable 类继承自 QTableView,后者又继承自 QAbstractItemView。 在某些时候,QTableView 的QScrollBar 发出触发QAbstractIt
我有一个 QTreeView 填充了模型中的项目。在索引上调用 edit() 时,将显示自定义编辑器。该编辑器由两个 QLineEdit 小部件组成。 我希望焦点在按下 Tab 时在两个 QLineE
我在 QSplitter 中有 QListView 和 QTabWidget。 QListView 正在使用自定义模型和自定义委托(delegate)。在委托(delegate)中,我重新实现了 pa
我想在某些信号上启用和禁用 QTableView 小部件的编辑。我可以通过以下方式禁用它: table->setEditTriggers(QAbstractItemView::NoEditTrigge
考虑通过仅实现 QAbstractItemModel 的纯函数定义的普通 Model 类。 我必须用饼图显示模型(如 this example 中所示),我想到从 QAbstractItemView
我正在尝试在给定字符串值的情况下在 Qt 中选择抽象项目 View 的项目。我已经编写了根据字符串内容查找任何 QModelIndex 的函数。 我现在正尝试将我找到的所有那些 QModelIndex
我有一个显示方形项目的 QListView。我的问题是,当我滚动此列表时,它一次滚动一整行方块,我认为这看起来不对。相反,我希望列表一次滚动 1 个或两个像素 - 即平滑。这主要是外观上的变化。知道我
摘 self 正在阅读的书: By default, QListWidget is read-only. If we wanted the user to edit the items, we cou
我在 QT 中使用过模型/ View 。我已经构建了一个自定义 QAbstractItemView View 。正如我所知,虽然我从模型中设置的数据已更改,但 QAbstractItemView::d
我是一名优秀的程序员,十分优秀!