首页 > 解决方案 > Qt 抽象模型 - flags() 函数从未被调用

问题描述

我目前正在开发一个Qt Quick 应用程序,其中有一个TableView显示来自用 C++ 编写的后端模型的数据(它是从QAbstractListModel派生的自定义模型)。

我希望有可能设置用户可以选择哪些行,所以我想通过覆盖函数来扩展自定义模型:

Qt::ItemFlags flags(const QModelIndex &index) const

我所做的更改对应用程序没有影响,通过调试我注意到标志函数从未被任何人调用(尝试使用断点和在控制台上打印)。

我尝试了几件事(甚至将基本模型从 QAbstractListModel 更改为 QAbstractTableModel),但没有弄清楚为什么它不起作用。

最后,我尝试启动Qt Creator提供的官方示例Qt Quick TableView 示例 - Conway's Game of Life),但它具有相同的行为(标志函数被覆盖但从未调用)。

该功能应该如何工作?

我将 Qt Creator 4.10 与 Qt 5.13.1 MSVC2015(64 位)一起使用。

谢谢!

标签: qtqmlqtquick2qtquickcontrols

解决方案


推荐阅读