码迷,mamicode.com
首页 > 其他好文 > 详细

PyQt5-高级控件使用(QTableWidget)

时间:2018-12-06 20:47:23      阅读:912      评论:0      收藏:0      [点我收藏+]

标签:statusbar   pix   类型   选中一行   jin   否则   widgets   count   界面   

QTableWidget是Qt中常用显示数据的表格,类似其他语言中的DataGrid; QTableWidget是QtableView的子类;每个单元格下是一个QTableWidgetItem对象;

常用方法如下:

技术分享图片

表格编辑类型的枚举常量:

技术分享图片

单元格选中相关枚举类型:

技术分享图片

单元格内容对齐方式枚举类型:

技术分享图片

技术分享图片

例如:

 1 #QTableWidget 控件使用
 2 from PyQt5.QtWidgets import  QTableView,QAbstractItemView,QHeaderView,QTableWidget, QTableWidgetItem, QMessageBox,QListWidget,QListWidgetItem, QStatusBar,  QMenuBar,QMenu,QAction,QLineEdit,QStyle,QFormLayout,   QVBoxLayout,QWidget,QApplication ,QHBoxLayout, QPushButton,QMainWindow,QGridLayout,QLabel
 3 from PyQt5.QtGui import QIcon,QPixmap,QStandardItem,QStandardItemModel,QCursor
 4 from PyQt5.QtCore import QStringListModel,QAbstractListModel,QModelIndex,QSize,Qt
 5 import sys
 6 
 7 class WindowClass(QWidget):
 8 
 9     def __init__(self,parent=None):
10 
11         super(WindowClass, self).__init__(parent)
12         self.layout=QHBoxLayout()
13         self.resize(400,300)
14         tableWidget=QTableWidget()
15         tableWidget.setRowCount(4)#行数
16         tableWidget.setColumnCount(4)#列数
17         tableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)#所有列自动拉伸,充满界面
18         tableWidget.setSelectionMode(QAbstractItemView.SingleSelection)  # 设置只能选中一行
19         tableWidget.setEditTriggers(QTableView.NoEditTriggers)  # 不可编辑
20         tableWidget.setSelectionBehavior(QAbstractItemView.SelectRows);  # 设置只有行选中
21         
22         self.layout.addWidget(tableWidget)
23         tableWidget.setHorizontalHeaderLabels([姓名,地址,年龄,工资]) #横向标题排列,如果使用setVerticalHeaderLabels则是纵向排列标题
24         items=[[JONES,Beijing,23,2300],[SMITH,SHAngHai,23,3000],[ZY,Tianjin,23,2000],[Smith,SJT,22,1030]]
25         for i in range(len(items)):#注意上面列表中数字加单引号,否则下面不显示(或者下面str方法转化一下即可)
26             item=items[i]
27             for j in range(len(item)):
28                  item = QTableWidgetItem(str(items[i][j]))
29                  tableWidget.setItem(i,j,item)
30         self.setLayout(self.layout)
31 
32 if __name__=="__main__":
33     app=QApplication(sys.argv)
34     win=WindowClass()
35     win.show()
36     sys.exit(app.exec_())

 

以上部分方法是之间使用QTableView组件时使用过的;请注意;

技术分享图片

 

PyQt5-高级控件使用(QTableWidget)

标签:statusbar   pix   类型   选中一行   jin   否则   widgets   count   界面   

原文地址:https://www.cnblogs.com/ygzhaof/p/10078114.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!