ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# PyQt 网格 > 原文: [https://pythonbasics.org/PyQt-grid/](https://pythonbasics.org/PyQt-grid/) PyQt `QGridLayout`是另一种布局。通常,您可以使用`.move(x, y)`来定位小部件(按钮,标签等)。 网格不是这样。 它以 AxB 形式放置小部件。 其中,A 是列数,B 是行数。 与您在 Excel 中看到的类似。 `QGridLayout`是`PyQt5.QtWidgets`的一部分。 ## 示例 ### `QGridLayout` 您可以使用单行代码创建`QGridLayout`或网格: ```py grid = QGridLayout() ``` 告诉窗口使用网格: ```py win.setLayout(grid) ``` 可以使用以下工具将小部件添加到网格: ```py grid.addWidget(widget,col,row) ``` ![pyqt grid](https://img.kancloud.cn/cd/eb/cdebd0ffa3f5d2717aaba71d6d9e41e0_460x244.jpg) ### 网格示例 下面的代码创建一个包含一组按钮的布局。 它通过使用嵌套的 for 循环添加一组按钮。 创建网格的关键部分是: ```py grid = QGridLayout() for i in range(0,5): for j in range(0,5): grid.addWidget(QPushButton(str(i)+str(j)),i,j) win.setLayout(grid) ``` 其余代码仅创建窗口。 但是复制和粘贴很容易。 ```py import sys from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QGridLayout, QPushButton from PyQt5.QtGui import QIcon from PyQt5.QtCore import pyqtSlot def window(): app = QApplication(sys.argv) win = QWidget() grid = QGridLayout() for i in range(0,5): for j in range(0,5): grid.addWidget(QPushButton(str(i)+str(j)),i,j) win.setLayout(grid) win.setWindowTitle("PyQt Grid Example") win.setGeometry(50,50,200,200) win.show() sys.exit(app.exec_()) if __name__ == '__main__': window() ``` [下载示例](https://gum.co/pysqtsamples)