2015-11-21 155 views
0

對話窗口有三個小部件:QComboBox,QLineEdit和QPushButton。 當顯示對話框時,QLineEdit默認設置爲「當前」。執行的任何鍵盤輸入都將直接輸入到QLineEdit字段中。QPushButton默認狀態

而不是QLineEdit我希望QPushButton是最新的。所以用戶可以敲擊鍵盤的「Enter」鍵來觸發連接到QPushButton的功能。需要設置QPushButton的哪個標誌或屬性才能實現此目的?

+0

瘋狂猜測你可以嘗試改變標籤順序,或者焦點擺弄, 'setFocusPolicy'以防止該小部件自動獲得焦點。 – 101

+0

您可以嘗試更改初始化順序。或'setTabOrder(widget1,widget2)' – 0rko

回答

1

適當eventFilter如果使用QtDesigner,用QPushButton選擇去屬性編輯器並滾動至底部,設置默認屬性檢查或在您的代碼中,button.setDefault(True),此功能特別針對您正在尋找的內容。詳情請看here

0

我想,你想用eventFilter()來處理keyPressEvent()。那麼你只需要

self.pushButton.setFocus() 

在了QDialog的構造並安裝按鈕