202.PyQt5_QTableWidget_项处理_表格控件

无奋斗不青春

我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈
入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈
虚 拟 环 境 搭 建 :👉👉 Python项目虚拟环境(超详细讲解) 👈👈
PyQt5 系 列 教 程:👉👉 Python GUI(PyQt5)文章合集 👈👈
Oracle数据库教程:👉👉 Oracle数据库文章合集 👈👈
优 质 资 源 下 载 :👉👉 资源下载合集 👈👈
优 质 教 程 推 荐:👉👉 Python爬虫从入门到入狱系列 合集👈👈

分隔线

QTableWidget_项处理_表格控件

    • QTableWidget_项处理_表格控件
      • 描述
      • 功能作用
        • 常用方法
        • 常用信号
        • 补充:QTableWidgetItem
          • 描述
          • 功能作用

QTableWidget_项处理_表格控件

描述

* QTableWidget是PyQt5程序中常用的显示数据表格组件类
* QTableWidget是QTableView的子类,它使用标准的数据模型,并且其单元数据是通过QTableWidgetItem对象来实现的
* 表格控件最上面一排是只读的水平表头,最左边一列是只读的垂直表头
* 表头又可以细分为多个分段(section)
    * 行表头(水平表头)的分段就是表格各个列的列首
    * 列表头(垂直表头)的分段就是表格各个行的行首,默认标题为行号
* 行表头和列表头一般是不可编辑的,可以隐藏、可以设置宽度和高度
* 除行表头和列表头之外的表格区域是工作区,工作区呈规则的网格状,如同一个二维数组
* 每个网格称为一个单元格(cell),每个单元格有一个行号、列号
* 在QTableWidget表格中,每一个单元格是一个QTableWidgetItem对象,可以设置文字内容、字体、前景色、背景色、图标等,可以设置编辑和显示标志。
* 每个单元格还可以存储一个或多个自定义数据
  • 继承自:QTableView

功能作用

  • 表格控件的有很多名字相似的两套函数或信号,比如:
    • 设置当前高亮单元格函数 setCurrentCell(int row, int column)
    • 设置当前高亮条目函数: setCurrentItem(QTableWidgetItem * item)
  • 这两个函数名字很类似,二者最主要的区别就是:
    • 名字带 Cell 的函数是基于单元格的,对 NULL 空单元格也可以使用;
    • 名字带 Item 的函数,必须是填充了实体条目的单元格,针对实际存在的单元格条目操作
常用方法
  • 构造方法
    QTableWidget(parent)                    # 创建一个空表格对象的同时设置父对象
    # 需要通过setROwCount、setColumnCount来设置表格行列数
    
    QTableWidget(rows, columns, parent)     # 创建一个指定行列数表格对象的同时设置父对象
    
  • 行数、列数操作
    setROwCount(int row)                    # 设置QTableWidget表格控件的行数
    rowCount()                              # 获得QTableWidget表格控件的行数
    
    setColumnCount(int col)                 # 设置QTableWidget表格控件的列数
    columnCount()                           # 获得QTableWidget表格控件的列数
    
  • 行高与列宽
    resizeColumnsToContents()               # 设置所有列的列宽跟随内容的宽度
    resizeColumnToContents(column)          # 设置指定列的列宽跟随内容的宽度
    
    resizeRowsToContents()                  # 设置所有行的行高跟随内容的高度
    resizeRowToContents(row)                # 设置指定行的行高跟随内容的高度
    
    setColumnWidth(column, width)           # 给指定列设置固定宽度
    
    # 通过horizontalHeader()方法获取到表头控件,再通过setSectionResizeMode() 方法设置列的宽度模式
    # horizontalHeader().setDefaultSectionSize(80)                              # 所有列设置固定列宽
    # horizontalHeader().setSectionResizeMode(QHeaderView.Interactive)          # 用户可调整,默认值为setDefaultSectionSized的值
    # horizontalHeader().setSectionResizeMode(QHeaderView.Custom)               # 用户可调整,默认值为setDefaultSectionSized的值
    # horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)              # 用户不可调整,自动平分适应可用区域
    # horizontalHeader().setSectionResizeMode(QHeaderView.ResizeToContents)     # 用户不可调整,自动适应内容的宽度
    # horizontalHeader().setSectionResizeMode(QHeaderView.Fixed)                # 用户不可调整,默认值为setDefaultSectionSized的值
    
    # 示例:按比例设置列宽,表格不要通过表头对象设置列宽适应可用区域
    def column_width(self, tableWidth):
        # 设置每一列的宽度占比
        col_percentages = [20, 20, 30, 10, 10]
        for index, percent in enumerate(col_percentages):
            # 根据表格宽度计算列宽
            col_width = int(tableWidth * (percent / 100))
            # 设置每一列的宽度
            self.table_name.setColumnWidth(index, col_width)
            
    
  • 表头操作
    # 水平表头操作
    setHorizontalHeaderItem(column, QTableWidgetItem)       # 通过Item对象设置指定列的水平标签(表头)
    setHorizontalHeaderLabels(Iterable[str])                # 通过迭代器设置表格控件多列的水平标签(表头)
    
    horizontalHeader() -> QHeaderView                       # 获得表格控件的水平标签(表头)对象
    horizontalHeaderItem(column)-> QTableWidgetItem         # 获得表格控

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数码相框-显示JPG图片

LCD控制器会将LCD上的屏幕数据映射在相应的显存位置上。 通过libjpeg把jpg图片解压出来RGB原始数据。 libjpeg是使用c语言实现的读写jpeg文件的库。 使用libjpeg的应用程序是以"scanline"为单位进行图像处理的。 libjpeg解压图片的步骤: libjpeg的使…

JVM字节码与类的加载——类的加载过程详解

文章目录 1、概述2、加载(Loading)阶段2.1、加载完成的操作2.2、二进制流的获取方式2.3、类模型与Class实例的位置2.4、数组类的加载 3、链接(Linking)阶段3.1、链接阶段之验证(Verification)3.1.1、格式检查3.1.2、字节码的语义检查3.1.3、字节码验证3.1.4、符号引用验证 3.2、…

最新mysql8.3 保姆级 主从复制搭建教程

mysql 主从复制搭建 服务器配置表 机器ip操作系统主机192.168.31.25华为openEuler-22.03-LTS-SP3从机192.168.31.184华为openEuler-22.03-LTS-SP3从机192.168.31.228华为openEuler-22.03-LTS-SP3 1、在3台机器上安装独立的 mysql 1.1 创建myql文件夹用来存放mysql包 mkdir…

网络安全之权限维持那点事

权限维持 一旦黑客成功地入侵了目标系统,他们通常会尝试保持对系统的持久访问权,以便继续执行恶意活动,如窃取敏感数据、植入恶意软件、破坏系统功能等。 权限维持的过程可能包括以下几个方面: 后门植入:黑客可能会在…

探秘大模型:《提示工程:技巧、方法与行业应用》背后的故事

提示工程是一种新兴的利用人工智能的技术,它通过设计提示引导生成式 AI 模型产生预期的输出,来提升人与 AI 的互动质量,激发 AI 模型的潜力,提升AI的应用水平。 为了让每一个人都拥有驱动大模型的能力,以微软全球副总裁…

C++设计模式:原型模式(八)

1、定义与动机 定义:使用原型实例指定创建对象的种类,然后通过拷贝这些原型来创建新的对象。 动机: 在软件系统中,经常面临着“某些结构复杂的对象”的创建工作;由于需求的变化,这些对象经常面临着剧烈的变…

Window安装PostgresSQL

PostgreSQL 安装参考:Windows下安装PostgreSQL_window 安装postgresql-CSDN博客 安装好后打开pgAdmin4 配置Navicat连接PostgresSQL 找到安装目录文件 pg_hba.conf 修改配置增加: 修改前: # TYPE DATABASE USER ADDRES…

AI论文精读之CSPNet—— 一种加强CNN模型学习能力的主干网络

目录 一、论文摘要部分 二、提出背景 三、本文的方法 3.1 DenseNet 3.2 Cross Stage Partial DenseNet 3.3 引入 partial dense block及partial transition layer的目的 3.3.1 partial dense block 3.3.2 partial transition layer 3.4 将CSPNet应用到其他结构中 3.5 E…

100 Explosion Pack

该套装包括100种爆炸效果,包括火灾爆炸、冲击波、风暴、奇异点、特斯拉等效果。 纹理有一个透明的alpha通道,所以你可以在任何背景上使用它们! 所有效果都是高质量的,动画流畅(64帧,每帧512像素) 每个效果都使用独特的高质量精灵表。 100个不同的小精灵大小:4096x4096 …

IO流(2.其他流)

能够高效读写的缓冲流,能够转换编码的转换流,能够持久化存储对象的序列化流 一、缓冲流 缓冲流,也叫高效流,是对4个基本的FileXxx 流的增强,所以也是4个流,按照数据类型分类: 字节缓冲流:Buffe…

【中文医疗词嵌入模型】SMedBERT:结构化知识图谱 + 混合注意力机制 + 提及-邻居上下文建模

【中文医疗词嵌入模型】SMedBERT:结构化知识图谱 混合注意力机制 提及-邻居上下文建模 提出背景SMedBERT 具体到点的设计逻辑SMedBERT的背景SMedBERT的工作原理 SMedBERT 具体实现细节3.1 符号和模型3.2 Top-K Entity Sorting3.3 提及-邻居混合注意力3.4 提及-邻居…

Softing工业将亮相2024汉诺威工业博览会——工业物联网的数据集成和连接

您可在2024年4月22至26日前往汉诺威参观Softing展台,我们将在015号馆的F48展位进行展出,期待您的莅临! | 通过灵活的数据集成解决方案无缝连接机器 在此次汉诺威工业博览会上,您将了解到Softing数据集成解决方案——用于机器连接…

【深度学习|基础算法】初识Transformer-encoder-decoder

关于transformer的学习 一、前言二、初识Transformer2.1 总览2.2 encoder2.3 decoder 三. 流程与细节1、输入2、self-attention 一、前言 我本身是从事图像算法行业的,在之前主要是做传统的图像算法,后来接触了基于CNN的神经网络图像算法,包括…

[ritsec CTF 2024] 密码部分

这个比较密码这块还是比较简单的,经过问了N人以后终于完成。 [Warm Up] Words 给了个猪圈密码的图片,这东西好久不见的感觉。 [Warm Up] Emails MTP似乎也没多好的方法,猜更快,先给了几封email然后一个用MTP长度是32&#xff08…

【微服务】------常见模型的分析与比较

DDD 分层架构 整洁架构 整洁架构又名“洋葱架构”。为什么叫它洋葱架构?看看下面这张图你就明白了。整洁架构的层就像洋葱片一样,它体现了分层的设计思想。 整洁架构最主要的原则是依赖原则,它定义了各层的依赖关系,越往里依赖越…

HUD抬头显示器中如何设计LCD的阳光倒灌实验

关键词:阳光倒灌实验、HUD光照温升测试、LCD光照温升测试、太阳光模拟器 HUD(Head-Up Display,即抬头显示器)是一种将信息直接投影到驾驶员视线中的技术,通常用于飞机、汽车等驾驶舱内。HUD系统中的LCD(Liq…

51单片机之LED点阵屏

目录 1.LED点阵屏简介 2.配置LED点阵屏代码 1.LED点阵屏简介 LED点阵屏真的是遍布我们我们生活的每个角落,从街边的流动显示字的招牌到你的液晶显示屏,都是基于点阵屏的原理研究出来的。还有那个世界上最大的球状建筑物:MSG Sphere&#xff…

GridView控件的使用(一)

GridView控件通常用于在Windows窗体或Web应用程序中显示数据表格。它是一个强大的数据绑定控件,能够灵活地显示和编辑数据源中的数据。 在何种情况下应使用GridView进行绑定控件: 显示结构化数据:当您需要展示一系列具有相同字段的数据记录…

机器学习 —— 使用机器学习进行情感分析 详细介绍版

机器学习 —— 使用机器学习进行情感分析 详细介绍版 机器学习 —— 使用机器学习进行情感分析 演示版 目录 一、 绪论二、 数据处理1. 构建CSV文档2. 构建模型前的思考2.1. 问题2.2. 解决方法 3. 读取数据4. 用正则表达式来进行对特定符号的剔除5. 使用口袋模型进行文本处理和…

稀碎从零算法笔记Day44-LeetCode:整数转罗马数字

题型:贪心、模拟 链接: 12. 整数转罗马数字 - 力扣(LeetCode) 来源:LeetCode 题目描述 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 …