电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

python GUI庫圖形界面開發(fā)之PyQt5表格控件QTableView詳細使用方法與實例

瀏覽:6日期:2022-08-04 18:58:00
PyQt5表格控件QTableView簡介

在通常情況下,一個應用需要和一批數(shù)據(jù)進行交互,然后以表格的形式輸出這些信息,這時就需要用到QTableView類了,在QTableView中可以使用自定義的數(shù)據(jù)模型來顯示內(nèi)容,通過setModel來綁定數(shù)據(jù)源

QTableWidget繼承自QTableView,主要區(qū)別是QTableView可以使用自定義的數(shù)據(jù)模型來顯示內(nèi)容(先通setModel來綁定數(shù)據(jù)源),而QTableWidget自能使用標準的數(shù)據(jù)模型,并且其單元格數(shù)據(jù)是通過QTableWidgetItem對象實現(xiàn)的,通常QTableWidget就能夠滿足我們的要求

QTableView可用的模式

QTableView控件可以綁定一個模型數(shù)據(jù)用來更新控件上的內(nèi)容

名稱 含義 QStringListModel 儲存一組字符串 QstandardItemModel 存儲任意層次結構的數(shù)據(jù) QDirModel 對文件系統(tǒng)進行封裝 QSqlQueryModel 對SQL的查詢結果集進行封裝 QSqlTableModel 對SQL中的表格進行封裝 QSqlRelationalTableModel 對帶有foreign key的SQL表格進行封裝 QSortFilterProxyModel 對模型中的數(shù)據(jù)進行排序或過濾 QTableView的使用實例

import sysfrom PyQt5.QtCore import *from PyQt5.QtWidgets import *from PyQt5.QtGui import *class Table(QWidget): def __init__(self,parent=None): super(Table, self).__init__(parent) #設置標題與初始大小 self.setWindowTitle(’QTableView表格視圖的例子’) self.resize(500,300) #設置數(shù)據(jù)層次結構,4行4列 self.model=QStandardItemModel(4,4) #設置水平方向四個頭標簽文本內(nèi)容 self.model.setHorizontalHeaderLabels([’標題1’,’標題2’,’標題3’,’標題4’]) # #Todo 優(yōu)化2 添加數(shù)據(jù) # self.model.appendRow([ # QStandardItem(’row %s,column %s’ % (11,11)), # QStandardItem(’row %s,column %s’ % (11,11)), # QStandardItem(’row %s,column %s’ % (11,11)), # QStandardItem(’row %s,column %s’ % (11,11)), # ]) for row in range(4): for column in range(4):item=QStandardItem(’row %s,column %s’%(row,column))#設置每個位置的文本值self.model.setItem(row,column,item) #實例化表格視圖,設置模型為自定義的模型 self.tableView=QTableView() self.tableView.setModel(self.model) # #todo 優(yōu)化1 表格填滿窗口 # #水平方向標簽拓展剩下的窗口部分,填滿表格 # self.tableView.horizontalHeader().setStretchLastSection(True) # #水平方向,表格大小拓展到適當?shù)某叽? # self.tableView.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch) # # #TODO 優(yōu)化3 刪除當前選中的數(shù)據(jù) # indexs=self.tableView.selectionModel().selection().indexes() # print(indexs) # if len(indexs)>0: # index=indexs[0] # self.model.removeRows(index.row(),1) #設置布局 layout=QVBoxLayout() layout.addWidget(self.tableView) self.setLayout(layout)if __name__ == ’__main__’: app=QApplication(sys.argv) table=Table() table.show() sys.exit(app.exec_())

運行程序,顯示效果如圖

python GUI庫圖形界面開發(fā)之PyQt5表格控件QTableView詳細使用方法與實例

從圖中可以看出,表格并沒有填滿窗口,每列都可以自由拉伸,但是可能會出現(xiàn)滾動條

優(yōu)化1:需要表格填充滿窗口,可以添加一下代碼

#水平方向標簽拓展剩下的窗口部分,填滿表格self.tableView.horizontalHeader().setStretchLastSection(True)#水平方向,表格大小拓展到適當?shù)某叽? self.tableView.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)

效果如下

python GUI庫圖形界面開發(fā)之PyQt5表格控件QTableView詳細使用方法與實例

優(yōu)化2:添加數(shù)據(jù)

#Todo 優(yōu)化2 添加數(shù)據(jù) self.model.appendRow([ QStandardItem(’row %s,column %s’ % (11,11)), QStandardItem(’row %s,column %s’ % (11,11)), QStandardItem(’row %s,column %s’ % (11,11)), QStandardItem(’row %s,column %s’ % (11,11)), ])

效果如圖

python GUI庫圖形界面開發(fā)之PyQt5表格控件QTableView詳細使用方法與實例

優(yōu)化3:刪除當前選中的數(shù)據(jù)

indexs=self.tableView.selectionModel().selection().indexes() print(indexs) if len(indexs)>0: index=indexs[0] self.model.removeRows(index.row(),1)

python GUI庫圖形界面開發(fā)之PyQt5表格控件QTableView詳細使用方法與實例

本文主要介紹了PyQt5表格控件QTableView詳細使用方法與實例,更多關于這方面的知識請查看下面的相關鏈接

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 奶茶加盟,奶茶加盟店连锁品牌-甜啦啦官网 | 盘式曝气器-微孔曝气器-管式曝气器-曝气盘-斜管填料 | 郑州市前程水处理有限公司 | 百度网站优化,关键词排名,SEO优化-搜索引擎营销推广 | 网络推广公司_网络营销方案策划_企业网络推广外包平台-上海澜推网络 | 粘度计维修,在线粘度计,二手博勒飞粘度计维修|收购-天津市祥睿科技有限公司 | 元拓建材集团官方网站| 经济师考试_2025中级经济师报名时间_报名入口_考试时间_华课网校经济师培训网站 | 西门子伺服电机维修,西门子电源模块维修,西门子驱动模块维修-上海渠利 | 深圳成考网-深圳成人高考报名网| 有声小说,听书,听小说资源库-听世界网 | 粉碎机_塑料粉碎机_塑料破碎机厂家-星标机械 | 石家庄小程序开发_小程序开发公司_APP开发_网站制作-石家庄乘航网络科技有限公司 | 纯化水设备-纯水设备-超纯水设备-[大鹏水处理]纯水设备一站式服务商-东莞市大鹏水处理科技有限公司 | 拉力机-拉力试验机-万能试验机-电子拉力机-拉伸试验机-剥离强度试验机-苏州皖仪实验仪器有限公司 | 冷却塔厂家_冷却塔维修_冷却塔改造_凉水塔配件填料公司- 广东康明节能空调有限公司 | 线材成型机,线材折弯机,线材成型机厂家,贝朗自动化设备有限公司1 | 圆窗水平仪|伊莉莎冈特elesa+ganter | 工控机,嵌入式主板,工业主板,arm主板,图像采集卡,poe网卡,朗锐智科 | 定制液氮罐_小型气相液氮罐_自增压液氮罐_班德液氮罐厂家 | 底部填充胶_电子封装胶_芯片封装胶_芯片底部填充胶厂家-东莞汉思新材料 | 广州市哲铭油墨涂料有限公司,水性漆生产研发基地 | 铣床|万能铣床|立式铣床|数控铣床|山东滕州万友机床有限公司 | 环保袋,无纺布袋,无纺布打孔袋,保温袋,环保袋定制,环保袋厂家,环雅包装-十七年环保袋定制厂家 | 深圳展厅设计_企业展馆设计_展厅设计公司_数字展厅设计_深圳百艺堂 | 北京宣传片拍摄_产品宣传片拍摄_宣传片制作公司-现像传媒 | 领袖户外_深度旅游、摄影旅游、小团慢旅行、驴友网 | 干式变压器厂_干式变压器厂家_scb11/scb13/scb10/scb14/scb18干式变压器生产厂家-山东科锐变压器有限公司 | 贝壳粉涂料-内墙腻子-外墙腻子-山东巨野七彩贝壳漆业中心 | 色油机-色母机-失重|称重式混料机-称重机-米重机-拌料机-[东莞同锐机械]精密计量科技制造商 | 鑫达滑石-辽宁鑫达滑石集团 | 智能气瓶柜(大型气瓶储存柜)百科 | 螺旋叶片_螺旋叶片成型机_绞龙叶片_莱州源泽机械制造有限公司 | 薪动-人力资源公司-灵活用工薪资代发-费用结算-残保金优化-北京秒付科技有限公司 | 吸污车_吸粪车_抽粪车_电动三轮吸粪车_真空吸污车_高压清洗吸污车-远大汽车制造有限公司 | 塑料造粒机「厂家直销」-莱州鑫瑞迪机械有限公司 | 潍坊青州古城旅游景点攻略_青州酒店美食推荐-青州旅游网 | 二氧化碳/活性炭投加系统,次氯酸钠发生器,紫外线消毒设备|广州新奥 | ISO9001认证咨询_iso9001企业认证代理机构_14001|18001|16949|50430认证-艾世欧认证网 | 不锈钢水箱生产厂家_消防水箱生产厂家-河南联固供水设备有限公司 | Brotu | 关注AI,Web3.0,VR/AR,GPT,元宇宙区块链数字产业 | 正压密封性测试仪-静态发色仪-导丝头柔软性测试仪-济南恒品机电技术有限公司 |