- PyQt5 教程
- PyQt5 - 主頁
- PyQt5 - 簡介
- PyQt5 - 新特性
- PyQt5 - Hello World
- PyQt5 - 主要類
- PyQt5 - 使用 Qt Designer
- PyQt5 - 訊號和槽
- PyQt5 - 佈局管理
- PyQt5 - 基本控制元件
- PyQt5 - QDialog 類
- PyQt5 - QMessageBox
- PyQt5 - 多文件介面
- PyQt5 - 拖放
- PyQt5 - 資料庫處理
- PyQt5 - 繪圖 API
- PyQt5 - 畫筆樣式常量
- PyQt5 - QClipboard
- PyQt5 - QPixmap 類
- PyQt5 有用資源
- PyQt5 - 快速指南
- PyQt5 - 有用資源
- PyQt5 - 討論
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) 在指定的行和列中新增一個佈局物件 |
示例
以下程式碼建立一個網格佈局,其中包含 4 行和 4 列網格佈局中排列的 16 個按鈕。
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 迴圈用於行號和列號,由變數 i 和 j 表示。它們被轉換為字串,以將每個按鈕的標題連線起來,這些按鈕將新增到第 ith 行和第 jth 列。
上述程式碼生成以下輸出 −
pyqt_layout_management.htm
廣告