- PyQt5 教程
- PyQt5 - 首頁
- PyQt5 - 簡介
- PyQt5 - 新特性
- PyQt5 - Hello World
- PyQt5 - 主要類
- PyQt5 - 使用 Qt Designer
- PyQt5 - 訊號與槽
- PyQt5 - 佈局管理
- PyQt5 - 基本部件
- PyQt5 - QDialog 類
- PyQt5 - QMessageBox
- PyQt5 - 多文件介面
- PyQt5 - 拖放
- PyQt5 - 資料庫操作
- PyQt5 - 繪圖 API
- PyQt5 - BrushStyle 常量
- PyQt5 - QClipboard
- PyQt5 - QPixmap 類
- PyQt5 有用資源
- PyQt5 - 快速指南
- PyQt5 - 有用資源
- PyQt5 - 討論
PyQt5 - 佈局管理
可以透過指定以畫素為單位的絕對座標,將 GUI 部件放置在容器視窗內。座標相對於由 setGeometry() 方法定義的視窗尺寸。
setGeometry() 語法
QWidget.setGeometry(xpos, ypos, width, height)
在下面的程式碼片段中,尺寸為 300x200 畫素的頂級視窗顯示在顯示器上的 (10, 10) 位置。
import sys
from PyQt4 import QtGui
def window():
app = QtGui.QApplication(sys.argv)
w = QtGui.QWidget()
b = QtGui.QPushButton(w)
b.setText("Hello World!")
b.move(50,20)
w.setGeometry(10,10,300,200)
w.setWindowTitle(“PyQt”)
w.show()
sys.exit(app.exec_())
if __name__ == '__main__':
window()
一個 **PushButton** 部件被新增到視窗中,並放置在視窗左上角位置向右 50 畫素,向下 20 畫素的位置。
然而,這種絕對定位由於以下原因並不合適:-
即使調整視窗大小,部件的位置也不會改變。
在具有不同解析度的不同顯示裝置上,外觀可能不一致。
佈局的修改比較困難,因為可能需要重新設計整個表單。
PyQt API 提供了佈局類,用於更優雅地管理容器內部件的定位。與絕對定位相比,佈局管理器具有以下優點:-
視窗內的部件會自動調整大小。
確保在具有不同解析度的顯示裝置上外觀一致。
可以動態新增或刪除部件,而無需重新設計。
Qt 工具包定義了各種佈局,可用於 Qt Designer 實用程式。
以下是我們將在此章節中逐一討論的類列表。
| 序號 | 類與描述 |
|---|---|
| 1 | QBoxLayout
QBoxLayout 類垂直或水平地排列部件。它的派生類是 QVBoxLayout(用於垂直排列部件)和 QHBoxLayout(用於水平排列部件)。 |
| 2 | QGridLayout
GridLayout 類物件以網格的形式呈現,網格中的單元格按行和列排列。該類包含 addWidget() 方法。可以透過指定單元格的行數和列數來新增任何部件。 |
| 3 | QFormLayout
QFormLayout 是一種建立兩列表單的便捷方法,其中每一行都包含一個與標籤關聯的輸入欄位。按照慣例,左列包含標籤,右列包含輸入欄位。 |
廣告