1. 程式人生 > >33.Qt模型與視圖

33.Qt模型與視圖

sele connect char oot 視圖 lec tree add tis

 1 #include "mainwindow.h"
 2 #include <QApplication>
 3 #include <QAbstractItemModel>
 4 #include <QAbstractItemView>
 5 #include <QItemSelectionModel>
 6 
 7 #include <QDirModel>
 8 #include <QTreeView>
 9 #include <QListView>
10 #include <QTableView>
11
#include <QSplitter> 12 13 int main(int argc, char *argv[]) 14 { 15 QApplication a(argc, argv); 16 17 QDirModel model;//模型 18 19 QTreeView treeview;//視圖(共享模型) 20 QListView listview; 21 QTableView tableview; 22 23 treeview.setModel(&model); 24 treeview.setSelectionMode(QAbstractItemView::MultiSelection);
25 26 listview.setModel(&model); 27 listview.setSelectionModel(treeview.selectionModel()); 28 29 tableview.setModel(&model); 30 tableview.setSelectionModel(treeview.selectionModel()); 31 32 QSplitter *splitter = new QSplitter; 33 splitter->addWidget(&treeview);
34 splitter->addWidget(&listview); 35 splitter->addWidget(&tableview); 36 37 splitter->show(); 38 39 QObject::connect(&treeview,SIGNAL(doubleClicked(QModelIndex)),&listview,SLOT(setRootIndex(QModelIndex))); 40 QObject::connect(&treeview,SIGNAL(doubleClicked(QModelIndex)),&tableview,SLOT(setRootIndex(QModelIndex))); 41 42 return a.exec(); 43 }

33.Qt模型與視圖