当前位置: 首页 > news >正文

66常用控件_QTableWidget的使用

目录

代码示例:使用QTableWidget


Table Widget
使⽤ QTableWidget 表⽰⼀个表格控件. ⼀个表格中包含若⼲⾏, 每⼀⾏⼜包含若⼲列.
表格中的每个单元格, 是⼀个 QTableWidgetItem 对象.
QTableWidget 核⼼⽅法
方法说明
item(int row, int column)根据行数数列获取指定的 QTableWidgetItem*
setItem(int row, int column, QTableWidget*)根据行数数列设置表格中的元素
currentItem()返回被选中的元素 QTableWidgetItem*
currentRow()返回被选中元素是第几行
currentColumn()返回被选中元素是第几列
row(QTableWidgetItem*)获取指定 item 是第几行
column(QTableWidgetItem*)获取指定 item 是第几列
rowCount()获取行数
columnCount()获取列数
insertRow(int row)在第 row 行处插入新行
insertColumn(int column)在第 column 列插入新列
removeRow(int row)删除第 row 行
removeColumn(int column)删除第 column 列
setHorizontalHeaderItem(int column, QTableWidget*)设置指定列的表头
setVerticalHeaderItem(int row, QTableWidget*)设置指定行的表头

QTableWidgetItem 核⼼信号

信号说明
cellClicked(int row, int column)点击单元格时触发
cellDoubleClicked(int row, int column)双击单元格时触发
cellEntered(int row, int column)鼠标进入单元格时触发
currentCellChanged(int row, int column, int previousRow, int previousColumn)选中不同单元格时触发

QTableWidgetItem 核⼼⽅法

方法说明
row()获取当前是第几行
column()获取当前是第几列
setText(const QString&)设置文本
setTextAlignment(int)设置文本对齐
setIcon(const QIcon&)设置图标
setSelected(bool)设置被选中
setSizeHints(const QSize&)设置尺寸
setFont(const QFont&)设置字体

代码示例:使用QTableWidget


1)在界面上创建QTableWidget和四个按钮,一个输入框
注意:QTableWidget是QTableView的子类,功能比QTableView
更丰富,咱们使用QTableWidget即可.

可以通过QtDesigner手动添加(双击控件or右键编辑)

2) 编写 widget.cpp 构造函数, 构造表格中的初始数据.
3) 编写按钮的 slot 函数
4) 执⾏程序, 即可完成表格的基本操作

默认情况下, 单元格中的内容直接就是可编辑的.
如果不想让⽤⼾编辑, 可以设置 ui->tableWidget-
>setEditTriggers(QAbstractItemView::NoEditTriggers);

如果当前表格中的数据是固定的
完全就可以通过图形化的方式来进行编辑
但是实际开发中,很多时候数据是从文件/网络来加载的.此时通过图形化编辑不合适
了.

http://www.xdnf.cn/news/713233.html

相关文章:

  • 如何在 Odoo 18 中创建 PDF 报告
  • 【JavaScript 高级】事件循环机制详解
  • 第一个桌面应用程序的创建
  • 实验设计与分析(第6版,Montgomery)第5章析因设计引导5.7节思考题5.2 R语言解题
  • 文科小白学习Linux系统之安全管理
  • QT使用说明
  • matlab天线阵列及GUI框架,可用于相控阵,圆形阵,矩形阵
  • 【C/C++】线程安全初始化:std::call_once详解
  • 数据中心双活架构解决方案
  • 基于大模型的颈椎病全周期预测与治疗方案研究报告
  • 软件开发新技术课设-个人博客系统(一)
  • 【HarmonyOS 5】鸿蒙应用px,vp,fp概念详解
  • VSCode + GD32F407 构建烧录
  • 深度解析 9 大 UI 设计风格
  • OpenCV 图像像素的算术操作
  • 【解决】firewalld 模块未识别
  • 体育遇上AI:解读新一代智能阅读产品
  • C/C++ 面试复习笔记(1)
  • 提升WSL中Ubuntu编译速度的完整指南
  • MySQL 索引和事务
  • MATLAB语言教程:从入门到精通的全面指南
  • uniapp分包配置,uniapp设置subPackages
  • 电脑如何保养才能用得更久
  • 【高频面试题】数组中的第K个最大元素(堆、快排进阶)
  • 动态设置微信小程序页面标题(navigationBarTitleText属性)
  • MATLAB 横向剪切干涉系统用户界面设计及其波前重构研究
  • 记录一次发生的OOM异常,OutOfMemoryError: Java heap space
  • 【笔记】suna部署之获取 OpenRouter API key
  • DFS:从入门到进阶的刷题指南
  • solidworks报错-只有合并特征才能被阵列。如果恰当,请选择实体的阵列