为什么继承QSortFilterProxyModel时没有调用filterAcceptsRow ?
Why filterAcceptsRow when inheriting from QSortFilterProxyModel is not invoked?
从QSortFilterProxyModel继承了一个名为customSortFilterProxyModel的类。一个受保护的功能filterAcceptsRow是override。但是,filterAcceptsRow根本不会被调用。有什么问题吗?谢谢。customSortFilterProxyModel.h
class customSortFilterProxyModel: public QSortFilterProxyModel
{
Q_OBJECT
public:
customSortFilterProxyModel(QObject *parent);
~customSortFilterProxyModel();
protected:
virtual bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const override;
};
//customSortFilterProxyModel.cpp
customSortFilterProxyModel::customSortFilterProxyModel(QObject *parent)
: QSortFilterProxyModel(parent)
{
}
customSortFilterProxyModel::~customSortFilterProxyModel()
{
}
bool customSortFilterProxyModel::filterAcceptsRow(int source_row, const QModelIndex &source_parent) const
{
return true;
}
使用代理模型测试代码
QStringListModel *newModel = new QStringListModel;
QStringList strList;
strList << "1" << "2" << "3" << "4";
newModel->setStringList(strList);
customSortFilterProxyModel *m_customSortFilterProxyModel = new customSortFilterProxyModel(this);
m_customSortFilterProxyModel->setSourceModel(newModel);
调用这个函数对列进行排序
m_customSortFilterProxyModel ->排序(0);
我强制customSortFilterProxyModel重新加载源模型setSourceModel。它的工作原理。但我不确定这是不是正确的解决方案?
相关文章:
- 什么时候调用组成单元对象的析构函数
- 对RValue对象调用的LValue ref限定成员函数
- 为什么使用 "this" 指针调用派生成员函数?
- 函数调用中参数的顺序重要吗
- OpenGL - 在抛出"__gnu_cxx::recursive_init_error"实例后终止调用?
- 基于另一个成员参数将函数调用从类传递给它的一个成员
- 为什么我的C#代码在调用回C++COM直到Task时会暂停.等待/线程.加入
- 在c++类上调用void函数
- 为什么 std::unique 不调用 std::sort?
- 调用专用模板时出错"no matching function for call to [...]"
- 选择要调用的构造函数
- C++为什么尽管我调用了void函数,它却不起作用
- 构造函数正在调用一个使用当前类类型的函数
- 变量没有改变?通过向量的函数调用
- 没有为自己的结构调用列表推回方法
- 调用'begin(int [n])'没有匹配函数
- 什么时候调用析构函数
- 如何用参数值调用函数(仅在运行时已知)
- std::cout.imbue()多重调用
- 函数何时会在c++中包含stack_Unwind_Resume调用