Есть такой пример использования промежуточной модели в книге Макса Шлее:
#include <QtGui>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWidget wgt;
QStringListModel model;
model.setStringList(QStringList() << "Xandria"
<< "Epica"
<< "Therion"
<< "Evanescence"
<< "Nightwish");
QSortFilterProxyModel proxyModel;
proxyModel.setSourceModel(&model);
proxyModel.setFilterWildcard("E*");
QListView *listView1 = new QListView;
listView1->setModel(&model);
QListView *listView2 = new QListView;
listView2->setModel(&proxyModel);
//Layout setup
QHBoxLayout *hbxLayout = new QHBoxLayout;
hbxLayout->addWidget(listView1);
hbxLayout->addWidget(listView2);
wgt.setLayout(hbxLayout);
wgt.show();
return app.exec();
}
Так вот, вопрос такой: как обновить фильтрацию даных для listView2, когда в listView1 что-то было отредактировано? Так как сейчас, если даные отредактировать в представлении listView1 то они обновляться и в представлении listView2, но фильтр не переприменяеться...
Сразу возникла идея соединить какой то сигнал для model со слотом для proxyModel, но подходящих не нашел...