1  MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
2 {
3    ui->setupUi(this);
4    splitter.addWidget( ui->list );
5    splitter.addWidget( ui->table );
6    splitter.addWidget( ui->tree);
7    model = new QStandardItemModel(5, 2, this);
8    for( int r = 0; r < 5; r++ )
9      for( int c = 0; c < 2; c++) {
10          QStandardItem *item = new QStandardItem( QString("Row:%1, Column:%2").arg(r).arg(c) );
11       if( c == 0 )
12          for( int i = 0; i < 3; i++ )
13            item->appendRow( new QStandardItem( QString("Item %1").arg(i)));
14      model->setItem(r, c, item);
15    }
16    ui->list->setModel( model );
17    ui->table->setModel(model );
18    ui->tree->setModel( model );
19    ui->list->setSelectionModel( ui->tree->selectionModel() );
20    ui->table->setSelectionModel( ui->tree->selectionModel() );
21    ui->table->setSelectionBehavior( QAbstractItemView::SelectRows );
22    ui->table->setSelectionMode( QAbstractItemView::SingleSelection );
23    splitter.show();
24 }
