Qt實作自定義模型基于QAbstractItemModel
- 一個小例子 QTableView + QStandardItemModel
Cpp代碼
- QStandardItemModel model;
- //設定大小
- model.setColumnCount(3); //列
- model.setRowCount(musicFound); //行
- //設定标題
- model.setHeaderData(0,Qt::Horizontal,"ID");
- //添加資料
- for(int j=0;j<row;j++)
- {
- //寫id
- QStandardItem *itemID = new QStandardItem("hello");//QString::number(j)));
- model.setItem(j,0,itemID);
- }
- //選擇這個model
- m_ui->tableView->setModel(&model);
- //隐藏左邊那列
- m_ui->tableView->verticalHeader()->hide();
- //列寬
- m_ui->tableView->setColumnWidth(0,30);
- //整行選擇
- m_ui->tableView->setSelectionBehavior(QAbstractItemView::SelectRows);