Qt学习笔记-----QListWidget,QTableWidget和QTreeWidget
来源:互联网 发布:我想开个网络棋牌室 编辑:程序博客网 时间:2024/06/05 00:30
在MV架构中,Qt提供了三个可以直接使用的视图类用于呈现模板中的数据,分别是QListView,QTableView和QTreeView。不过还没完,紧接着Qt又提供了基于这三个类设计的更方便的类,分别是QListWidget,QTableWidget,QTreeWidget。
这三个类分别继承于上述三个视图类,实现了基本的函数,可以实现添加和删除等基本的功能,同时它们使用内部的model来管理每一个元素,无需我们对model进行设置。如果需要对编辑进行限制,我们可以在自定义Delegate类,这也正是model/view架构的基本框架。
QListWidget类是一个列表组件,内部的数据以列表的形式呈现出来。列表中每一个元素都是一个QListWidgetItem类。
QTableWidget类是一个表格组件,内部的数据以表格的形式呈现出来。表格中每一个元素都是一个QTableWidgetItem类。
QTreeWidget类是一个树组件,内部的数据以树的形式呈现出来。树中的每一个元素都是一个QTreeWidgetItem类。
向这三个类中添加元素的方法类似。
#include "mywidget.h"#include <QStringListModel>#include <QStringList>#include <QListWidget>#include <QTableWidget>#include <QTreeWidget>#include <QTableWidgetItem>#include <QListWidgetItem>#include <QTreeWidgetItem>#include <QVBoxLayout>MyView::MyView(QWidget *parent) :QWidget(parent){ listWidget = new QListWidget(this); tableWidget = new QTableWidget(3, 4, this); treeWidget = new QTreeWidget(this); QStringList data; data << "ID" << "Name" << "Age" << "Sex"; listWidget->addItem(new QListWidgetItem(QString(tr("ID")))); listWidget->addItem(new QListWidgetItem(QString(tr("Name")))); listWidget->addItems(data); new QListWidgetItem(QString(tr("ID")), listWidget); tableWidget->setHorizontalHeaderLabels(data); tableWidget->setItem(2, 3, new QTableWidgetItem(QString(tr("0001")))); tableWidget->setItem(1, 0, new QTableWidgetItem(QString(tr("0002")))); QStringList headers; headers << "Name" << "Number"; treeWidget->setHeaderLabels(headers); QTreeWidgetItem *root = new QTreeWidgetItem(treeWidget, QStringList() << "Root 0" << "0"); QTreeWidgetItem *left0 = new QTreeWidgetItem(root, QStringList() << "Left0 0" << "0"); new QTreeWidgetItem(left0, QStringList() << "Left0 1" << "1"); QTreeWidgetItem *root1 = new QTreeWidgetItem(treeWidget, QStringList() << "Root 1" << "1"); new QTreeWidgetItem(root1, QStringList() << "Left1 0" << "0"); QVBoxLayout *layout = new QVBoxLayout; layout->addWidget(listWidget); layout->addWidget(tableWidget); layout->addWidget(treeWidget); setLayout(layout);}
QListWidget类可以使用addItem(QListWidgetItem *)函数添加,可以使用addItems(QStringList &)函数添加,也可以使用new QListWidget(QString &, QListWidget *parent)进行添加。默认都是添加到列表的尾端。
QTableWidget类使用setItem(int row, int column, QTableWidgetItem *)函数进行添加,即在表格的(row, column)处添加QTableWidgetItem *;
QTreeWidget类使用new QTreeWidgetItem(QTreeWidgetItem *parent, QStringList &)函数进行添加,因为树状结构是层次结构,所以在添加的时候需要指出要添加的那个位置的根节点指针。
运行的结果如图:
- Qt学习笔记-----QListWidget,QTableWidget和QTreeWidget
- QListWidget、QTreeWidget 和 QTableWidget
- QListWidget、QTreeWidget 和 QTableWidget
- QListWidget、QTreeWidget 和 QTableWidget
- QListWidget、QTreeWidget 和 QTableWidget
- QT中的模型视图之---QListWidget、QTreeWidget 和 QTableWidget
- Qt 学习之路 2(42):QListWidget、QTreeWidget 和 QTableWidget
- Qt 学习之路 2(42):QListWidget、QTreeWidget 和 QTableWidget
- Qt 学习之路 2(42):QListWidget、QTreeWidget 和 QTableWidget
- QTableWidget,QListWidget,QTreeWidget
- QTabWidget,QTableWidget,QListWidget,QTreeWidget,QStackedWidget的Style小结
- QtCreator 项目视图的便捷类QListWidget,QTableWidget,QTreeWidget
- 模型视图简介、QListWidget、QTreeWidget、QTableWidget、QStringListModel、QFileSystemModel
- QTableView和QTableWidget翻页功能实现---Qt学习笔记5
- 树– QTreeWidget –QT学习笔记
- QT 树型控件学习笔记 QTreeWidget
- QListWidget & QTableWidget
- Qt 学习QTreeWidget
- 关于Java的语言问题汇总
- 9.3.6
- 【Android基础】RecyclerView的设计艺术
- 博为峰Java技术文章 ——JavaSE Swing JPanel II
- truncate 和 delete的区别
- Qt学习笔记-----QListWidget,QTableWidget和QTreeWidget
- 实践SEH攻击和虚函数攻击
- CF 238D Tape Programming
- android studio 在 真机调试 时device offline waiting for debugger
- OpenCV实现RGB颜色空间和HSI颜色空间的相互转换
- Android控件绑定代码快速生成工具
- 让微信小程序在浏览器和自己的App中运行--自己写的一个开源框架FreeMina(开发中。。)
- 【转载】Spark and SPARQL:RDF Graphs and GraphX
- 负责任有担当三星电子联合第三方客观公正公布Galaxy Note7燃损原因