QT之Tableview_车小猿的博客-程序员秘密_qt tableview

技术标签: Qt  Qt之TableView  

想要了解更多的tableview可以看这位博客Qt深入浅出(十五)QTableView

这里做了一个简单的学生系统查询功能显示Tableview:
表格视图控件QTableView,需要和QStandardItemModel, 配套使用,这套框架是基于MVC设计模式设计的,M(Model)是QStandardItemModel数据模型,不能单独显示出来。V(view)是指QTableView视图,要来显示数据模型,C(controllor)控制在Qt中被弱化,与View合并到一起。

this->model = new QStandardItemModel; //创建一个标准的条目模型

this->ui->tableView->setModel(model);
此函数将创建并设置新的选择模型,将以前设置的任何模型替换为model(标准的条目模型), model设置的内容都将显示在tableview上。一般情况下:tableView上设置要显示“文本”信息,则在model上设置,tableView上设置字体的颜色边框大小,则在tableView上设置

//setHorizontalHeaderItem设置水平条目栏
//在tableView上水平条目栏的头第0列设置为姓名
this->model->setHorizontalHeaderItem(0, new QStandardItem(“姓名”) );

//setColumnWidth设置每一列的宽度
this->ui->tableView->setColumnWidth(0, 100); //设置列的宽度

//setItem设置条目栏中的一个格子的信息
this->model->setItem(0, 5, new QStandardItem(“hello world” ) );

//setRowCount设置行段数目
//setHeaderData设置行头的名称
model->setRowCount(3);
model->setHeaderData(0,Qt::Vertical, “行0”);

QueryStu::QueryStu(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::QueryStu)
{
    ui->setupUi(this);
//    readFromFile();
    this->model = new QStandardItemModel;   //创建一个标准的条目模型
    this->ui->tableView->setModel(model);   //将tableview设置成model这个标准条目模型的模板, model设置的内容都将显示在tableview上

    this->model->setHorizontalHeaderItem(0, new QStandardItem("姓名") );
    this->model->setHorizontalHeaderItem(1, new QStandardItem("学号"));
    this->model->setHorizontalHeaderItem(2, new QStandardItem("性别"));
    this->model->setHorizontalHeaderItem(3, new QStandardItem("年龄"));
    this->model->setHorizontalHeaderItem(4, new QStandardItem("院系"));
    this->model->setHorizontalHeaderItem(5, new QStandardItem("兴趣"));

    this->ui->tableView->setColumnWidth(0, 100);    //设置列的宽度
    this->ui->tableView->setColumnWidth(1, 150);
    this->ui->tableView->setColumnWidth(2, 50);
    this->ui->tableView->setColumnWidth(3, 50);
    this->ui->tableView->setColumnWidth(4, 100);
    this->ui->tableView->setColumnWidth(5, 150);

    /*setItem设置条目栏中的一个格子的信息*/
    this->model->setItem(1, 5, new QStandardItem("hello world" ) );

    /*设置行字段名*/
    model->setRowCount(3);
    model->setHeaderData(0,Qt::Vertical, "行0");
    model->setHeaderData(1,Qt::Vertical, "行1");
    model->setHeaderData(2,Qt::Vertical, "行2");
}

代码效果图:
在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44522306/article/details/86514488

智能推荐

Docker 搭建开源 CMDB平台 之 “OpsManage”_weixin_30315435的博客-程序员秘密

说明: 我一次build 完 所以images 包 有1G多 可分层build bash 环境一层 应用程序及启动脚本(shell.sh) 一层 步骤: 1 基础 Images 镜像 sairamnusetty/centos6.8-python2.7.13 2 从github 上...

自定义万能Adapter和自定义多变布局可交互ListView(一)_SilD的博客-程序员秘密

前言ListView与Adapter是Android一组很常用的组合,本篇博客旨在探究它们的各种应用场景:1、自定义万用Adapter+自定义同布局不可交互ListView(简单)2、自定义万用Adapter+自定义不同布局可交互ListView(略复杂) 自定义万能用Adapter一、准备内容: 1.自定义ViewHolder; 2.自定义Abstract CommonAd

常见十大漏洞总结(原理、危害、防御)_蚁景网络安全的博客-程序员秘密_常见漏洞

弱口令与个人习惯和安全意识相关,为了避免忘记密码,使用一个非常容易记住 的密码,或者是直接采用系统的默认密码等。

浅析微信支付:开通免充值产品功能及如何进行接口升级指引_YClimb的博客-程序员秘密

本文是【浅析微信支付】系列文章的第十五篇,主要讲解如何开通免充值产品功能流程和其中的注意事项,对于接口升级会重要讲解,避免爬坑。浅析微信支付系列已经更新十五篇了哟~,没有看过的朋友们可以看一下哦。浅析微信支付:商户平台代金券或立减优惠开通、指定用户代金券发放、查询等浅析微信支付:商户平台开通现金红包、指定用户发放、红包记录查询浅析微信支付:支付验收示例和验收指引浅析微信支付:如何使...

ANT忠诚伴侣XDoclet下生成struts配置的基本任务手册- -_HuDon的博客-程序员秘密

最近用appfuse发现里面使用xdoclet真是方便,虽然以前也用,但是没有像appfuse那样什么都使用xdoclet生成。现在写程序真是方便啊。本想把自己的收获写下来,但是发现网上高人早已编写完成(又晚了一步,呵呵,快成迟来大师了),现转贴如下:任何人都想过自动生成的代码,自己去写个分析器不是件容易的事,而XDoclet给我们机会建立自己的代码生成器。    XDoclet最早用来对付EJB

VUE插件总结_kiz_calamus的博客-程序员秘密


 亲们支持我的新博客哦==》地址(以后更新会尽量在新博客更新,欢迎大家访问加入我的后宫w)
(欢迎加群一起玩耍:575180837)
UI组件


element - 饿了么出品的Vue2的web UI工具套件
Vux - 基于Vue和WeUI的组件库
mint-ui - Vue 2的移动UI元素...

随便推点

Java基础系列:判断空指针的三种方式_天然玩家的博客-程序员秘密_java空指针判断

空指针:针对对象类型,对象在堆中分配“房子”。空指针(null)的对象没有分配到“房子”,所以,无法使用该对象。使用任何的对象数据时,都要进行空指针判断。通用的方式有三种:(1)null显式判断(2)Objects.isNull(Object)隐式判断(3)CollectionUtils工具判断空指针和空数据

ArcGIS生成三维线的中间点数据_yangyoung4ever的博客-程序员秘密

ArcGIS生成三维线的中间点数据1.导出表,选择所需的字段2.添加字段,计算中点的XYZ3.在ArcMap中添加该数据后右键 -“显示XY数据”选择创建的字段和正确的坐标系,此时变成了点事件,还需导出为shp4.点事件导出数据...

RXJAVA实现生产者、消费者_黄大包的博客-程序员秘密

直接上代码package com.test;import android.os.SystemClock;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.view.View;import android.w...

读懂常见IRP:IRP_MJ_CLEANUP/IRP_MJ_CLOSE/IRP_MJ_CREATE_wf520pb的博客-程序员秘密

IRP_MJ_CLEANUP保持进程定义上下文信息的驱动器,必须在DispatchCleanup中包含cleanup请求。何时发送: 收到IRP_MJ_CLEANUP意味着请求的目标设备与目标文件的句柄相关(也可能因为io请求后没有释放)入参: 无出参: 无操作: 该IRP在关闭 file object 句柄的进程上下文中发送。因此,驱动器应该释放进程上下文中所指

我来看性能问题_weixin_33895695的博客-程序员秘密

为什么80%的码农都做不了架构师?>>> ...

Python 算法之 动态规划详解_XianZhe_的博客-程序员秘密_python 动态规划

Python 算法之 不同子序列文章目录Python 算法之 不同子序列动态规划动态规划经典问题背包问题给出题目参考资料相关博客动态规划动态规划,英文名 Dynamic Programming,简写为 DP,是寻找多分支下最优解的过程动态规划工作原理:先解决相对简单的子问题,再逐步解决大问题动态规划是一个难以理解的概念,真的动态规划经典问题背包问题假设张三要去野营,他准备了以下物品:每样东西都有相应的价值,可呆呆的他在收拾背包时发现,他的背包最大容量只有6,装不下所有的东西,只能从这堆东

推荐文章

热门文章

相关标签