Python PyQt5 表格控件(QTableWidget)的功能设置
Python中GUI界面编程,简单点的直接用tkinter,或者TTK,功能再强大点的可能就要用到PyQt5。
但对初学者而言,后者的命令完全与前者不同,PyQt5中没有任何一个控件可以通过简单直观的命令进行参数设置,有的参数还需要嵌套甚至再嵌套才能设置,而且参数还分布在不同的包里,对一个控件设置不下一番功夫搜查是绝对搞不定的。
比如就做下面这个界面,单说里面的表格显示是如何设置的。
1、 先把程序框架搭起来,运行后会显示一个空的窗口,以后的扩充代码会放在程序的中间部分:
import sys
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
class myEx(QWidget):
def __init__(self):
super().__init__()
self.setGUI()
def setGUI(self):
self.setGeometry(200,200,300,200)
self.setWindowFlags(Qt.FramelessWindowHint) # 设置一个无边框窗口
'''
扩充代码放在这里
'''
self.show()
if __name__=='__main__':
app=QApplication(sys.argv)
ex=myEx()
sys.exit(app.exec_())
二、增加表格部件,放在一个布局中,就显示出一个表格的原始面貌:
self.tab=QTableWidget(3, 1) # 3行1列的表格self.vLayout=QVBoxLayout() # 垂直布局self.vLayout.addWidget(self.tab) # 表格放入布局self.setLayout(self.vLayout) # 应用布局
2、 看着窗口边框不顺眼,去掉:
self.setWindowFlags(Qt.FramelessWindowHint) # 设置一个无边框窗口
三、给垂直列表头换上名字:
self.tab.setVerticalHeaderLabels(['收入', '支出', '余额']) # 设置垂直列表头
四、水平列表头不需要,要隐藏:
self.tab.horizontalHeader().setVisible(False) # 设置行标题隐藏
五、设置表格水平拉伸
self.tab.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch) # 设置表格水平拉伸
六、给单元格赋值
self.tabItem1=QTableWidgetItem('10000.00') # self.tab.setItem(0, 0, self.tabItem1) # 给0行0列的单元格赋值
七、设置单元格水平右对齐,垂直居中对齐
self.tabItem1.setTextAlignment(Qt.AlignRight|Qt.AlignVCenter) # 水平右对齐,垂直居中对齐
8、 还想设置字体颜色?
self.tab.setStyleSheet('background-color:DarkCyan;color:red;font:16px') # 设置字体颜色大小等
九、表格外面没充满窗口,将布局的边距设为0就行了
self.vLayout.setContentsMargins(0,0,0,0) # 设置边距
再下来,每一个单元格都可以单独设置,单元格还可以插入组合下拉框等部件,大家可以根据需要进一步操作。
请先 后发表评论~