首页 > 其他分享 >Pyqt5 修改表格排序箭头

Pyqt5 修改表格排序箭头

时间:2024-09-25 23:44:53浏览次数:8  
标签:__ widget 表格 self setItem Pyqt5 箭头 QTableWidgetItem table

实现效果:

image

代码

from chatgpt

import sys
from PyQt5.QtWidgets import QApplication, QTableWidget, QTableWidgetItem, QVBoxLayout, QWidget
from PyQt5.QtCore import Qt

class TableDemo(QWidget):
    def __init__(self):
        super().__init__()

        # 创建表格
        self.table_widget = QTableWidget()

        # 设置行和列数
        self.table_widget.setRowCount(3)
        self.table_widget.setColumnCount(3)

        # 设置表格头部
        self.table_widget.setHorizontalHeaderLabels(["Name", "Age", "Country"])

        # 插入数据
        self.table_widget.setItem(0, 0, QTableWidgetItem("Alice"))
        self.table_widget.setItem(0, 1, QTableWidgetItem("30"))
        self.table_widget.setItem(0, 2, QTableWidgetItem("USA"))

        self.table_widget.setItem(1, 0, QTableWidgetItem("Bob"))
        self.table_widget.setItem(1, 1, QTableWidgetItem("25"))
        self.table_widget.setItem(1, 2, QTableWidgetItem("Canada"))

        self.table_widget.setItem(2, 0, QTableWidgetItem("Charlie"))
        self.table_widget.setItem(2, 1, QTableWidgetItem("35"))
        self.table_widget.setItem(2, 2, QTableWidgetItem("UK"))

        # 启用排序功能
        self.table_widget.setSortingEnabled(True)

        # 自定义表头排序箭头样式
        self.table_widget.setStyleSheet("""
            QHeaderView::section {
                background-color: lightgray;
                padding: 4px;
                border: 1px solid gray;
            }
            QHeaderView::up-arrow {
                width: 6px;
                height: 6px;
                image: url(升序.png);  /* 使用自定义的图片替换 */
                padding-right: 10px;  /* 调整箭头右侧的间距 */

            }
            QHeaderView::down-arrow {
                width: 6px;
                height: 6px;
                image: url(排序.png);  /* 使用自定义的图片替换 */
                padding-right: 10px;  /* 调整箭头右侧的间距 */
            }
        """)

        # 布局
        layout = QVBoxLayout()
        layout.addWidget(self.table_widget)
        self.setLayout(layout)

        # 设置窗口标题
        self.setWindowTitle("Table with Custom Sorting Arrow Style")

if __name__ == "__main__":
    app = QApplication(sys.argv)
    demo = TableDemo()
    demo.show()
    sys.exit(app.exec_())

标签:__,widget,表格,self,setItem,Pyqt5,箭头,QTableWidgetItem,table
From: https://www.cnblogs.com/tarzen213/p/18432558

相关文章

  • 软考中项第3版新教程变化,2张表格看到底
    ......
  • 第三章 表格布局与表单交互
    3.1表格概述1.表格的结构表格由行与列组成的二维表,每行由一个或多个单元格组成2.表格的基本语法注:一个表格可以插入多个tr标记,表示多行语法<table>            <caption>表格标题</caption>            <tr>         ......
  • 自定义表格样式
     HTML:<divclass="table-container"><tablestyle="width:90%;margin-left:5%"><trclass="table-title"><thstyle="width:33%&qu......
  • WPS表格提示:“您输入的内容不符合限制条件”解决办法
    在使用wps表格的时候,如下图所示,我想输入成都这个数据,弹出错误提示:“您输入的内容不符合限制条件”该如何解决呢?按照图下所示,选中出现错误提示的单元格,点击有效性此时出现的窗口中明确表明,允许的数据必须是序列,且序列为北京,上海,广州,深圳。如果出现其他的数据(不包括空值)就会......
  • 前端使用xlsx模板导出表格
    前端使用xlsx模板导出表格 前言前端导出表格有很多种方案,但是表格样式一旦复杂了,那么就得用代码写excel的样式,还是比较麻烦的。每次样式不一样,就得重新写,这时使用表格模板的优势就体现出来了,想导出不同样式的表格直接修改表格模板即可。方案我找了两种方案:1、使用xlsx-tem......
  • 第三章 表格布局与表单交互
    3.1表格概述3.1.1表格的结构表格是由行和列组成的二维表,而每行又由一个或多个单元格组成,用于放置数据或其他内容3.1.2表格的基本语法<table></table>//表格说明<caption></caption>//表格标题标记<th></th>//表格表头标记 <tr></tr>//行<td></td>//列<tableborder......
  • 第3章 表格布局与表单交互
    3.1表格概述    表格是网页中的一个重要容器元素,可包含文字和图像。表格使网页结构紧凑整齐,使网页内容的显示一目了然。表格除了用来显示数据外,还用于搭建网页的结构。几乎所有HTML页面都或多或少地采用了表格。表格以简洁明了和高效快捷的方式将图片、文本、数据和......
  • 第3章 表格布局与表单交互
    3.1表格概述3.1.1表格的结构3.1.2表格的基本语法<!DOCTYPEhtml><html>   <head>      <metacharset="utf-8"/>      <title></title>   </head>   <body>   <tablealign="center"frame=&qu......
  • 基于Leaflet和天地图的直箭头标绘实战-源码分析
    目录前言一、Leaflet的特种标绘库1、特种标绘对象的定义2、Plot基类定义3、直线箭头的设计与实现二、在天地图中进行对象绘制1、引入天地图资源2、标绘对象的调用时序3、实际调用过程三、总结前言        在博客中介绍过geoman标绘的具体实现,使用LeafletGeoMan结合天地图......
  • 第三章 表格布局与表单交互
    3.1表格概述:表格是网页中的一个重要容器元素,可包含文字和图像。表格使网页结构紧凑整齐,使网页内容的显示一目了然。表格除了用来显示数据外,还用于搭建网页的结构。几乎所有HTML页面都或多或少地采用了表格。表格以简洁明了和高效快捷的方式将图片、文本、数据和表单的元素......