pyqt 动态更换表头和数据

news/2024/10/18 12:28:54/

目录

pyqt%20%E5%8A%A8%E6%80%81%E6%9B%B4%E6%8D%A2%E8%A1%A8%E5%A4%B4%E5%92%8C%E6%95%B0%E6%8D%AE%E4%BB%A3%E7%A0%81-toc" style="margin-left:40px;">pyqt 动态更换表头和数据代码


效果图:

pyqt%20%E5%8A%A8%E6%80%81%E6%9B%B4%E6%8D%A2%E8%A1%A8%E5%A4%B4%E5%92%8C%E6%95%B0%E6%8D%AE%E4%BB%A3%E7%A0%81">pyqt 动态更换表头和数据代码

from PyQt5.QtGui import QColor, QBrush
from PyQt5.QtWidgets import QApplication, QTableWidget, QVBoxLayout, QWidget, QPushButton, QTableWidgetItemclass Example(QWidget):def __init__(self):super().__init__()self.initUI()def initUI(self):# 初始化表格self.tableWidget = QTableWidget(self)self.column_colors = [QColor('red'), QColor('green'), QColor('blue'),  QColor('purple'), QColor('orange'), QColor('pink'), QColor('lightblue'), QColor('lightgreen')]self.setWindowTitle('I问财')self.setGeometry(100, 100, 800, 600)header = self.tableWidget.horizontalHeader()header.setStyleSheet("QHeaderView::section { background-color: white ; color: red; font-weight: bold; }")# 创建一个按钮,用于改变表格数据和表头btn = QPushButton('Change to New Data', self)btn.clicked.connect(self.loadNewData)self.updateTable(['Name', 'Age', 'Country'], [['Alice', '24', 'USA'], ['Bob', '30', 'Canada'], ['Charlie', '28', 'UK']])# 布局layout = QVBoxLayout()layout.addWidget(self.tableWidget)layout.addWidget(btn)self.setLayout(layout)def updateTable(self, headers, data):# 设置列数column_count = len(headers)self.tableWidget.setColumnCount(column_count)self.tableWidget.setRowCount(len(data))self.setGeometry(100, 100, 600, 600)# 设置表头self.tableWidget.setHorizontalHeaderLabels(headers)self.tableWidget.setShowGrid(True)# 填充数据for row_index, row in enumerate(data):for column, item in enumerate(row):item = QTableWidgetItem(item)item.setForeground(QBrush(self.column_colors[column % len(self.column_colors)]))  # 根据列设置文本颜色self.tableWidget.setItem(row_index, column,item)def loadNewData(self):# 新数据集和表头new_headers = ['First Name', 'Last Name', 'Email', 'Country']new_data = [['Alice', 'Smith', 'alice.smith@example.com', 'USA'], ['Bob', 'Brown', 'bob.brown@example.com', 'Canada']]# 更新表格self.updateTable(new_headers, new_data)if __name__ == '__main__':import sysapp = QApplication(sys.argv)ex = Example()ex.show()sys.exit(app.exec_())


http://www.ppmy.cn/news/1434241.html

相关文章

结果展示的角度

在论文的结果展示部分,需要多维度地展示本文的工作(丰富内容)。一般表现维度有以下角度: 1.模型展示 (1)找到最优解算例个数(未找到最优解的算例个数) (2)…

go语言触发浏览器打开网址程序实例

在Go语言中,触发浏览器打开特定的网址通常涉及调用操作系统的命令行工具来启动默认的浏览器并导航到指定的URL。 示例: package main import ( "fmt" "os/exec" "runtime" ) func main() { url : "https:/…

基于springboot实现中药实验管理系统设计项目【项目源码+论文说明】

基于springboot实现中药实验管理系统设计演示 摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了中药实验管理系统的开发全过程。通过分析中药实验管理系统管理的不足,创建了一个计算机管理中药实验管…

component-Echarts柱状图堆叠图与折线图的实现

1.效果 2.​​​​​代码 <!DOCTYPE html> <html> <head><meta charset"utf-8"><title>ECharts 实例</title><!-- 引入 echarts.js --><script src"https://cdn.staticfile.org/echarts/4.3.0/echarts.min.js&…

线上旧衣回收小程序,隐藏的蓝海回收市场

随着生活水平的提高&#xff0c;人们对衣服的要求逐渐增加&#xff0c;衣服的更新也越来越快&#xff0c;成为了一个消耗品&#xff0c;这时旧衣服便成为了一个新的商业发展模式。旧衣回收门槛低、投入少&#xff0c;适合普通人进行创业&#xff0c;因此&#xff0c;旧衣回收行…

十八、QGIS的作用和下载

最近在学习webGIS的时候,发现路径文件是geoJSON文件,那么如果是你没有这个文件怎么办,从哪里能够获取呢,我最近就查询了文档,发现大多数都是shp转geoJSON,或者是osm转geoJSON,那如何去转换呢,就有两个方法,如果只关注QGiS,第一个方法可以忽略。 一、 安装ogr2ogr 具…

php 手机号加星号

在PHP中&#xff0c;如果你想要将手机号码中间的数字替换为星号&#xff0c;你可以使用substr_replace函数。以下是一个简单的函数&#xff0c;用于将手机号码中间四位替换为星号&#xff1a; function mask_phone($phone) {return substr_replace($phone, ****, 3, 4); }// 使…

服用5年份筑基丹 - Vue篇

前言 修仙之道&#xff0c;千回百转&#xff0c;每一步都充满了玄妙与机遇。在这条充满奇幻的修仙之路上&#xff0c;有一物至关重要&#xff0c;那便是筑基丹。此丹&#xff0c;凝聚了修仙者多年的心血与智慧&#xff0c;是修炼道路上的重要助力。 今日&#xff0c;我有幸得…