🚀 7 天 Python Qt 上手指南 - Day 1

更新 發佈閱讀 4 分鐘

Day 1:打造你的第一個視窗 (The Skeleton)

首先,請確保你的環境已經安裝了 PySide6:

pip install PySide6

在開始寫程式碼之前,我們先建立一個重要的觀念。每一個 Qt 程式(GUI)運作時,背後都需要有一個「無限迴圈」在監聽使用者的動作(滑鼠點擊、鍵盤輸入)。

為了達成這個目的,我們通常需要兩個核心元件:

  1. QApplication:它是程式的「大腦」,負責管理那個無限迴圈和系統設定。
  2. 視窗 (Window):它是程式的「臉」,使用者看到的介面。
raw-image


🛠️ Day 1:寫下你的第一段 GUI 程式碼

現在,我們來看看 PySide6 的標準起手式。這段程式碼是所有 Qt 程式的骨架。

請看下面這段程式碼,這裡面藏了一個物件導向繼承時常見的「小陷阱」:

import sys
from PySide6.QtWidgets import QApplication, QMainWindow

class MainWindow(QMainWindow):
def __init__(self):
# 🛑 這裡少了一行非常重要的程式碼!

self.setWindowTitle("我的第一個 App") # 設定視窗標題
self.setFixedSize(400, 300) # 設定視窗大小

# --- 程式進入點 ---
app = QApplication(sys.argv) # 1. 建立應用程式 (大腦)
window = MainWindow() # 2. 建立視窗實體 ()
window.show() # 3. 讓視窗顯示出來 (預設是隱藏的)
app.exec() # 4. 啟動無限迴圈 (Event Loop)
請問在 __init__ 方法中,在我們設定標題之前,必須先呼叫哪一行程式碼,才能確保父類別 QMainWindow 的功能被正確初始化?


沒錯!正是 super()

更精確地說,是 super().__init__()。這行程式碼會呼叫父類別 (QMainWindow) 的建構函式,讓 Qt 幫我們把視窗底層的所有線路都接好。如果少了它,程式會因為找不到視窗的基礎設定而直接閃退。

完整的起手式如下:

class MainWindow(QMainWindow):
def __init__(self):
super().__init__() # ✅ 關鍵的一行:初始化父類別

self.setWindowTitle("我的第一個 App")
self.setFixedSize(400, 300)







留言
avatar-img
工程師觀察日記
3會員
59內容數
寫給想認識工程師的一般人,也寫給還在加班的你 如果你不是工程師,大概早就被各種標籤洗腦: 「工程師很會賺、很宅、很不會講話、穿著隨便、一直換工作。」 但在這裡,你看到的不是「某種職業刻板印象」,而是活生生的人—— 他們會寫程式,也會懷疑人生;會 debug,也會對年終獎金抱有不切實際的期待。