PyQt5 QGridLayout类

PyQt5 QGridLayout类

一个 GridLayout 类对象呈现了一个以行和列排列的单元格。该类包含 addWidget() 方法。任何部件都可以通过指定单元格的行和列的数量来添加。可选的是,如果指定了行和列的跨度系数,那么该部件就会比一个单元格更宽或更高。addWidget()方法的两个重载如下。

序号 方法和描述
1 addWidget(QWidget, int r, int c) 在指定的行和列上添加一个小组件。
2 addWidget(QWidget, int r, int c, int rowspan, int columnspan) 在指定的行和列添加一个具有指定宽度和/或高度的部件。

一个子布局对象也可以被添加到网格中的任何单元。

序号 方法和描述
1 addLayout(QLayout, int r, int c) 在指定的行和列上添加一个布局对象。

例子

下面的代码创建了一个由16个按钮组成的网格布局,在4行4列的网格布局中排列。

import sys 
from PyQt5.QtCore import * 
from PyQt5.QtGui import * 
from PyQt5.QtWidgets import *

def window():
   app = QApplication(sys.argv)
   win = QWidget()
   grid = QGridLayout()

   for i in range(1,5):
      for j in range(1,5):
         grid.addWidget(QPushButton("B"+str(i)+str(j)),i,j)

   win.setLayout(grid)
   win.setGeometry(100,100,200,100)
   win.setWindowTitle("PyQt")
   win.show()
   sys.exit(app.exec_())

if __name__ == '__main__':
   window()

该代码使用了两个嵌套的for循环来处理行和列的数字,用变量 ij 表示 它们被转换为字符串,以串联要添加在 _ 第 i_行和 _ 第 j_列的每个按钮的标题。

上述代码产生以下输出

PyQt5 - QGridLayout类

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程