对于PyQt5的栅格布局函数,主要是实现多个控件之间的栅格布局形式,一般有两种设置方式:
1、Qdesigner布局设置时直接使用栅格布局函数,便可以把所需要布局的控件直接按照栅格方式来进行布局;
2、直接使用Python语言QGridLayout函数参数设置来进行对应的栅格布局,在Python语言直接进行栅格函数QGridLayout布局设置时,具体的函数参数将其含义如下所示:
QGridLayout.addWidgets(控件对象,Rowindex.Columnindex,Row,Cloumn):
(1)控件对象是指你需要你进行栅格布局的控件对象;
(2)Rowindex是指需要将控件对象放置的行号;
(3)Columnindex是指需要将控件放置的列号;
(4)Row是指需要将控件对象放置的行尺寸,即长度大小,以1为单位的长度;
(5)Column是指需要将控件对象放置的列尺寸,即宽度大小,以1为单位的长度;
具体的训练代码如下所示:
from PyQt5.QtWidgets import *import sysclass QLabelbuddy(QDialog): def __init__(self): super().__init__() self.initUI() def initUI(self): self.setWindowTitle("QLabel设置伙伴关系") namelabel=QLabel("&Name",self) #设置伙伴关系的方式是使用Setbuddy函数将两个控件联系在一起,然后对于label控件使用(“&+名字”),即可实现Alt+首字母的快捷键直接到对应的控件 nameLineEdit=QLineEdit(self) #设置伙伴关系 namelabel.setBuddy(nameLineEdit) passwordlabel=QLabel("&Password",self) passwordlineedit=QLineEdit(self) passwordlabel.setBuddy(passwordlineedit) #需要使用Setbuddy函数来设置伙伴关系,将其联系在一起 #设置伙伴关系 btnOK=QPushButton("&OK") #设置快捷键的方式 btnCancle=QPushButton("&Cancle") mainlayout=QGridLayout(self) # 栅格布局定义 mainlayout.addWidget(namelabel,0,0) #放置在栅格布局第一行和第一列(0,0) mainlayout.addWidget(nameLineEdit,0,1,1,2) #将其放置在栅格布局第一行和第二列,另外占用的空间是一行两列,即是label的宽度的两倍 mainlayout.addWidget(passwordlabel,1,0) mainlayout.addWidget(passwordlineedit,1,1,1,2) mainlayout.addWidget(btnOK,2,1) mainlayout.addWidget(btnCancle,2,2) if __name__ == ‘__main__‘: app = QApplication(sys.argv) w = QLabelbuddy() w.show() sys.exit(app.exec_())
原文地址:https://www.cnblogs.com/Yanjy-OnlyOne/p/12122760.html
时间: 2024-10-04 08:41:23