pyqt5 qwidget有父类窗口如何设置模态_Python PyQt5 表格控件(QTableWidget)的功能设置...

Python中GUI界面编程,简单点的直接用tkinter,或者TTK,功能再强大点的可能就要用到PyQt5。

但对初学者而言,后者的命令完全与前者不同,PyQt5中没有任何一个控件可以通过简单直观的命令进行参数设置,有的参数还需要嵌套甚至再嵌套才能设置,而且参数还分布在不同的包里,对一个控件设置不下一番功夫搜查是绝对搞不定的。

比如就做下面这个界面,单说里面的表格显示是如何设置的。

1a4e6d854b524cfe0a6c14320d6b820a.png

1、 先把程序框架搭起来,运行后会显示一个空的窗口,以后的扩充代码会放在程序的中间部分:

f949e26ca4953125ebbcb1092ad02cc7.png
import sysfrom 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_())

二、增加表格部件,放在一个布局中,就显示出一个表格的原始面貌:

51ff8f0bf00b3e50aaf93994ce17c172.png
self.tab=QTableWidget(3, 1)# 3行1列的表格self.vLayout=QVBoxLayout()# 垂直布局self.vLayout.addWidget(self.tab)# 表格放入布局self.setLayout(self.vLayout)# 应用布局

2、 看着窗口边框不顺眼,去掉:

self.setWindowFlags(Qt.FramelessWindowHint)     # 设置一个无边框窗口
bbf3fb57fc39c7dde33b2be87a16f8f1.png

三、给垂直列表头换上名字:

self.tab.setVerticalHeaderLabels(['收入', '支出', '余额'])    # 设置垂直列表头
37058cffde57a16846cc469cc01d6055.png

四、水平列表头不需要,要隐藏:

self.tab.horizontalHeader().setVisible(False)  # 设置行标题隐藏
92b6e2e396f808fc8aa132ee9b0473fa.png

五、设置表格水平拉伸

self.tab.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)   # 设置表格水平拉伸
31d99c34ee6bab71f7759d1e031f74da.png

六、给单元格赋值

self.tabItem1=QTableWidgetItem('10000.00')      # self.tab.setItem(0, 0, self.tabItem1)           # 给0行0列的单元格赋值
901e43c8e30443c1746573aa425aa157.png

七、设置单元格水平右对齐,垂直居中对齐

self.tabItem1.setTextAlignment(Qt.AlignRight|Qt.AlignVCenter)   # 水平右对齐,垂直居中对齐
e4315f60bd532ba36bddf201d1d7df9c.png

8、 还想设置字体颜色?

self.tab.setStyleSheet('background-color:DarkCyan;color:red;font:16px') # 设置字体颜色大小等
cce82068f2466c915fbaab481f951f6e.png

九、表格外面没充满窗口,将布局的边距设为0就行了

self.vLayout.setContentsMargins(0,0,0,0)    # 设置边距
36e2fbf5f94fdc5eafd31c70a9dd2827.png

再下来,每一个单元格都可以单独设置,单元格还可以插入组合下拉框等部件,大家可以根据需要进一步操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值