我正在創建一個小型PyQt應用程序,並陷入了MouseOver效應。QPushButton FocusIn生成哪個信號?
我有一個QMainWindow
它有三個按鈕名爲createProfileButton
,downloadPackagesButton
和installPackagesButton
。所有這些都是類型QPushButton
現在我創建了一個標籤,當有人將鼠標懸停在這些按鈕上時,該標籤將保存文本。我查了一下資料,來到知道它可以處理使用過騎
- focusInEvent(個體經營,QFocusEvent)
- focusOutEvent(個體經營,QFocusEvent)按鈕
方法。現在這意味着我必須爲這三個按鈕中的每一個擴展QPushButton
,並且它們中的每一個都必須爲一個類的對象。我試圖尋找鼠標懸停或從按鈕上移開時發出的信號,但徒勞無功。我在網上獲得的所有幫助都是爲了實現這兩種方法。
Isnt是否擴展了一個類並創建了其中的一個過度殺傷?信號很整潔,不幸的是,我找不到任何信號。
- http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qpushbutton.html - 有沒有信號
- http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qabstractbutton.html - 已單擊發布,壓制和翻轉信號
- http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qwidget.html - 只有一個方法
所以我檢查了整個繼承層次,並沒有發現信號爲FocusIn
和FocusOut
我的意思是說,這是我可以添加焦點事件的唯一方法。我再次說過我想使用信號而不是事件方法。我不想爲每個按鈕分類一個類。 – 2010-02-03 18:47:52
當你自己聲明沒有焦點的信號時,你必須繼承QPushButton(一次不是每個實例一次)以在焦點發送信號時發送信號,或者如Kaleb所說的使用QApplication.focusChanged。 – 2010-02-03 19:07:15
@Manish - 我明白你的意思了。我編輯了我的答案,以澄清你將如何子類化。如果選項2不夠清楚,請告訴我。 – 2010-02-03 19:42:42