PySide6 入門
PySide6 是 Qt 官方的 Python binding(又稱 Qt for Python),用來開發跨平台桌面應用(Windows / macOS / Linux)。語法接近原生 Qt,生態成熟,適合做工具軟體、內部系統、本機工具。
若想快速做出接近 Windows 11 / Fluent Design 的現代化介面,可搭配 QFluentWidgets(PySide6-Fluent-Widgets)。
為什麼選 PySide6?
| 項目 | 說明 |
|---|---|
| 授權 | LGPL,商業閉源較友善(相較部分 PyQt 授權情境) |
| 維護 | Qt Company 官方支援 |
| API | 與 Qt 6 對齊,文件與範例豐富 |
| 跨平台 | 同一套 Python 程式可打包到三大桌面平台 |
與 PyQt6 的差異:API 幾乎相同,但授權與 import 名稱不同。同一專案不要混用 PySide6 與 PyQt6。
安裝
建議使用虛擬環境:
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install PySide6
用 uv 時:
uv add PySide6
驗證:
python -c "from PySide6.QtWidgets import QApplication; print('PySide6 OK')"
最小視窗(Hello World)
import sys
from PySide6.QtWidgets import QApplication, QLabel, QWidget, QVBoxLayout
def main() -> None:
app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("Hello PySide6")
window.resize(360, 200)
label = QLabel("你好,PySide6!")
layout = QVBoxLayout(window)
layout.addWidget(label)
window.show()
sys.exit(app.exec())
if __name__ == "__main__":
main()
重點:
- 必須先建立
QApplication(一個行程通常只有一個)。 - 建立視窗與控件,用 layout 排版。
show()顯示,app.exec()進入事件迴圈。