此为QT编程的第十二谈!关注我,带你快速学习QT编程的学习路线!
每一篇的技术点都是很很重要!很重要!很重要!但不冗余!
我们通常采取总-分-总和生活化的讲解方式来阐述一个知识点!
码农不易,各位学者学到东西请点赞支持支持!
开始部分:
总:view视图组:QListView、QTreeView、TableView、QListWidget、QTreeWidget、QTableWidget。
分:
一、QListView的简单应用
1.引入头文件
2.创建QListView对象
3.用QStringList来存放数据
4.用数据模型进行展示
5.连接槽函数
6.效果图如下:
二、QTreeView的简单应用
1.引入头文件
2.创建树视图函数,创建三级节点
void Widget::InitTreeViewFunc()
{
//构造model展示数据
sitemModel=new QStandardItemModel(ui->treeView);
sitemModel->setHorizontalHeaderLabels(QStringList()<<QStringLiteral("编号")<<QStringLiteral("初中部|高中部"));
//创建一级节点,加入到sitemModel中
QList<QStandardItem*>item1;
QStandardItem *item1_1=new QStandardItem(QString::number(1));
QStandardItem *item1_2=new QStandardItem("初中部");
item1_1->setFlags(item1_1->flags()&~Qt::ItemIsSelectable);//禁用选择
item1.append(item1_1);
item1.append(item1_2);
sitemModel->appendRow(item1);
QList<QStandardItem*>item5;
QStandardItem *item5_1=new QStandardItem(QString::number(1));
QStandardItem *item5_2=new QStandardItem("高中部");
item5_1->setFlags(item1_1->flags()&~Qt::ItemIsSelectable);//禁用选择
item5.append(item5_1);
item5.append(item5_2);
sitemModel->appendRow(item5);
//创建二级节点,并添加到一级节点
QList<QStandardItem*>item2;
QStandardItem *item2_1=new QStandardItem(QString::number(2));
QStandardItem *item2_2=new QStandardItem("一年级");
item2.append(item2_1);
item2.append(item2_2);
//只有第一个添加的QStandardItem才能作为二级节点的挂载点
item1_1->appendRow(item2);
//创建两个三级节点,并添加到二级节点
QList<QStandardItem*>item3;
QStandardItem *item3_1=new QStandardItem(QString::number(3));
QStandardItem *item3_2=new QStandardItem("一班");
item3.append(item3_1);
item3.append(item3_2);
item2_1->appendRow(item3);
QList<QStandardItem*>item4;
QStandardItem *item4_1=new QStandardItem(QString::number(3));
QStandardItem *item4_2=new QStandardItem("二班");
item4.append(item4_1);
item4.append(item4_2);
item2_1->appendRow(item4);
ui->treeView->setModel(sitemModel);
}
3.创建点击的槽函数
4.连接槽函数
5.效果图如下:
三、TableView的简单应用
1.引入头文件
2.在,ui文件添加table view控件
3.创建tableView视图的构建函数
4.实现函数体
void Widget::InitTableViewFunc()
{
//1.添加表头,准备数据模型
QStandardItemModel *stuModel=new QStandardItemModel();
stuModel->setHorizontalHeaderItem(0,new QStandardItem(QObject::tr("学号")));
stuModel->setHorizontalHeaderItem(1,new QStandardItem(QObject::tr("姓名")));
stuModel->setHorizontalHeaderItem(2,new QStandardItem(QObject::tr("性别")));
stuModel->setHorizontalHeaderItem(3,new QStandardItem(QObject::tr("成绩")));
//2.绑定到ui的tableView
ui->tableView->setModel(stuModel);
ui->tableView->resize(700,500);
//3.设备表格列的宽度
ui->tableView->setColumnWidth(0,200);
//4.添加数据信息
stuModel->setItem(0,0,new QStandardItem("2021001"));
stuModel->setItem(0,1,new QStandardItem("张三"));
stuModel->setItem(0,2,new QStandardItem("男"));
stuModel->setItem(0,3,new QStandardItem("714"));
stuModel->setItem(1,0,new QStandardItem("2022002"));
stuModel->setItem(1,1,new QStandardItem("小花"));
stuModel->setItem(1,2,new QStandardItem("女"));
stuModel->setItem(1,3,new QStandardItem("720"));
stuModel->setItem(2,0,new QStandardItem("2022003"));
stuModel->setItem(2,1,new QStandardItem("小妮"));
stuModel->setItem(2,2,new QStandardItem("女"));
stuModel->setItem(2,3,new QStandardItem("657"));
ui->tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);//禁止编辑
//降序第四列排序操作
stuModel->sort(3,Qt::DescendingOrder);
}
5.实现效果图如下:
四、QListWidget的简单应用
1.导入相关头文件
2.在.ui文件添加list widget控件
3.两种导入方法
4.效果图如下:
五、QTreeWidget的简单应用
1.引入头文件
2.在.ui中添加treeWidget控件
3.添加顶级节点,并设置其属性
4.将二级节点添加到一级节点
5.模仿上面两个步骤,丰富数据内容
6.效果图如下:
六、QTableWidget的简单应用
1.在.ui添加TableWidget控件
2.设置行和列
3.设置水平表头
4.使用QList来存放数据信息
5.用循环来赋值表格
6.效果图如下:
总:在开发中,视图控件主要用于展示数据。而且在数据量多的时候用view控件,数据量少的时候用widget控件。
学习链接:https://xxetb.xetslk.com/s/3Kif2D