pyqt全域性快捷鍵

2022-03-10 23:42:57 字數 2202 閱讀 4508

測試了3個熱鍵庫,最終systemhotkey庫使用最簡單,安裝方法

簡易的demo,搬運官方

from system_hotkey import

systemhotkey

hk =systemhotkey()

hk.register((

'control

', '

shift

', '

h'), callback=lambda x: print("

easy!

"))

準備乙個pyqt訊號,和乙個熱鍵訊號

sig_keyhot =pyqtsignal(str)

self.hk_start = systemhotkey()

繫結熱鍵訊號到pyqt訊號

self.hk_start.register(('

control

','1

'),callback=lambda x:self.send_key_event("

start"))

defsend_key_event(self,i_str):

self.sig_keyhot.emit(i_str)

繫結pyqt訊號和pyqt槽

self.sig_keyhot.connect(self.mkey_pressevent)
至此流程閉環

demo

from system_hotkey import

systemhotkey

from pyqt5.qtwidgets import

from pyqt5.qtcore import

qobject,pyqtsignal

#這裡之所以繼承qobject是因為要使用自定義訊號(pyqt5要求)

class

c_demo(qwidget,qobject):

#定義乙個熱鍵訊號

sig_keyhot =pyqtsignal(str)

def__init__

(self,from):

#1. 簡單的繪製乙個視窗

super().__init__

(from)

from.resize(100,150)

#2. 設定我們的自定義熱鍵響應函式

self.sig_keyhot.connect(self.mkey_pressevent)

#3. 初始化兩個熱鍵

self.hk_start,self.hk_stop =systemhotkey(),systemhotkey()

#4. 繫結快捷鍵和對應的訊號傳送函式

self.hk_start.register(('

control

','1

'),callback=lambda x:self.send_key_event("

start"))

self.hk_stop.register((

'control

', '

2'), callback=lambda x: self.send_key_event("

stop"))

#熱鍵處理函式

defmkey_pressevent(self,i_str):

print("

按下的按鍵是%s

" %(i_str,))

#熱鍵訊號傳送函式(將外部訊號,轉化成qt訊號)

defsend_key_event(self,i_str):

self.sig_keyhot.emit(i_str)

if__name__ == "

__main__":

import

sys dialog_main =qdialog()

ui =c_demo(dialog_main)

dialog_main.show()

執行截圖

搜尋packageindex 到python的package庫

搜尋想找的功能,比如這個熱鍵,搜尋hotkey

檢視簡介和demo就能找到需要的包

很多部落格貼上複製出來的demo寫的著實令人迷惑,別在這個上邊浪費很多時間,找到合適的輪子,官網demo還是準,還能檢查版本是否匹配

全域性 快捷鍵 為Mac任意命令設定快捷鍵

舉個例子,想讓某個軟體 mitti 中的影象水平翻轉,你通常需要選擇 影象 水平翻轉 如果需要多次操作,是不是覺得有點麻煩?那麼就建立乙個快捷鍵吧。在選單欄中選擇 系統偏好設定 鍵盤 快捷鍵 在左側列表中選擇 應用快捷鍵 再點按 按鈕,就可以新增乙個新的快捷鍵,迅速完成水平翻轉了。建立自定義快捷鍵很...

Intellij IDEA全域性替換快捷鍵整理

idea全域性替換 通過快捷鍵 ctrl shift r 或這點選 edit find replace in path 有些idea版本按了快捷鍵也沒效果,經常遇到的原因如下 1 與其他軟體快捷鍵衝突了,特別是輸入法的快捷鍵。解決方案是 把輸入法的快捷鍵禁了。2 有時候全域性搜尋不到搜尋內容,可是就...

mac快捷鍵 xcode快捷鍵

快捷鍵圖示 com w關閉當前頁面 ctrl com com tab 切換程式 com option確定進入程式 option com 0開啟右邊使用工具欄 command option esc 開啟強制退出視窗 com option esc開啟強制退出 com 0 開啟導航器 com shift ...