Qt 项目视图的便捷类
生活随笔
收集整理的這篇文章主要介紹了
Qt 项目视图的便捷类
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Qt 項目視圖的便捷類
Qt中提供了一些標準部件來提供經典的基于項的容器部件,它們的底層是通過模型、視圖框架實現的。
這些部件分別是QListWidget、QTreeWidget、QTableWidget。這些部件都繼承了QAstractItemView 類的行為。
因為這些部件沒有將視圖和模型分離,所以沒有視圖類靈活,不能和任意的模型一起使用,一般用來處理數據。
一、關于QListWidget 的簡單使用
// QListWidgetQListWidget listWidget;// 一種添加項目的簡便方法new QListWidgetItem("hello", &listWidget);new QListWidgetItem("world", &listWidget);// 添加項目的另一種方法,這樣還可以進行各種設置QListWidgetItem *listWidgetItem = new QListWidgetItem;listWidgetItem->setText("b");listWidgetItem->setIcon(QIcon("../modelView2/yafeilinux.png"));listWidgetItem->setToolTip("this is b!");listWidget.insertItem(1, listWidgetItem);// 設置排序為倒序//listWidget.sortItems(Qt::DescendingOrder);// 顯示列表部件listWidget.show();單層的項目列表一般使用QListWidget和QListWidgetItem來顯示。
二、QTreeWidget的使用
// QTreeWidgetQTreeWidget treeWidget;// 必須設置列數treeWidget.setColumnCount(2);// 設置標頭QStringList headers;headers << "name" << "year";treeWidget.setHeaderLabels(headers);// 添加項目QTreeWidgetItem *grade1 = new QTreeWidgetItem(&treeWidget);grade1->setText(0,"Grade1");QTreeWidgetItem *student = new QTreeWidgetItem(grade1);student->setText(0,"Tom");student->setText(1,"1986");QTreeWidgetItem *grade2 = new QTreeWidgetItem(&treeWidget, grade1);grade2->setText(0,"Grade2");treeWidget.show();樹或者項目的層次列表由QTreeWidget和QTreeWidgetItem類提供。在樹部件中的每一個項目都可以有它自己的子項目,而且可以顯示多列的信息。
三、QTableWidget部件
// QTableWidget// 創建表格部件,同時指定行數和列數QTableWidget tableWidget(3, 2);// 創建表格項目,并插入到指定單元QTableWidgetItem *tableWidgetItem = new QTableWidgetItem("qt");tableWidget.setItem(1, 1, tableWidgetItem);// 創建表格項目,并將它們作為標頭QTableWidgetItem *headerV = new QTableWidgetItem("first");tableWidget.setVerticalHeaderItem(0,headerV);QTableWidgetItem *headerH = new QTableWidgetItem("ID");tableWidget.setHorizontalHeaderItem(0,headerH);tableWidget.show();項目表格使用QTableWidget和QTableWidgetItem來構建,它提供了一個包含表頭和項目的可滾動表格部件。
表格一般在構造的時候就指定它的行數和列數,數據項可以在表格外構建,然后再添加到表格中指定的位置。
表格項目還可以作為水平或者垂直表頭。
總結
以上是生活随笔為你收集整理的Qt 项目视图的便捷类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Qt 模式视图框架解读之委托
- 下一篇: Qt 数据库操作(一)