第15.45節、PyQt輸入部件:QKeySequenceEdit快捷鍵輸入部件簡介和使用案例

一、功能簡介

Key Sequence Edit輸入部件是用於輸入快捷鍵序列的一個部件,輸入快捷鍵完成後會發射keySequenceChanged( QKeySequence)和editingFinished()信號,前者的信號簽名就是新輸入的快捷鍵序列,後者則不能提供快捷鍵,但可以通過部件的keySequence屬性獲取。

二、案例

2.1、案例介紹

在一個窗口中設計了一個按鈕,點擊該按鈕就會彈出一個設置按鈕快捷鍵的QKeySequenceEdit彈窗以供輸入快捷鍵,輸入完成後即將按鈕快捷鍵設置爲輸入值。

2.2、界面設計

在這裏插入圖片描述

2.3、按鈕點擊響應槽方法setBtnShortCut開發

槽方法的目的就是彈出快捷鍵設置框,並將快捷鍵編輯部件的keySequenceChanged信號連接到綁定快捷鍵到按鈕的槽方法。

    def setBtnShortCut(self):
        self.keySeqEdit = QtWidgets.QKeySequenceEdit()
        self.keySeqEdit.show()
        self.keySeqEdit.keySequenceChanged[QtGui.QKeySequence].connect(self.btnshortCutChanged) 

2.4、快捷鍵改變的槽方法btnshortCutChanged開發

槽方法的目的就是將最新的快捷鍵設置爲按鈕。

    def btnshortCutChanged(self,ks):
        self.btn_setShortcut.setShortcut(ks)
        print(ks.toString())

這樣設置後,就可以直接使用設置的快捷鍵觸發按鈕了。

三、運行截圖

初始界面

在這裏插入圖片描述

點擊按鈕後的彈窗界面

在這裏插入圖片描述

輸入快捷鍵ASD

在這裏插入圖片描述
運行控制檯打印出輸入的快捷鍵:
在這裏插入圖片描述
此時在界面上連續輸入“asd”三個字符,就會再次觸發快捷鍵的設置。

廣告

老猿關於PyQt的付費專欄《使用PyQt開發圖形界面Python應用》只需要9.9元,該部分與第十五章的內容基本對應,但同樣內容在付費專欄上總體來說更詳細、案例更多。本節內容對應付費專欄的《第三十八章、PyQt輸入部件:QKeySequenceEdit快捷鍵輸入部件使用案例》。如果有興趣也願意支持老猿的讀者,歡迎購買付費專欄。

跟老猿學Python、學5G!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章