def main(): app = QtWidgets.QApplication(sys.argv) window = QtWidgets.QMainWindow() print("Press Ctrl+Shift+A any where. Ctrl+Shift+E exits the app.") # Setup a global keyboard shortcut to print "Hello World" on pressing # the shortcut keybinder.init() def callback(): print("hello world") def exit_app(): window.close() keybinder.register_hotkey(window.winId(), "Shift+Ctrl+A", callback) keybinder.register_hotkey(window.winId(), "Shift+Ctrl+E", exit_app) # Install a native event filter to receive events from the OS win_event_filter = WinEventFilter(keybinder) event_dispatcher = QAbstractEventDispatcher.instance() event_dispatcher.installNativeEventFilter(win_event_filter) window.show() app.exec_() keybinder.unregister_hotkey(window.winId(), "Shift+Ctrl+A") keybinder.unregister_hotkey(window.winId(), "Shift+Ctrl+E")
def run(self): '''运行并显示窗口''' self.mainWindow.move(*self._position) # 输入结束信号连接run槽 self.ui.lineEdit.editingFinished.connect(self.call_action) # 重写keyPressEvent self.ui.lineEdit.keyPressEvent = self.keypressevent( self.ui.lineEdit.keyPressEvent) # 去除顶栏 和 一直在顶部 self.mainWindow.setWindowFlags(QtCore.Qt.FramelessWindowHint | QtCore.Qt.WindowStaysOnTopHint) self._getconfig() self._loadconfig() self._writeconfig() pyperclip.determine_clipboard() keybinder.init() keybinder.register_hotkey(self.mainWindow.winId(), "Shift+Ctrl+A", self.callback) keybinder.register_hotkey(self.mainWindow.winId(), "Shift+Ctrl+E", self.mainWindow.close) win_event_filter = WinEventFilter(keybinder) event_dispatcher = QtCore.QAbstractEventDispatcher.instance() event_dispatcher.installNativeEventFilter(win_event_filter) sys.exit(self.app.exec_()) keybinder.unregister_hotkey(self.mainWindow.winId(), "Shift+Ctrl+A") keybinder.unregister_hotkey(self.mainWindow.winId(), "Shift+Ctrl+F")
def enableHotKey(self, enable:bool): try: if enable: keybinder.register_hotkey(self.window_.winId(), self.hotkeyCombo,self.onTriggerHotKey) else: keybinder.unregister_hotkey(self.window_.winId(), self.hotkeyCombo) except Exception as e: print(e)
def main(): default_settings = { "window_height": "all", # all, half "result_format": "latex", # latex, word "use_dev_api": False, "shot_hot_key": "Alt+D", "ocr_hot_key": "Alt+S", "link": "", # "", "account": "", # 手机号或者开发者账号 "passwd": "" # 动态密码或者开发者密码 } welcom_msg = ''' Pacoo 公式识别桌面版 【在 2020.10.31 下载使用本软件可向客服(微信号:pacoo1614)领取66次免费识别次数。】 使用说明: 1. 按下快捷键:Alt+D 2. 框出要识别的公式 3. 在需要插入公式的地方粘贴 ''' print(welcom_msg) op.play_sound("welcome") try: homeDir = os.path.expanduser("~") with open(homeDir + "\\pacoo.conf", "r") as f: settings = json.load(f) except: settings = default_settings app = QApplication(sys.argv) window = MyWin(settings) keybinder.init() unregistered = False def callback(): print("hello world") def start_oct(): window.click_btn() def exit_app(): window.close() def unregister(): keybinder.unregister_hotkey(window.winId(), "Shift+Ctrl+A") print("unregister and register previous binding") keybinder.register_hotkey(window.winId(), "Shift+Ctrl+A", callback) keybinder.register_hotkey(window.winId(), "Shift+Ctrl+A", callback) keybinder.register_hotkey(window.winId(), "Alt+D", start_oct) # Install a native event filter to receive events from the OS win_event_filter = WinEventFilter(keybinder) event_dispatcher = QAbstractEventDispatcher.instance() event_dispatcher.installNativeEventFilter(win_event_filter) window.show() sys.exit(app.exec_())
def setup_shortcuts(self): # self.translate_shortcut = QtWidgets.QShortcut( # QtGui.QKeySequence('Ctrl+D'), # self.main_window # ) # self.translate_shortcut.activated.connect(lambda: self.click_translate()) # shortcut when not focus keybinder.init() keybinder.register_hotkey(self.main_window.winId(), 'Ctrl+D', self.translate_selected_text) self.win_event_filter = WinEventFilter(keybinder) self.event_dispatcher = QtCore.QAbstractEventDispatcher.instance() self.event_dispatcher.installNativeEventFilter(self.win_event_filter)
def activeHotkeys(h1, h2, h3, h4): keybinder.register_hotkey(window.winId(), h1, window.widget.getMousePosition) keybinder.register_hotkey(window.winId(), h2, stopAction) keybinder.register_hotkey(window.winId(), h3, start) keybinder.register_hotkey(window.winId(), h4, exit_app) win_event_filter = WinEventFilter(keybinder) event_dispatcher = QAbstractEventDispatcher.instance() event_dispatcher.installNativeEventFilter(win_event_filter)
def create_shortcut_connections(self): keybinder.init() # Are certain keys impossible to shortcut with pyqtkeybind # keybinder.register_hotkey(self.winId(), "MediaTogglePlayPause", self.music_control_box.toggle_play_pause) # keybinder.register_hotkey(self.winId(), "MediaPlay", self.music_control_box.play_button.plb_clicked) # keybinder.register_hotkey(self.winId(), "MediaPause", self.music_control_box.pause_button.pb_clicked) # keybinder.register_hotkey(self.winId(), "MediaNext", self.music_control_box.next_button.nb_clicked) # keybinder.register_hotkey(self.winId(), "MediaPrevious", self.music_control_box.previous_button.prb_clicked) # keybinder.register_hotkey(self.winId(), "MediaStop", self.music_control_box.stop_button.sb_clicked) keybinder.register_hotkey(self.winId(), "Ctrl+Alt+Home", self.music_control_box.toggle_play_pause) keybinder.register_hotkey(self.winId(), "Ctrl+Alt+Up", self.music_control_box.volume_slider.increase_volume) keybinder.register_hotkey(self.winId(), "Ctrl+Alt+Down", self.music_control_box.volume_slider.decrease_volume) keybinder.register_hotkey(self.winId(), "Ctrl+Alt+Right", self.music_control_box.next_button.nb_clicked) keybinder.register_hotkey(self.winId(), "Ctrl+Alt+Left", self.music_control_box.previous_button.prb_clicked) self.win_event_filter = util.WinEventFilter(keybinder) self.event_dispatcher = QAbstractEventDispatcher.instance() self.event_dispatcher.installNativeEventFilter(self.win_event_filter)
def main(): global tagselector app = QApplication(sys.argv) nonShownMainWindow = QMainWindow() print('Tag File is at: "%s"' % TAGFILE) print('global shortcut to raise the tag selector window is: "%s"' % GLOBAL_SHOW_HOTKEY) tagselector = FuzzySearchDialog() tagselector.show() #initial loading takes quite long so do it now tagselector.hide() #when I extracted this to a new class and a different file this didn't work in 2019-05. keybinder.init() filter = WinEventFilter(keybinder) keybinder.register_hotkey(nonShownMainWindow.winId(), GLOBAL_SHOW_HOTKEY, onGlobalShowHotkey) event_dispatcher = QAbstractEventDispatcher.instance() event_dispatcher.installNativeEventFilter(filter) app.exec_() keybinder.unregister_hotkey(nonShownMainWindow.winId(), GLOBAL_SHOW_HOTKEY) #necessary?
def main(): import sys app = QApplication(sys.argv) widget = MyWidget() win = MainWindow(widget) def callback(): widget.show() if 'Darwin' not in platform.system(): from pyqtkeybind import keybinder keybinder.init() keybinder.register_hotkey(win.winId(), "Ctrl+Shift+1", callback) # Install a native event filter to receive events from the OS win_event_filter = WinEventFilter(keybinder) event_dispatcher = QAbstractEventDispatcher.instance() event_dispatcher.installNativeEventFilter(win_event_filter) keybinder.unregister_hotkey(win.winId(), 0x0, 0x0) sys.exit(app.exec())
def regist_app(self, window: QMainWindow, name: str, show_now: bool = True, show_shortcut: str = None, show_event: str = None, showable=True): def show_wrap(): if show_event is not None: handler.emit(show_event) if not showable: return window.show() window.activateWindow() window.setWindowState(QtCore.Qt.WindowActive) WrapHideClose(window) self.shortcut_open = QShortcut(QKeySequence('Esc'), window) self.shortcut_open.activated.connect(lambda: window.hide()) show_trig = QAction(name) show_trig.triggered.connect(show_wrap) self._actions.append(show_trig) # self.menu.addAction(show_trig) if show_shortcut is not None: keybinder.register_hotkey(window.winId(), show_shortcut, show_wrap)
def main(): app = QtWidgets.QApplication(sys.argv) window = QtWidgets.QMainWindow() print("Sample app for pyqtkeybind:") print("\tPress Ctrl+Shift+A any where to trigger a callback.") print("\tCtrl+Shift+F unregisters and re-registers previous callback.") print("\tCtrl+Shift+E exits the app.") # Setup a global keyboard shortcut to print "Hello World" on pressing # the shortcut keybinder.init() unregistered = False def callback(): print("hello world") def exit_app(): window.close() def unregister(): keybinder.unregister_hotkey(window.winId(), "Shift+Ctrl+A") print("unregister and register previous binding") keybinder.register_hotkey(window.winId(), "Shift+Ctrl+A", callback) keybinder.register_hotkey(window.winId(), "Shift+Ctrl+A", callback) keybinder.register_hotkey(window.winId(), "Shift+Ctrl+E", exit_app) keybinder.register_hotkey(window.winId(), "Shift+Ctrl+F", unregister) # Install a native event filter to receive events from the OS win_event_filter = WinEventFilter(keybinder) event_dispatcher = QAbstractEventDispatcher.instance() event_dispatcher.installNativeEventFilter(win_event_filter) window.show() app.exec_() keybinder.unregister_hotkey(window.winId(), "Shift+Ctrl+A") keybinder.unregister_hotkey(window.winId(), "Shift+Ctrl+F") keybinder.unregister_hotkey(window.winId(), "Shift+Ctrl+E")
if __name__ == '__main__': app = QApplication(sys.argv) window = EasyTranslator() def callback(): window.setWindowState(window.windowState() & ~QtCore.Qt.WindowMinimized | QtCore.Qt.WindowActive) window.activateWindow() text = QApplication.clipboard().text() text = text.strip().replace('\r\n', ' ').replace('\n', ' ') window.textEdit_in.setText(text) window.on_button_trans() def exit_app(): window.close() keybinder.init() keybinder.register_hotkey(window.winId(), "Ctrl+Q", callback) keybinder.register_hotkey(window.winId(), "Ctrl+E", exit_app) # Install a native event filter to receive events from the OS win_event_filter = WinEventFilter(keybinder) event_dispatcher = QAbstractEventDispatcher.instance() event_dispatcher.installNativeEventFilter(win_event_filter) window.show() sys.exit(app.exec_()) keybinder.unregister_hotkey(window.winId(), "Ctrl+Q") keybinder.unregister_hotkey(window.winId(), "Ctrl+E")
def unregister(): keybinder.unregister_hotkey(window.winId(), "Shift+Ctrl+F10") print("unregister and register previous binding") keybinder.register_hotkey(window.winId(), "Shift+Ctrl+F10", on_toggle)
def main(): # sys._excepthook = sys.excepthook # # def exception_hook(exctype, value, traceback): # print(exctype, value, traceback) # sys._excepthook(exctype, value, traceback) # sys.exit(1) # # sys.excepthook = exception_hook app = QtWidgets.QApplication(sys.argv) window = MainWindow() print( "This will show a quick view of your keybindings (corsair only currently)." ) print("Until I can figure out how to hide this window, just minimize it.") print("\tPress Ctrl+Shift+F10 any where to trigger a callback.") # print("\tCtrl+Shift+F unregisters and re-registers previous callback.") print("\tCtrl+Shift+E exits the app.") # Setup a global keyboard shortcut to print "Hello World" on pressing # the shortcut keybinder.init() unregistered = False def on_toggle(): global latch nonlocal window if latch: window.show() latch = False print("worked On") else: window.hide() latch = True print("worked Off") def exit_app(): window.close() def unregister(): keybinder.unregister_hotkey(window.winId(), "Shift+Ctrl+F10") print("unregister and register previous binding") keybinder.register_hotkey(window.winId(), "Shift+Ctrl+F10", on_toggle) keybinder.register_hotkey(window.winId(), "Shift+Ctrl+F10", on_toggle) keybinder.register_hotkey(window.winId(), "Shift+Ctrl+E", exit_app) keybinder.register_hotkey(window.winId(), "Shift+Ctrl+F", unregister) # Install a native event filter to receive events from the OS win_event_filter = WinEventFilter(keybinder) event_dispatcher = QAbstractEventDispatcher.instance() event_dispatcher.installNativeEventFilter(win_event_filter) window.show() app.exec_() keybinder.unregister_hotkey(window.winId(), "Shift+Ctrl+F10") # keybinder.unregister_hotkey(window.winId(), "Shift+Ctrl+F") keybinder.unregister_hotkey(window.winId(), "Shift+Ctrl+E")
def unregister(): keybinder.unregister_hotkey(window.winId(), "Shift+Ctrl+A") print("unregister and register previous binding") keybinder.register_hotkey(window.winId(), "Shift+Ctrl+A", callback)
def main() -> None: import sys app = QApplication(sys.argv) screen_count = QDesktopWidget().screenCount() info_app = InfoPad(screen_count) # Register hotkeys keybinder.init() keybinder.register_hotkey(info_app.winId(), "Ctrl+F13", info_app.grid_sd) keybinder.register_hotkey(info_app.winId(), "Ctrl+F14", info_app.grid_su) keybinder.register_hotkey(info_app.winId(), "Ctrl+F15", info_app.grid_9) keybinder.register_hotkey(info_app.winId(), "Ctrl+F16", info_app.grid_1) keybinder.register_hotkey(info_app.winId(), "Ctrl+F17", info_app.grid_2) keybinder.register_hotkey(info_app.winId(), "Ctrl+F18", info_app.grid_3) keybinder.register_hotkey(info_app.winId(), "Ctrl+F19", info_app.grid_4) keybinder.register_hotkey(info_app.winId(), "Ctrl+F20", info_app.grid_5) keybinder.register_hotkey(info_app.winId(), "Ctrl+F21", info_app.grid_6) keybinder.register_hotkey(info_app.winId(), "Ctrl+F22", info_app.grid_7) keybinder.register_hotkey(info_app.winId(), "Ctrl+F23", info_app.grid_8) keybinder.register_hotkey(info_app.winId(), "Ctrl+Alt+F13", info_app.grid_home) keybinder.register_hotkey(info_app.winId(), "Ctrl+Alt+F14", info_app.grid_mm) keybinder.register_hotkey(info_app.winId(), "Ctrl+Alt+F15", info_app.grid_ou) keybinder.register_hotkey(info_app.winId(), "Ctrl+Alt+F16", info_app.grid_od) keybinder.register_hotkey(info_app.winId(), "Ctrl+Alt+F17", info_app.grid_view_o) # Install native event filter win_event_filter = WinEventFilter(keybinder) event_dispatcher = QAbstractEventDispatcher.instance() event_dispatcher.installNativeEventFilter(win_event_filter) # If three monitors detected, move window to thirds screen and make it fullscreen if screen_count == 3: monitor = QDesktopWidget().screenGeometry(2) info_app.move(monitor.left(), monitor.top()) info_app.showFullScreen() sys.exit(app.exec_())
class WinEventFilter(QAbstractNativeEventFilter): def __init__(self, keybinder): self.keybinder = keybinder super().__init__() def nativeEventFilter(self, eventType, message): ret = self.keybinder.handler(eventType, message) return ret, 0 if __name__ == '__main__': def callback(): w.on_pushButton_clicked() app = QApplication(sys.argv) w = MyWindow() keybinder.init() keybinder.register_hotkey(w.winId(), "Ctrl+Shift+M", callback) # Install a native event filter to receive events from the OS win_event_filter = WinEventFilter(keybinder) event_dispatcher = QAbstractEventDispatcher.instance() event_dispatcher.installNativeEventFilter(win_event_filter) w.show() sys.exit(app.exec_()) keybinder.unregister_hotkey(w.winId(), "Ctrl+Shift+M")
def set_global_shortcut(window: QuickAddWindow, shortcut: str): keybinder.register_hotkey(window.winId(), shortcut, window.toggle_visibility)
self.updateIcon() else: self.parent().hide() self.updateIcon() if __name__ == '__main__': app = QApplication(sys.argv) if sys.platform.startswith('win'): default_font = QtGui.QFont('Microsoft YaHei') else: default_font = QtGui.QFont('Arial') default_font.setPointSize(10) app.setFont(default_font) ex = App() # keybinder from here keybinder.init() win_event_filter = WinEventFilter(keybinder) event_dispatcher = QtCore.QAbstractEventDispatcher.instance() event_dispatcher.installNativeEventFilter(win_event_filter) keybinder.register_hotkey(ex.winId(), "Shift+Ctrl+A", ex.tray_icon.shortcut) # keybinder.register_hotkey(tab1.winId(), "Shift+Ctrl+B", tab1.testbutton) sys.exit(app.exec_()) # keybinder.unregister_hotkey(ex.winId(), "Shift+Ctrl+A")