QT C++ 模型视图结构 QTableView 简单例子

在Qt中,MVC模式被广泛使用于各种用户界面框架中,包括Qt的模型视图结构。Qt的模型视图结构是基于MVC模式设计的,其中包括了Model、View和Delegate三个部分。

QTableView是Qt模型视图结构中的一种视图,它用于以表格形式显示数据。

1.界面效果

2.头文件

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QTableView>
#include <QStandardItemModel>
#include <QHBoxLayout>

QT_BEGIN_NAMESPACE
namespace Ui {
class Widget;
}
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();
    void initUI();

private:
    Ui::Widget *ui;
    QStandardItemModel model;
    // 创建一个表视图来显示模型的数据
    QTableView tableView;
};
#endif // WIDGET_H
 

3.cpp文件

#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    initUI();
}

Widget::~Widget()
{
    delete ui;
}
void Widget::initUI()
{
    model.setHorizontalHeaderLabels(QStringList()<<"col1"<<"col2"<<"col3");
    model.setRowCount(5);//设置行数
    model.setColumnCount(3);//设置列数
    for(int row=0;row<5;row++)
    {
        for(int col=0;col<3;col++)
        {
            QStandardItem *item ;
            item = new QStandardItem(QString::number(row*3+col));
              model.setItem(row,col,item);//初始化单元格
        }
    }
    // 创建一个表视图来显示模型的数据
    tableView.setModel(&model);
    QHBoxLayout * layout=new QHBoxLayout();
    layout->addWidget(&tableView);
    setLayout(layout);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/842653.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【No More Room in Hell】地狱已满服务器一键开服多人联机教程

1、购买后登录服务器 进入控制面板后会出现正在安装的界面&#xff0c;安装大约5分钟&#xff08;如长时间处于安装中请联系我们的客服人员&#xff09; 2、连接游戏 2.1、安装完成后复制开机下方的IP地址 2.2、打开Steam点击左上角的查看➡服务器 点击收藏➡右下角号 粘贴地址…

记一次由于代码原因导致Mysql连接被打满和唯一索引重复问题

先说一下事情产生的背景&#xff1a;原先的代码逻辑是消费MQ&#xff0c;然后请求其他服务的接口&#xff0c;对接口的返回值result做落库操作&#xff0c;现在要新加个逻辑&#xff0c;做完落库操作后还要再将result封装落到新表中&#xff1b;即消费一次MQ(MQ消息的频率非常高…

解决npm卡死,无法安装依赖

npm卡死&#xff0c;无法安装依赖 异常描述原因分析与解决方法 异常描述 1.无法进入命令行&#xff0c;或是很慢没反应 2.装表格无限滚动的el-table-infinite-scroll依赖一上午了&#xff0c;也不能装&#xff0c;报错提示 原因分析与解决方法 1.命令行的问题&#xff1a;缓…

RabbitMQ 之 死信队列

目录 ​编辑一、死信的概念 二、死信的来源 三、死信实战 1、代码架构图 2、消息 TTL 过期 &#xff08;1&#xff09;消费者 &#xff08;2&#xff09;生产者 &#xff08;3&#xff09;结果展示​编辑 3、队列达到最大长度 &#xff08;1&#xff09;消费者 &…

AI智能体研发之路-模型篇(五):pytorch vs tensorflow框架DNN网络结构源码级对比

博客导读&#xff1a; 《AI—工程篇》 AI智能体研发之路-工程篇&#xff08;一&#xff09;&#xff1a;Docker助力AI智能体开发提效 AI智能体研发之路-工程篇&#xff08;二&#xff09;&#xff1a;Dify智能体开发平台一键部署 AI智能体研发之路-工程篇&#xff08;三&am…

3DF Zephyr v7 解锁版安装教程 (照片转三维模型软件)

前言 3DF Zephyr是一款照片转三维模型软件&#xff0c;可以导出许多常见的3D格式&#xff0c;甚至无需外部工具即可生成无损视频。此外&#xff0c;可以生成真正的正射影像&#xff0c;数字高程模型&#xff08;DTM&#xff09;&#xff0c;甚至可以计算面积&#xff0c;体积&…

软件技术架构全面详解

软件架构全面详解 软件架构 这个与建筑设计架构类似,建筑设计架构师负责设计建筑物的整体结构、布局和功能分配。 而软件架构师,负责设计软件系统的整体组织结构、模块划分、和功能分配。 两者都需要考虑到业务功能、性能、可扩展性、安全性、以及用户体验等方面。 软件架…

TypeScript 函数

函数基础 在 TypeScript 中&#xff0c;函数的定义方式与 JavaScript 类似&#xff0c;但是可以添加类型注解来增强函数的类型安全性。例如&#xff1a; function greet(name: string): string {return Hello, ${name}!; }上面的例子定义了一个名为 greet 的函数&#xff0c;…

【深度学习】ultralytics, yolo seg,实例分割图绘制,核对yolo seg 的txt标记对不对

这段代码的作用是从指定路径读取图像和标签文件&#xff0c;然后在图像上绘制分割区域和相关点&#xff0c;并保存最终的图像。以下是每个函数的具体作用及其解释&#xff1a; read_labels(label_path): 读取指定路径的标签文件。标签文件的每一行表示一个物体的分割信息&#…

【python深度学习】——torch.expand()广播机制|torch.norm()

【python深度学习】——torch.expand广播机制|torch.norm 1. torch.expand()与广播机制2. torch.norm()计算范数3. 结合使用的完整示例代码 1. torch.expand()与广播机制 在处理3D点云时, 有时需要对两帧点云进行逐点的三维坐标相加减、做点积等运算, 但是读入的PCD文件中,点云…

硬盘的分区

目录 概念 硬盘的分区 实操 创建分区 fdisk&#xff08;<2T&#xff09; 创建文件系统 挂载 自动挂载&#xff08;永久挂载&#xff09; gpt区分 swap 交换分区 如何删除已挂载的分区 概念 硬盘&#xff1a;计算机的存储设备。&#xff08;如无特殊说明&#xff0…

sklearn线性回归--岭回归

sklearn线性回归--岭回归 岭回归也是一种用于回归的线性模型&#xff0c;因此它的预测公式与普通最小二乘法相同。但在岭回归中&#xff0c;对系数&#xff08;w&#xff09;的选择不仅要在训练数据上得到好的预测结果&#xff0c;而且还要拟合附加约束&#xff0c;使系数尽量小…

基于springboot+vue的班级综合测评管理系统

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

操作系统 实验18 批处理操作接口8:函数

1、建立文件func2.sh&#xff0c;输出文件内容各行及行数 脚本&#xff1a; #!/bin/bash echo -n "请输入一个文件名及路径&#xff1a;" read FILE statisfile(){local i0while read linedo let iecho "$i $line"done < $FILEecho "$FILE有$i行…

高德地图之获取经纬度并且根据获取经纬度渲染到路线规划

话不多说&#xff0c;直接给兄弟们上干货&#xff0c;修改了好多次&#xff0c;之前都是获取到路线但是无法删除&#xff0c;这次是根据点击的单双判断开始和结束 <!DOCTYPE html> <html><head><meta charset"utf-8"><meta http-equiv&q…

解读 MySQL 容器信息:`docker inspect` 字段详解

前言 在使用 Docker 时&#xff0c;docker inspect 命令是一个非常有用的工具&#xff0c;它能够返回容器或镜像的详细配置信息和状态。以下是对 docker inspect mysql 命令输出的字段的详细解释&#xff0c;这些信息可以帮助您更好地了解容器的内部工作机制。 容器基础信息 …

回顾Java中的算术运算符、关系运算符和逻辑运算符,并解释下和的区别

一、在Java中&#xff0c;存在多种类型的运算符&#xff0c;包括算术运算符、关系运算符和逻辑运算符。以下是这些运算符的列表和简要说明&#xff1a; 算术运算符 加法运算符 (): 用于将两个操作数相加。减法运算符 (-): 用于从一个操作数中减去另一个操作数。乘法运算符 (*…

【前端】CSS弹性布局 display-flex

一、display-flex弹性布局 Flex&#xff0c;用来为盒装模型提供最大的灵活性。任何一个容器都可以指定为Flex布局。 在父DIV中使用 display: -webkit-flex; /*在webkit内核的浏览器上使用要加前缀*/ display: flex; //将对象作为弹性伸缩盒显示// 沿水平主轴让元素从左向右排…

git中忽略文件的配置

git中忽略文件的配置 一、在项目根目录下创建.gitignore文件二、配置规则如果在配置之前已经提交过文件了&#xff0c;要删除提交过的&#xff0c;如何修改&#xff0c;参考下面的 一、在项目根目录下创建.gitignore文件 .DS_Store node_modules/ /dist# local env files .env…

找一个区间内两个数最大公约数的最大值(24年gdcpc省赛G题)

题目大意就是t组数据,每组一个左右边界l,r,问区间内的两个是xi,yi是区间内max(gcd(xi,yi)),数据范围是1e12. 答案就是找到第一个a*x<b*x(a<b),他们两在l到r之间且x最大,那么x就是答案,可以知道,要使两个数在区间内,那么他们之间的差值要小于min(R-L,[R/2]),[]表示向下取…