1. 程式人生 > >淺談QTableView和QTableWidget資料表格顯示方式

淺談QTableView和QTableWidget資料表格顯示方式

一、淺談QTableViewQTableWidget資料表格顯示方式

① QTableView是基於MVC架構,QTableView表格用來做顯示,QStandardItemModel用來做資料模型控制,QStandardItem用來做資料來源,而且是一個單元格一個數據源。在使用過程中都是使用這些類定義的物件。

QTableView tableView;

QStandardItemModel model;

QStandardItem item;

tableViem.setModel(model);

model.setItem(item);

item.setData();

有了大的概念之後就可以按著想要的效果去對應的物件裡做工作了。比如我想把資料居中顯示,就可以去item

中改,查詢手冊,可以看到setTextAligment函式,加入對應的文字格式就行,但是這個方式要將每個item都修改。

Model中也有setData函式,可以在裡面設定資料,前提是要先用model.index()函式獲得表格資料的model索引。而且自已寫一個QStandardItemModel的繼承類,重寫裡面的data函式,就可以實現自已定義的顯示方式,比如居中顯示。

為了實現有了一行資料,才顯示一行在Table中,可以使用model.setItem函式增加一個item,就會對應顯示一行。

其餘的根據各自的函式加入對應的引數進去。

② QTableWidgetQTableView的子類,

QTableWidget用來顯示,QStantardItemWidget做資料來源,其餘和QTableView一樣。

QTableView tableView;

QStandardItem item;

tableView.setItem(item)

item.setData();

可以用ui->regionTableViewinsertRow(ui->regionTableView->rowCount())增加一行空間,但是裡面要加入item實體才可以顯示出內容;用item->setTextAlignment(Qt::AlignCenter)item中的資料居中顯示。