模型/视图:共享选择的含义

时间:2014-04-18 11:58:50

标签: c++ design-patterns qt4

这是一个简单的示例,演示了多个视图之间共享的选择。

#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();
}

enter image description here

我不太明白为什么这是必要的以及什么时候有用?

0 个答案:

没有答案