поэтому в моем проекте я намерен использовать метод поиска для фильтрации Treeview после заполнения текстового поля, но я не могу понять, как это сделать, это код
import QtQuick 2.15
import QtQuick.Layouts 1.14
import QtQuick.Controls 1.4
ApplicationWindow{
id:tree
visible: true
width: 800
height: 800
title: qsTr("Tree example")
GroupBox{
anchors.fill: parent
TreeView {
id:treee
anchors.fill: parent
model: myModel
TableViewColumn {
title: "Name"
role: "display"
width: 200
}
Код C ++ ниже, Я попытался использовать QSortFilterProxyModel, но он не работает, я не знаю, сделаю ли я какую-то ошибку
#ifndef TREEVIEWMODEL_H
#define TREEVIEWMODEL_H
#include <QObject>
#include<QStandardItemModel>
class TreeViewModel : public QStandardItemModel
{
Q_OBJECT
public:
TreeViewModel(QObject *parent = nullptr);
signals:
public slots:
void readDataBase();
};
#endif // TREEVIEWMODEL_H
#include "treeviewmodel.h"
#include <QStandardItem>
TreeViewModel::TreeViewModel(QObject *parent) : QStandardItemModel{parent}
{
CanConverter canConverter;
//connect(canConverter.getInstance(),SIGNAL(dataLoaded()),this,SLOT(readDataBase()));
setColumnCount(1);
QStandardItem *rootItem=invisibleRootItem();
QStandardItem *DataBase1= new QStandardItem;
QStandardItem *DataBase2 =new QStandardItem;
QStandardItem *DataBase3= new QStandardItem;
QStandardItem *Trame1=new QStandardItem;
QStandardItem *Trame2=new QStandardItem;
QStandardItem *Trame3=new QStandardItem;
QStandardItem *Trame4=new QStandardItem;
QStandardItem *Trame5=new QStandardItem;
QStandardItem *Trame6=new QStandardItem;
//QStandardItem *Trame7=new QStandardItem;
DataBase1->setText("base de donné 1");
DataBase1->setText("base de donné 2");
DataBase1->setText("base de donné 3");
Trame1->setText("Trame1");
Trame2->setText("Trame2");
Trame3->setText("Trame3");
Trame4->setText("Trame4");
Trame5->setText("Trame5");
Trame6->setText("Trame6");
rootItem->appendRow(DataBase1);
rootItem->appendRow(DataBase2);
rootItem->appendRow(DataBase3);
DataBase1->appendRow(Trame1);
DataBase1->appendRow(Trame2);
DataBase2->appendRow(Trame3);
DataBase2->appendRow(Trame4);
DataBase3->appendRow(Trame5);
DataBase3->appendRow(Trame6);
}
Обратите внимание, что я использую QStrandardItemModel здесь, пожалуйста, есть ли какое-либо решение, совместимое с этим Метод, которым пользуюсь, спасибо