【Qt 学习笔记】Qt常用控件 | 多元素控件 | Table Widget的说明及介绍

简介: 【Qt 学习笔记】Qt常用控件 | 多元素控件 | Table Widget的说明及介绍

Qt常用控件 | 多元素控件 | Table Widget的说明及介绍

一、 QTableWidget介绍

1. 简介

QTableWidget是Qt中的一个控件类,用于显示和编辑二维表格数据。它继承自QTableView和QWidget类,并提供了一系列方法和信号槽,用于操作表格数据和响应用户交互。


QTableWidget可以显示任意大小的表格,每个格子可以包含文本、图像和其他自定义的小部件。它支持单元格的选择、复制、粘贴、拖拽等操作,并提供了快捷键和菜单选项来方便用户的操作。

2. 核心方法

image.png

3. 核心信号

image.png

二、QTableWidgetItem介绍

1. 简介

表格中的每个单元格, 是一个 QTableWidgetItem 对象


QTableWidgetItem是一个用于创建和操作表格项目的类。它是Qt框架中的一个类,主要用于在Qt应用程序中创建和管理表格数据。


QTableWidgetItem可以用于填充表格的单元格,并在其中存储各种类型的数据,比如文本、数字、日期和图像等。它还可以设置单元格的样式和编辑属性,以及监测和响应用户的交互操作。

2. 核心方法

image.png

三、QTableWidget的使用(代码示例)

1. 使用Table Widget创建一个增删表

  1. 在界面中创建一个Table Widget,四个PuttonButton,一个LineEdit,如图所示

  2. 编写widget.cpp,初始化表格
Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    //新增行
    ui->tableWidget->insertRow(0);
    ui->tableWidget->insertRow(1);
    ui->tableWidget->insertRow(2);

    //新增列
    ui->tableWidget->insertColumn(0);
    ui->tableWidget->insertColumn(1);
    ui->tableWidget->insertColumn(2);

    //设置列名
    ui->tableWidget->setHorizontalHeaderItem(0,new QTableWidgetItem("学号"));
    ui->tableWidget->setHorizontalHeaderItem(1,new QTableWidgetItem("姓名"));
    ui->tableWidget->setHorizontalHeaderItem(2,new QTableWidgetItem("年龄"));

    //添加表格内容
    ui->tableWidget->setItem(0,0,new QTableWidgetItem("001"));
    ui->tableWidget->setItem(0,1,new QTableWidgetItem("小明"));
    ui->tableWidget->setItem(0,2,new QTableWidgetItem("20"));

    ui->tableWidget->setItem(1,0,new QTableWidgetItem("002"));
    ui->tableWidget->setItem(1,1,new QTableWidgetItem("小李"));
    ui->tableWidget->setItem(1,2,new QTableWidgetItem("21"));

    ui->tableWidget->setItem(2,0,new QTableWidgetItem("003"));
    ui->tableWidget->setItem(2,1,new QTableWidgetItem("小红"));
    ui->tableWidget->setItem(2,2,new QTableWidgetItem("22"));
}
  1. 编写生成的按钮槽函数
void Widget::on_pushButton_insertRow_clicked()
{
    //获取到当前有多少行
    int rowCount = ui->tableWidget->rowCount();
    //插入新的行
    ui->tableWidget->insertRow(rowCount);
}

void Widget::on_pushButton_deleteRow_clicked()
{
    //获取当前选中的行
    int curRow = ui->tableWidget->currentRow();
    //删除当前选中的行
    ui->tableWidget->removeRow(curRow);
}

void Widget::on_pushButton_insertColumn_clicked()
{
    //获取当前的列数
    int colCount = ui->tableWidget->columnCount();
    //插入新的列
    ui->tableWidget->insertColumn(colCount);
    //从输入框中获取列名
    const QString& text = ui->lineEdit->text();
    //设置列名
    ui->tableWidget->setHorizontalHeaderItem(colCount,new QTableWidgetItem(text));

}

void Widget::on_pushButton_deleteColumn_clicked()
{
    //获取当前选中的列
    int curCol = ui->tableWidget->currentColumn();
    //删除选中的列
    ui->tableWidget->removeColumn(curCol);
}

4.运行代码,实现表格的增删功能

目录
相关文章
|
3月前
|
前端开发 程序员 API
【Qt】控件介绍
【Qt】控件介绍
|
3月前
|
开发者
【Qt 学习笔记】Qt系统相关 | Qt事件 | 事件的介绍及基本概念
【Qt 学习笔记】Qt系统相关 | Qt事件 | 事件的介绍及基本概念
203 4
|
3月前
【Qt 学习笔记】Qt窗口 | 标准对话框 | 文件对话框QFileDialog
【Qt 学习笔记】Qt窗口 | 标准对话框 | 文件对话框QFileDialog
697 4
|
3月前
【Qt 学习笔记】Qt窗口 | 标准对话框 | 输入对话框QInputDialog
【Qt 学习笔记】Qt窗口 | 标准对话框 | 输入对话框QInputDialog
240 3
|
3月前
|
数据可视化
【Qt 学习笔记】Qt窗口 | 标准对话框 | 字体对话框QFontDialog
【Qt 学习笔记】Qt窗口 | 标准对话框 | 字体对话框QFontDialog
80 3
|
3月前
【Qt 学习笔记】Qt窗口 | 标准对话框 | 颜色对话框QColorDialog
【Qt 学习笔记】Qt窗口 | 标准对话框 | 颜色对话框QColorDialog
521 3
|
3月前
|
网络协议 Linux C++
【Qt】多种控件实现“hello world“
【Qt】多种控件实现“hello world“
|
4月前
|
数据安全/隐私保护 C++ 计算机视觉
Qt(C++)开发一款图片防盗用水印制作小工具
文本水印是一种常用的防盗用手段,可以将文本信息嵌入到图片、视频等文件中,用于识别和证明文件的版权归属。在数字化和网络化的时代,大量的原创作品容易被不法分子盗用或侵犯版权,因此加入文本水印成为了保护原创作品和维护知识产权的必要手段。 通常情况下,文本水印可以包含版权声明、制作者姓名、日期、网址等信息,以帮助识别文件的来源和版权归属。同时,为了增强防盗用效果,文本水印通常会采用字体、颜色、角度等多种组合方式,使得水印难以被删除或篡改,有效地降低了盗用意愿和风险。 开发人员可以使用图像处理技术和编程语言实现文本水印的功能,例如使用Qt的QPainter类进行文本绘制操作,将文本信息嵌入到图片中,
181 1
Qt(C++)开发一款图片防盗用水印制作小工具
|
3月前
|
监控 C++ 容器
【qt】MDI多文档界面开发
【qt】MDI多文档界面开发
88 0
|
2月前
|
开发工具 C++
qt开发技巧与三个问题点
本文介绍了三个Qt开发中的常见问题及其解决方法,并提供了一些实用的开发技巧。