Window::Window{proxyModel = new QSortFilterProxyModel (this);filterButton = new QPushButton;connect (filterButton, SIGNAL(clicked()), this, SLOT(setFilterType()));}void Window::setFiltertype(){proxyModel->setFilterRole(1);QRegExp regExp("C:/1.png");proxyModel->setFilterRegExp(regExp);}
void addMail(QAbstractItemModel *model, const QString id, const QPixmap Pix, const QDateTime &date, const QString &info){model->setData(model->index(0,0),id, 3); //идентификатор, 3 роль ToolTipRole(если прописать тут 0, // то фильтрует, но тогда id отображается на форме)model->setData(model->index(0,0),Pix,1); //иконкаmodel->setData(model->index(0,1),date); //времяmodel->setData(model->index(0,2),info); //текст сообщения}QAbstractItemModel *createMailModel (QObject *parent){QStandardItemModel *model2 = new StandardItemModel (0,3, parent);QPixmap *pixCrash = new QPixmap ("crash.png");QPixmap *pixAtt = new QPixmap ("att.png");addMail (model2, "1", *pixCrash, QDateTime(QDate(2013,12,23),QTime(17,03)), QObject::tr("Сообщение"));addMail (model2, "2", *pixAtt, QDateTime(QDate(2013,12,23),QTime(17,03)), QObject::tr("Сообщение"));return model2;}
void Window::iconFilter(){proxyModel-> setFilterRegExp(QRegExp ("1")); //фильтр "не видит" id}
void Window::iconFilter(){proxyModel->setFilterRole(3);proxyModel-> setFilterRegExp(QRegExp ("1")); //фильтр "не видит" id}