Qt類學習(一)
阿新 • • 發佈:2018-11-19
本節包括的類:
QStandardItemModel
類QabstractItemModel,QabstractListModel,QAbstractTableModel不儲存資料,使用者需要從這些類派生出子類,並在子類中定義某種資料結構來儲存資料。而類QStandardItemModel負責儲存資料,每個資料項表示為類QStandardItem的物件。
QStandardItem類用來儲存一個數據項,而QStandardItemModel類用於將這些QStandardItem物件用列表、表格、樹或者其他結構連線起來,以提供檢視顯示。
下面是一個例子:
QStandardItemModel listModel; QStandardItem *rootItem = listModel.invisibleRootItem(); // 行1 for (int row = 0; row < 4; ++row){ QStandardItem *item = new QStandardItem(QString("%1").arg(row) ); // 行2 rootItem->appendRow( item ); //行3 } QListView listView; listView.setModel ( & listModel );
行1獲取模型最頂層的根節點
行2建立一個QStandardItem物件,表示一個數據項
QString("%1").arg(row); //代表把row的值顯示成字串
str = QString("%1 %L2 %L3") //新增L代表取前幾位,如L2代表取前2位L
.arg(12345)
.arg(12345)
.arg(12345, 0, 16); //一個函式的過載,表示轉化為16進位制
// str == "12345 12,345 3039"
行3將該資料項作為根節點的子節點新增到列表中。