- PyQt 教程
- PyQt - 首頁
- PyQt - 簡介
- PyQt - 環境配置
- PyQt - Hello World
- PyQt - 主要類
- PyQt - 使用 Qt Designer
- PyQt - 元物件
- PyQt 訊號與槽
- PyQt - 訊號和槽
- PyQt - 支援和訊號
- PyQt - 未繫結和已繫結訊號
- PyQt - 使用 PyQtSignal 建立新的訊號
- PyQt - 連線、斷開和發射訊號
- PyQt - 槽裝飾器
- PyQt - 槽連線
- PyQt 佈局
- PyQt - 佈局管理
- PyQt - QBoxLayout
- PyQt - QGridLayout
- PyQt - QFormLayout
- PyQt - QHBoxLayout
- PyQt - QVBoxLayout
- PyQt - QStackedLayout
- PyQt - QGraphicsGridLayout
- PyQt - QGraphicsAnchorLayout
- PyQt - QGraphicsLayout
- PyQt - QGraphicsLinearLayout
- PyQt 基本控制元件
- PyQt - 基本控制元件
- PyQt - QLabel 控制元件
- PyQt - QLineEdit 控制元件
- PyQt - QPushButton 控制元件
- PyQt - QRadioButton 控制元件
- PyQt - QCheckBox 控制元件
- PyQt - QComboBox 控制元件
- PyQt - QSpinBox 控制元件
- PyQt - QMessageBox
- PyQt - QDialogButtonBox 控制元件
- PyQt - QFontComboBox 控制元件
- PyQt - QDoubleSpinBox 控制元件
- PyQt - QToolBox 控制元件
- PyQt - QDialog 類
- PyQt - QMessageBox
- PyQt - 多文件介面
- PyQt - 拖放操作
- PyQt 繪圖 API
- PyQt - 繪圖 API
- PyQt 資料庫
- PyQt - 資料庫處理
- PyQt 核心知識
- PyQt - BrushStyle 常量
- PyQt - QClipboard
- PyQt - QPixmap 類
- PyQt 有用資源
- PyQt - 快速指南
- PyQt - 有用資源
- PyQt - 討論
PyQt - 佈局管理
可以透過指定以畫素為單位測量的絕對座標,將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 提供了佈局類,用於更優雅地管理容器內小部件的位置。與絕對定位相比,佈局管理器的優點是:
視窗內的小部件會自動調整大小。
確保在具有不同解析度的顯示裝置上外觀統一。
可以動態新增或刪除小部件,而無需重新設計。
以下是我們將在本章中逐一討論的類列表。
| 序號 | 類和描述 |
|---|---|
| 1 | QBoxLayout
QBoxLayout 類垂直或水平排列小部件。其派生類是 QVBoxLayout(用於垂直排列小部件)和 QHBoxLayout(用於水平排列小部件)。 |
| 2 | QGridLayout
GridLayout 類物件以行和列排列的單元格網格形式呈現。該類包含 addWidget() 方法。可以透過指定單元格的行數和列數來新增任何小部件。 |
| 3 | QFormLayout
QFormLayout 是一種建立兩列表單的便捷方式,其中每一行都包含一個與標籤關聯的輸入欄位。按照慣例,左列包含標籤,右列包含輸入欄位。 |
廣告