QGridLayout
优质
小牛编辑
143浏览
2023-12-01
GridLayout类对象显示按行和列排列的单元格网格。 该类包含addWidget()方法。 可以通过指定单元格的行数和列数来添加任何窗口小部件。 可选地,行和列的跨越因子(如果指定)使得窗口小部件比一个单元更宽或更高。 addWidget()方法的两个重载如下 -
Sr.No. | 方法和描述 |
---|---|
1 | addWidget(QWidget, int r, int c) 在指定的行和列添加小部件 |
2 | addWidget(QWidget, int r, int c, int rowspan, int columnspan) 在指定的行和列添加窗口小部件并具有指定的宽度和/或高度 |
子网格布局对象也可以添加到网格中的任何单元格中。
Sr.No. | 方法和描述 |
---|---|
1 | addLayout(QLayout, int r, int c) 在指定的行和列添加布局对象 |
例子 (Example)
以下代码创建了16个按钮的网格布局,这些按钮按4行4列的网格布局排列。
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui 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循环,由变量i和j 。 它们被转换为字符串以连接每个按钮的标题,以便在i th行和j th列添加。
上面的代码产生以下输出 -