PyQT5 QTableView显示绑定数据的实例详解

yipeiwu_com6年前Python基础

如下所示:

import sys
from PyQt5 import QtCore,QtGui
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5.uic import loadUi
	
class MainWindow(QMainWindow):
	def __init__(self, parent=None):
		super(MainWindow, self).__init__(parent)
		loadUi('qtdesigner.ui', self)
		self.pushButton.clicked.connect(self.say)
		self.showData()
		
	def say(self):		
		self.label.setText("哈哈哈")
		print("哈哈哈")	
		
	def showData(self):
		# 准备数据模型
		self.sm=QtGui.QStandardItemModel()
		
		#设置数据头栏名称
		self.sm.setHorizontalHeaderItem(0, QtGui.QStandardItem("Name"))
		self.sm.setHorizontalHeaderItem(1, QtGui.QStandardItem("NO."))
		
		#设置数据条目
		self.sm.setItem(0, 0, QtGui.QStandardItem("张三"))
		self.sm.setItem(0, 1, QtGui.QStandardItem("20120202"))
		
		self.sm.setItem(1, 0, QtGui.QStandardItem("李四"))
		self.sm.setItem(1, 1, QtGui.QStandardItem("20120203000000000000000"))
		
		self.sm.setItem(2, 0, QtGui.QStandardItem("李四"))
		self.sm.setItem(2, 1, QtGui.QStandardItem("20120203000000000000000"))
		
		self.sm.setItem(3, 0, QtGui.QStandardItem("李四"))
		self.sm.setItem(3, 1, QtGui.QStandardItem("20120203000000000000000"))
		
		self.sm.setItem(4, 0, QtGui.QStandardItem("李四"))
		self.sm.setItem(4, 1, QtGui.QStandardItem("20120203000000000000000"))
		
		self.sm.setItem(5, 0, QtGui.QStandardItem("李四"))
		self.sm.setItem(5, 1, QtGui.QStandardItem("20120203000000000000000"))
		
		#设置条目颜色和字体
		self.sm.item(0, 0).setForeground(QtGui.QBrush(QtGui.QColor(255, 0, 0)))		
		self.sm.item(0, 0).setFont(QtGui.QFont("Times", 10, QtGui.QFont.Black))
		
		self.sm.item(3, 1).setBackground(QtGui.QBrush(QtGui.QColor(255, 255, 0)))
		
		#按照编号排序
		self.sm.sort(1, QtCore.Qt.DescendingOrder)
		
		#将数据模型绑定到QTableView
		self.tableView.setModel(self.sm)
		
		#QTableView
		self.tableView.setColumnWidth(0,100)
		self.tableView.setColumnWidth(1,200)
	
app = QApplication(sys.argv)
w = MainWindow()
w.show()
sys.exit(app.exec())

以上这篇PyQT5 QTableView显示绑定数据的实例详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

selenium+python自动化测试环境搭建步骤

selenium+python自动化测试环境搭建步骤

相对于自动化测试工具QTP来说,selenium小巧、免费,而且兼容Google、FireFox、IE多种浏览器,越来越多的人开始使用selenium进行自动化测试。 我是使用的pyth...

Django中更新多个对象数据与删除对象的方法

更新多个对象 例如说我们现在想要将Apress Publisher的名称由原来的”Apress”更改为”Apress Publishing”。若使用save()方法,如: >&...

浅析Python3 pip换源问题

pip安装源 背景# 在实际开发中, 可能要大量使用第三方模块(包), 更换至国内下载源, 可大幅提升下载速度 """ 1、采用国内源,加速下载模块的速度 2、常用pip源:...

python 中split 和 strip的实例详解

 python 中split 和 strip的实例详解 一直以来都分不清楚strip和split的功能,实际上strip是删除的意思;而split则是分割的意思。 python...

python网络编程学习笔记(10):webpy框架

python网络编程学习笔记(10):webpy框架

django和webpy都是python的web开发框架。Django的主要目的是简便、快速的开发数据库驱动的网站。它强调代码复用,多个组件可以很方便的以“插件”形式服务于整个框架,Dj...