在 Qt5.4 中,若有多個按鈕要共用同一個槽函數,可以透過 QObject::sender() 取得觸發訊號的物件。將 sender() 結果轉型為 QPushButton* 後,即可呼叫 text() 方法取得按鈕上的數字文字。
將九個按鈕的 clicked() 訊號都連接到同一個槽函數,在槽函數內部判斷哪個按鈕被觸發,並根據按鈕文字執行對應的數字輸入邏輯。這樣可以避免為每個按鈕都寫重複的槽函數。
注意 sender() 僅在訊號發射期間有效,若在非同步或延遲呼叫中使用,請先將指標儲存起來。