这是一个简单的示例,演示了多个视图之间共享的选择。
#include <QtGui>
int main(int argc, char** argv)
{
QApplication qApplication(argc, argv);
QWidget qWidget;
QStringListModel qStringListModel;
qStringListModel.setStringList(QStringList()
<< "Item1"
<< "Item2"
<< "Item3"
<< "Item4"
<< "Item5"
<< "Item6"
);
QTreeView* pTreeView = new QTreeView;
pTreeView->setModel(&qStringListModel);
QListView* pListView = new QListView;
pListView->setModel(&qStringListModel);
QTableView* pTableView = new QTableView;
pTableView->setModel(&qStringListModel);
QItemSelectionModel qItemSelectionModel(&qStringListModel);
pTreeView->setSelectionModel(&qItemSelectionModel);
pListView->setSelectionModel(&qItemSelectionModel);
pTableView->setSelectionModel(&qItemSelectionModel);
QVBoxLayout* layout = new QVBoxLayout;
layout->addWidget(pTreeView);
layout->addWidget(pListView);
layout->addWidget(pTableView);
qWidget.setLayout(layout);
qWidget.show();
return qApplication.exec();
}
我不太明白为什么这是必要的以及什么时候有用?