QGridLayout栅格布局函数参数设置

对于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 sys
class 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_())

  

posted @ 2019-12-31 09:17  The-Chosen-One  阅读(2799)  评论(0编辑  收藏  举报