def __init__(self): super(GrabToolWindow, self).__init__() self.setWindowFlags(Qt.FramelessWindowHint | Qt.WindowStaysOnTopHint | Qt.SplashScreen) # 无边框 置顶 不显示任务栏图标 self.setStyleSheet('''background-color:black; ''') self.setWindowOpacity(0.3) self.desktopRect = QDesktopWidget().screenGeometry() self.setGeometry(self.desktopRect) self.setCursor(Qt.CrossCursor) self.blackMask = QBitmap(self.desktopRect.size()) self.blackMask.fill(Qt.black) self.availTopLeftPoint = QDesktopWidget().availableGeometry().topLeft( ) # 有效显示区域左上角点 self.isDrawing = False self.startPoint = QPoint() self.endPoint = QPoint() self.hk1, self.hk2 = SystemHotkey(), SystemHotkey() # 初始化两个热键 # self.hk1.register(('control', '1'), callback=lambda x: self.showGrabWindow()) self.hk2.register(('control', 'shift', 'j'), callback=lambda x: self.showGrabWindow()) self.sigDisplay.connect(self.createDisplayWin) # 信号连接到子窗口创建函数 self.displayWinDict = {} self.displayWinNum = 0 self.sigScreenShot.connect(self.createScreenShotWin)
def __init__(self, parent=None, flags=Qt.WindowFlags()): super().__init__(parent=parent, flags=flags) self.hk_capture, self.hk_exit = SystemHotkey(), SystemHotkey() self.hk_capture.register( ('alt', 'c'), callback=lambda x: self.send_key_event("capture")) self.hk_exit.register(('alt', 'q'), callback=lambda x: self.send_key_event("exit")) self.sig_keyhot.connect(self.hotkey_process)
def __init__(self, window): super().__init__(window) # 2. 设置我们的自定义热键响应函数 self.sig_keyhot.connect(self.MKey_pressEvent) # 3. 初始化两个热键 self.hk_start, self.hk_stop = SystemHotkey(), SystemHotkey() # 4. 绑定快捷键和对应的信号发送函数 self.hk_start.register( ('alt', 'c'), callback=lambda x: self.send_key_event("enText")) self.hk_stop.register(('alt', 'v'), callback=lambda x: self.send_key_event("deText"))
def __init__(self, frame): self.g_settings = GeneralSettingsData() self.frame = frame super(TaskBarIcon, self).__init__() self.set_icon(TRAY_ICON) # self.Bind(wx.adv.EVT_TASKBAR_LEFT_DOWN, self.on_left_down) self.Bind(wx.adv.EVT_TASKBAR_LEFT_DCLICK, self.configure_wallpapers) # Initialize display data # get_display_data() wpproc.refresh_display_data() # profile initialization self.job_lock = Lock() self.repeating_timer = None self.pause_item = None self.is_paused = False # if sp_logging.DEBUG: # sp_logging.G_LOGGER.info("START Listing profiles for menu.") self.list_of_profiles = list_profiles() # if sp_logging.DEBUG: # sp_logging.G_LOGGER.info("END Listing profiles for menu.") # Should now return an object if a previous profile was written or # None if no previous data was found if STARTUP_PROFILE: self.active_profile = open_profile(STARTUP_PROFILE) else: self.active_profile = read_active_profile() if self.active_profile: wpproc.G_ACTIVE_PROFILE = self.active_profile.name self.start_prev_profile(self.active_profile) # if self.active_profile is None: # sp_logging.G_LOGGER.info("Starting up the first profile found.") # self.start_profile(wx.EVT_MENU, self.list_of_profiles[0]) # self.hk = None # self.hk2 = None if self.g_settings.use_hotkeys is True: try: # import keyboard # https://github.com/boppreh/keyboard # This import is here to have the module in the class scope from system_hotkey import SystemHotkey self.hk = SystemHotkey(check_queue_interval=0.05) self.hk2 = SystemHotkey(consumer=self.profile_consumer, check_queue_interval=0.05) self.seen_binding = set() self.register_hotkeys() except ImportError as excep: sp_logging.G_LOGGER.info( "WARNING: Could not import keyboard hotkey hook library, \ hotkeys will not work. Exception: %s", excep) if self.g_settings.show_help is True: config_frame = ConfigFrame(self) help_frame = HelpFrame()
def setHotKey(self): """ 设置全局热键 """ self.nextSongHotKey = SystemHotkey() self.lastSongHotKey = SystemHotkey() self.playHotKey = SystemHotkey() # callback会返回一个event参数,所以需要用lambda self.nextSongHotKey.register( ('f6', ), callback=lambda x: self.hotKeySlot(self.playlist.next)) self.lastSongHotKey.register( ('f4', ), callback=lambda x: self.hotKeySlot(self.playlist.previous)) self.playHotKey.register( ('f5', ), callback=lambda x: self.hotKeySlot(self.switchPlayState))
def __init__(self, parent=None): super(playWindow, self).__init__(parent) # 创建自动演奏线程 self.playThread = PlayThread() # ---------设置全局快捷键---------- # 设置我们的自定义热键响应函数 self.sig_hot_key.connect(self.mkey_press_event) # 初始化热键 self.hk_stop = SystemHotkey() # 绑定快捷键和对应的信号发送函数 try: self.hk_stop.register( ('control', 'shift', 'g'), callback=lambda x: self.send_key_event("stop")) except InvalidKeyError as e: QMessageBox(QMessageBox.Warning, '警告', '热键设置失败').exec_() print(e) except SystemRegisterError as e: QMessageBox(QMessageBox.Warning, '警告', '热键设置冲突').exec_() print(e) # 5.设置pyqt5的快捷键,ESC退出工具 QShortcut(QKeySequence("Escape"), self, self.stop_tool) # 6.设置图形界面 self.setup_ui()
def test_errors_raised_in_main(): hk = SystemHotkey() key = ('5', ) cb = lambda e: print('hi') hk.register(key, callback=cb) try: hk.register(key, callback=cb) except SystemRegisterError: pass else: raise Exception('fail') hk.unregister(key) try: hk.unregister(key) except UnregisterError: pass else: raise Exception('fail') bad_key = ('badkey ..', ) try: hk.register(bad_key, callback=cb) except InvalidKeyError: pass else: raise Exception('fail') try: hk.unregister(bad_key) except: pass else: raise Exception('fail')
def run(self): self.hk = SystemHotkey() self.hk.register(('control', 'kp_4'), callback=lambda x: self.previous()) self.hk.register(('control', 'kp_6'), callback=lambda x: self.next()) self.hk.register(('control', 'kp_5'), callback=lambda x: self.toggle_clipboard()) self.hk.register(('control', 'kp_0'), callback=lambda x: self.app_exit()) self.hk.register(('control', 'kp_8'), callback=lambda x: self.toggle_visible()) while True: active_window_name = win32gui.GetWindowText( win32gui.GetForegroundWindow()) if active_window_name.lower( ) == "Elite - Dangerous (CLIENT)".lower() and self.visible: # show self.label_progress.master.deiconify() else: pass # hide self.label_current.master.withdraw() # Check for kill flag if self.kill: break # Sleep sleep(1)
def INIT(self): self.setWindowFlags(Qt.FramelessWindowHint | Qt.WindowStaysOnTopHint) desktopRect = QDesktopWidget().screenGeometry() self.setGeometry(desktopRect) self.setStyleSheet('''background-color:black; ''') #self.setWindowOpacity(0.4) self.setCursor(Qt.CrossCursor) self.blackMask = QBitmap(desktopRect.size()) self.blackMask.fill(Qt.black) self.mask = self.blackMask.copy() self.isDrawing = False self.startPoint = QPoint() self.endPoint = QPoint() self.bg = QLabel(self) self.bg.lower() self.fg = QLabel(self) self.fg.raise_() self.fg.setPixmap(self.blackMask) op = QGraphicsOpacityEffect() op.setOpacity(0.4) self.fg.setGraphicsEffect(op) self.hotkeysignal.connect(self.syshotkeyaction) self.syskeysignal = SystemHotkey() self.syskeysignal.register(('control', 'shift', 'q'), callback=lambda x: self.hotkeysignal.emit(), overwrite=True)
def main(): global note_map print("疯物之诗琴 by luern0313") print("世界线变动率:1.0.1.7546855") print("\n如果要使用快捷键演奏:") print("ctrl + shift + 数字键 :开始演奏对应的曲目") print("ctrl + shift + s : 停止演奏") read_configure() while True: try: global file_list file_list = os.listdir("midi/") print("选择要打开的文件(热键对应前十个):") print("\n".join( [str(i) + "、" + file_list[i] for i in range(len(file_list))])) hk = SystemHotkey(consumer=play_hot) for i in range(10): hk.register(('control', 'shift', str(i)), i) hk2 = SystemHotkey() hk2.register(('control', 'shift', 's'), callback=stop_hot) midi = mido.MidiFile("midi/" + file_list[int(input("请输入文件前数字序号:"))]) print_split_line() tracks = midi.tracks base_note = get_base_note(tracks) if configure[ "lowest_pitch_name"] == -1 else configure["lowest_pitch_name"] note_map = { note[i] + base_note * 12: key[i] for i in range(len(note)) } time.sleep(1) for msg in midi.play(): if msg.type == "note_on" or msg.type == "note_off": note_list = get_note(msg.note) for n in note_list: if n in note_map: if msg.type == "note_on": if vk[note_map[n]] in pressed_key: release_key(vk[note_map[n]]) press_key(vk[note_map[n]]) elif msg.type == "note_off": release_key(vk[note_map[n]]) except Exception as e: print("ERR:" + str(e))
def __init__(self, master):# Constructor method self.txt = '0' # Global var to work with text box contents self.NL_flag = True #print('init=' + str(self.NL_flag)) self.turn_NumLock() master.title('NumPad Calculator') w = master.winfo_screenwidth() # width of display h = master.winfo_screenheight() # hight of display w = w//2 # center of display h = h//2 # center of display w = w - 300 # offset from center h = h - 200 # offset from center master.geometry('+{}+{}'.format(w, h)) master.configure(bg='gray94', padx=2, pady=4)#lavender, azure2 master.grid_columnconfigure(0, weight=1) master.grid_rowconfigure(0, weight=1) self.e = ttk.Entry(master, font=('Helvetica', 20, 'bold')) self.e.grid(sticky=EW,row=1, columnspan=5, padx=3, pady=3) self.e.focus_set() # Sets focus on the text box text area _set self.lb = Listbox(master, height=7, bg="gray94", fg='gray10', font=('Courier New', 12, 'bold'), relief='flat', selectmode='single', activestyle='none')#width=32,,Helvetica self.lb.grid(sticky="nsew",row=0, columnspan=5, padx=3, pady=3) scroll_lb = ttk.Scrollbar( orient=VERTICAL, command=self.lb.yview) scroll_lb.grid(sticky='nse',column=4, row=0) self.lb.config(yscrollcommand=scroll_lb.set) self.lb.bind("<Double-Button-1>", self.listboxclick) #ListboxSelect, <Double-Button-1> self.r_var = IntVar() self.r_var.set(0) self.degrees = Radiobutton(text='Degrees', variable=self.r_var, command= self.degreesorradians, value=0) self.radians = Radiobutton(text='Radians', variable=self.r_var, command=self.degreesorradians, value=1) self.degrees.grid(sticky="w",row=3, column=0, padx=3, pady=3) self.radians.grid(sticky="w",row=4, column=0, padx=3, pady=3) self.cb = ttk.Combobox(master, width=9, values=("Decimal", "Hex", "Binary", "Octal")) self.cb.set("Decimal") self.cb.grid(sticky="w",row=5, column=0) self.cb.bind('<<ComboboxSelected>>', self.onselect) # Generating Buttons ttk.Button(master, text="√", command=lambda: self.evaluation('sqroot')).grid(row=3, column=1, padx=2, pady=2) #, width=10 ttk.Button(master, text="x²", command=lambda: self.evaluation('square')).grid(row=3, column=2, padx=2, pady=2) ttk.Button(master, text="LOG10", command=lambda: self.evaluation('LOG10')).grid(row=3, column=3, padx=2, pady=2) ttk.Button(master, text="10ˣ", command=lambda: self.evaluation('10^x')).grid(row=3, column=4, padx=2, pady=2) ttk.Button(master, text="cos", command=lambda: self.evaluation('cos')).grid(row=4, column=1, padx=2, pady=2) ttk.Button(master, text="sin", command=lambda: self.evaluation('sin')).grid(row=4, column=2, padx=2, pady=2) ttk.Button(master, text="tan", command=lambda: self.evaluation('tan')).grid(row=4, column=3, padx=2, pady=2) ttk.Button(master, text="1/X", command=lambda: self.evaluation('1/X')).grid(row=4, column=4, padx=2, pady=2) ttk.Button(master, text="exp", command=lambda: self.evaluation('exp')).grid(row=5, column=1, padx=2, pady=2) ttk.Button(master, text="lnX", command=lambda: self.evaluation('lnX')).grid(row=5, column=2, padx=2, pady=2) ttk.Button(master, text="PI", command=lambda: self.evaluation('PI')).grid(row=5, column=3, padx=2, pady=2) ttk.Button(master, text="Help", command = self.about).grid(row=5, column=4, padx=2, pady=2) # bind key strokes self.e.bind('<Key>', lambda evt: self.keyaction(evt)) hk = SystemHotkey()# not supported by MacOS => to be commented out for MacOS #hk2 = SystemHotkey()# not supported by MacOS => to be commented out for MacOS hk.register(['kp_numlock'], overwrite=True, callback=lambda event: self.iconifyordeiconify())# not supported by MacOS => to be commented out for MacOS
def main(): global stay_looped hk = SystemHotkey() hk.register(('control', 'f8'), callback=lambda x: _capture_and_detect()) hk.register(('control', 'f12'), callback=lambda y: _stop_loop()) while stay_looped: time.sleep(1) sys.exit('exiting...')
def __initHotkeys(self): # self.__globalHotKCListener = CGlobalHotKCListener() # self.__globalHotKCListener.start() # self.__globalHotKCListener.addTrigger.connect(self.__bStartDescription) # self.__globalHotKCListener.cancelTrigger.connect(self.__bCancelDescription) self.__GlobalHotkeyListener = SystemHotkey() self.__GlobalHotkeyListener.register(('control', 'd'), callback=self.__bStartDescription) self.__GlobalHotkeyListener.register(('control', 's'), callback=self.__bCancelDescription)
def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.window = Window self.hk = SystemHotkey(consumer=self.sys_hotkey_handler, check_queue_interval=0.001) self.hk.register(['f7'], self.req_system_get) # JFT self.queue = queue.Queue() Clock.schedule_interval(lambda e: self.check_queue(), 0.01)
def __init__(self): # 1. 简单的绘制一个窗口 self.version = 'V1.0' super(common_ipc, self).__init__() self.setupUi(self) self.update_tbrow.setText("版本已更新,请去 https://gitee.com/Setless7/PathOfTrade/release_version 下载") self.price_lwidget = cc.price_lwidget() self.price_lwidget.addprice_lwidget(self) self.price_lwidget.add_item(('40 chaos', '100', '1小时前')) self.keyBorder = KeyBorder() # 2. 设置我们的自定义热键响应函数 self.sig_keyhot.connect(self.key_press_event) # 3. 初始化两个热键 self.hk_start, self.hk_stop = SystemHotkey(), SystemHotkey() # 4. 绑定快捷键和对应的信号发送函数 self.hk_start.register(('control', 'd'), callback=lambda x: self.send_key_event("start")) self.hk_stop.register(('control', '2'), callback=lambda x: self.send_key_event("stop"))
def __init__(self, parent=None): super(MyMainWindow, self).__init__(parent) #去掉边框|任务栏|窗口置顶 self.setWindowFlags(Qt.FramelessWindowHint | Qt.Tool | Qt.WindowStaysOnTopHint) self.setupUi(self) self.screenWidget = QtWidgets.QWidget() self.screenWidget.setObjectName("screenWidget") self.screenWidget.setWindowFlags(Qt.FramelessWindowHint) self.centralWidget = self.findChild(QtWidgets.QWidget, 'centralwidget') self.centralWidget.setWindowFlags(Qt.FramelessWindowHint) self.toolWidget = self.findChild(QtWidgets.QWidget, 'toolWidget') self.toolWidget.setWindowFlags(Qt.FramelessWindowHint) #设置按钮的槽函数 self.btn_i2u.clicked.connect(lambda: self.i2u()) btn_bdfy = self.findChild(QtWidgets.QToolButton, 'baidu') btn_i2t = self.findChild(QtWidgets.QToolButton, 'img2txt') btn_copy = self.findChild(QtWidgets.QToolButton, 'copy') #背景透明 self.setAttribute(QtCore.Qt.WA_TranslucentBackground) # 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("0")) self.hk_stop.register(('control', '2'), callback=lambda x: self.send_key_event("1")) esc = QAction('', triggered=self.esc) esc.setShortcut('esc') self.addAction(esc) self.screenWidget.addAction(esc) # 系统托盘 self.systemtray = SystemTray(self)
def __init__(self, log_path): self.thread = None self.path = log_path self.collector = BaseCollector(self) self.lock = Lock() self.p = None self.running = True self.hk = SystemHotkey() self.hk.register(('control', 'alt', 'z'), callback=self.delete_last_img) self.images = []
def main(): print("=================================================") print("|| QUIC SEARCH ||") print("|| Author: Jokin ||") print("|| Version: v1.3.1 ||") print("=================================================") # 写音效文件 if (os.path.exists('./0.mp3') == False): print('wir') with open('./0.mp3', 'wb') as f: f.write(base64.b64decode(S0)) f.close if (os.path.exists('./1.mp3') == False): with open('./1.mp3', 'wb') as f: f.write(base64.b64decode(S1)) f.close if (os.path.exists('./2.mp3') == False): with open('./2.mp3', 'wb') as f: f.write(base64.b64decode(S2)) f.close if (os.path.exists('./3.mp3') == False): with open('./3.mp3', 'wb') as f: f.write(base64.b64decode(S3)) f.close # 中心节点选择 改快捷键操作 select_node() print("-> 初始化中,请稍候...") # 注册热键 hotkey hk = SystemHotkey() hk.register(('control', 'shift', 'alt', 'z'), callback=changemode) hk.register(('control', 'shift', 'alt', 's'), callback=send_note) hk.register(('control', 'shift', 'alt', 'x'), callback=receive_note) # 获取白名单 get_whitelist() print("-> 初始化完成!") # 授权 login() # 模式选择 默认0模式 # select_mode() # 获取数据库列表 get_databaselist() # 选择数据库 database = select_database() # print(database) # 获取数据库 get_database(database) # 剪贴板监听 clipboard_listen()
def __init__(self, settings: ApplicationSettings, mappings: Dict[str, Dict[str, Tuple[str, Callable]]]): """ Creates keybindings for shortcuts stores in GSettings. The list of settings cannot be changed after created. Pass a map of (setting_id -> callback) """ super().__init__() self._mappings = mappings self._settings = settings self._active_shortcuts = dict() # see https://github.com/timeyyy/system_hotkey from system_hotkey import SystemHotkey self._keybinder = SystemHotkey() self.rebind_all()
def __init__(self, ScriptPath=None): super().__init__() self.Cfg = Configuration() self.attributes('-type', 'dock') self.geometry("0x0+0+0") self.hk = SystemHotkey() self.hk.register(('control', 'shift', 'h'), callback=self.showhide) self.doingInput = False self.allDirs = None self.readAllDirsFromFile() dirFindThread = threading.Thread(target=self.updateAllDirs) dirFindThread.daemon = True dirFindThread.start()
def __init__(self, parent=None): # 继承主窗口类 super(Translater, self).__init__(parent) # 设置应用图标 # self.setWindowIcon(QIcon('source/book.png')) # 获取屏幕对象 self.screen = QDesktopWidget().screenGeometry() self.setupUi(self) # 仅支持最小化以及关闭按钮 self.setWindowFlags(Qt.WindowMinimizeButtonHint | Qt.WindowMaximizeButtonHint | Qt.WindowCloseButtonHint) # 去掉 toolbar 右键菜单 self.setContextMenuPolicy(Qt.NoContextMenu) # self.textEdit.text() self.textEdit.setText("test value") self.translate.clicked.connect(self.translate_click) self.sig_keyhot.connect(self.translate_click) self.hk = SystemHotkey() self.hk.register(('control', 'shift', 'c'), callback=lambda x: self.send_key_event("start"))
from system_hotkey import SystemHotkey hk = SystemHotkey() hk.register(('control', 'shift', 'h'), callback=lambda: print("Easy!"))
class mainwindow(QtWidgets.QMainWindow, main1): hk = SystemHotkey() config = ConfigObj("setup.ini", encoding='UTF8') s1 = config['keyboard_shortcut']['screenshot'] s2 = config['keyboard_shortcut']['minimodel'] s3 = config['background']['path'] s4 = config['setting']['minimize'] s5 = config['setting']['welcome'] hotkey_sig = pyqtSignal() hotkey_sig0 = pyqtSignal() hotkey_sig1 = pyqtSignal() hotkey_sig2 = pyqtSignal() def __init__(self): super(mainwindow, self).__init__() self.hotkey_use() self.setFixedSize(757, 634) self.initUI() def initUI(self): self.config = ConfigObj("setup.ini", encoding='UTF8') self.s1 = self.config['keyboard_shortcut']['screenshot'] self.s2 = self.config['keyboard_shortcut']['minimodel'] self.s3 = self.config['background']['path'] self.s4 = self.config['setting']['minimize'] self.s5 = self.config['setting']['welcome'] #设置背景图片 window_pale = QPalette() pix = QPixmap(self.s3) pix.scaled(self.width(), self.height()) window_pale.setBrush(self.backgroundRole(), QBrush(pix)) self.setPalette(window_pale) # self.hotkey_use_1(self.s1) self.hotkey_use_2(self.s2) self.setupUi(self) self.pushButton.clicked.connect(self.prt_sc) self.pushButton_5.clicked.connect(self.translate) self.pushButton_4.clicked.connect(self.setup) self.pushButton_6.clicked.connect(self.search_single) self.pushButton_2.clicked.connect(self.open_min) self.pushButton_3.clicked.connect(self.copy) self.setWindowIcon(QIcon('image/ico.png')) self.setWindowTitle("翻译软件测试版") #定义设置按钮的功能 def setup(self): self.dia = Ui_Dialog() self.dia.sig.connect(self.initUI) self.dia.sig1.connect(lambda: self.hotkey_use_1) self.dia.sig2.connect(lambda: self.hotkey_use_2) self.dia.show() #定义min模式按钮 def open_min(self): self.mi = MINI() self.mi.show() self.tray_min() self.hide() #复制 def copy(self): strt = self.textBrowser_2.toPlainText() clipboard = QApplication.clipboard() clipboard.setText(str(strt)) #截屏 def prt_sc(self): self.textBrowser.clear() self.textBrowser_2.clear() self.showMinimized() os.system("python3 ./use/ScreenShooter.py") # 改 # strt2=GetText() # self.textBrowser.setText(strt2) # sct.prc() self.showNormal() #调用翻译函数 def translate(self): strt1 = self.textBrowser.toPlainText() strt2 = GetText() self.textBrowser.setText(strt2) # 改 strt3 = GetTranslation(strt2) self.textBrowser_2.setText(strt3) def search_single(self): self.textBrowser.clear() self.textBrowser_2.clear() str1 = self.lineEdit.text() self.textBrowser.setPlainText(str(str1)) result = sr.analysis(sr.get_net(str(str1))) for i in result: self.textBrowser_2.append(i) #快捷键(全局热键) def hotkey_use(self): self.hotkey_sig.connect(self.MKey_pressEvent) self.hotkey_sig0.connect(self.open_min) m = self.s1.split('+') self.hk.register((m[0], m[1]), callback=lambda x: self.h_emit()) n = self.s2.split('+') self.hk.register((n[0], n[1]), callback=lambda x: self.h0_emit()) def hotkey_use_1(self, first): self.hotkey_sig1.connect(self.MKey_pressEvent) n = first.split('+') self.hk.unregister((n[0], n[1])) m = self.s1.split('+') self.hk.register((m[0], m[1]), callback=lambda x: self.h1_emit()) def hotkey_use_2(self, second): self.hotkey_sig2.connect(self.open_min) n = second.split('+') self.hk.unregister((n[0], n[1])) m = self.s2.split('+') self.hk.register((m[0], m[1]), callback=lambda x: self.h2_emit()) def MKey_pressEvent(self): # sct.prc() os.system("python3 ./use/ScreenShooter.py") # 改 def h_emit(self): self.hotkey_sig.emit() def h0_emit(self): self.hotkey_sig0.emit() def h1_emit(self): self.hotkey_sig1.emit() def h2_emit(self): self.hotkey_sig2.emit() #托盘 def tray_min(self): self.tray = QSystemTrayIcon() self.icon = QIcon('image/ico.png') self.tray.activated.connect(self.iconActivated) self.tray.setIcon(self.icon) #气泡提示 self.tray.setToolTip(u'翻译软件测试版') self.traymenu = QMenu() a1 = QAction(QIcon('image/re.png'), u'还原', self) #添加一级菜单动作选项(还原窗口程序) a1.triggered.connect(self.show) a2 = QAction(QIcon('image/exit.png'), u'退出', self) #添加一级菜单动作选项(退出程序) a2.triggered.connect(app.quit) self.traymenu.addAction(a2) self.traymenu.addAction(a1) self.tray.setContextMenu(self.traymenu) self.tray.show() self.tray.showMessage(u"", '应用已被最小化', icon=1) #点击托盘栏图标 def iconActivated(self, ev): if ev == QSystemTrayIcon.Trigger: if self.isMinimized() or not self.isVisible(): self.show() else: self.hide() #重写close事件 def closeEvent(self, event): if (self.s4 == 'true'): event.ignore() self.hide() self.tray_min() else: pass
def gui_init(): def get_score(): global last new_game = player_names() if last: if new_game.not_empty(): update_heros(last) else: last = None else: if new_game.not_empty(): clear() g = results('DOTA') render_text(g) show() last = g window.after(1000*60*3, show_heros, g) else: pass def show_heros(g): def render(): if g.enough_heros(): render_img(g) show() key_press('f11') key_press('f11') window.after(4000, render) def raise_above(): window.attributes("-topmost", True) def clear(): for l in img_labels: l.configure(text='', image='') for l in text_labels: l.configure(text='', image='') def loop(): get_score() window.after(3000, loop) def align_right(width, height): screen_width = window.winfo_screenwidth() size = '{}x{}+{}+{}'.format(width, height, screen_width-width, 0) window.geometry(size) window.update() def show(): global is_show align_right(MAX_WIDTH, MAX_HEIGHT) raise_above() is_show = False def hide(): global is_show align_right(0, 0) is_show = True def change_status(event): if is_show: show() else: hide() def init_heros(): with open('dict.txt', 'r', encoding='utf-8') as f: table = list(map(lambda x: x[0:-1].split(' '), f.readlines())) dic = {'default': tk.PhotoImage(file='static\\placehold.png')} for names in table: file_name = names[0] game_name = names[-1] photo = tk.PhotoImage(file='static\\' + file_name + '.png') dic[game_name] = photo dic[file_name] = photo return dic def render_text(game): def render_sco(): img_labels[6].configure(text='天灾', fg=SCO_COLOR) start = 7 for i in range(0, len(game.sco)): text_labels[i + start].configure(text=str(game.sco[i]), fg=SCO_COLOR) def render_sen(): img_labels[0].configure(text='近卫', fg=SEN_COLOR) start = 1 for i in range(0, len(game.sen)): text_labels[i + start].configure(text=str(game.sen[i]), fg=SEN_COLOR) render_sen() render_sco() def render_img(game): def render_sen(): start = 1 for i in range(0, len(game.sen)): hero = game.sen[i].hero if hero: img_labels[i + start].configure(image=HEROS[hero]) else: img_labels[i + start].configure(image=HEROS['default']) def render_sco(): start = 7 for i in range(0, len(game.sco)): hero = game.sco[i].hero if hero: img_labels[i + start].configure(image=HEROS[hero]) else: img_labels[i + start].configure(image=HEROS['default']) render_sen() render_sco() window = tk.Tk() window.title('09小秘书') HEROS = init_heros() img_labels = [] text_labels = [] for i in range(12): img = tk.Label(window, bg='black') img.grid(row=i, column=0) img_labels.append(img) text = tk.Label(window, font=('Microsoft YaHei', 10), anchor=tk.W, bg='black') text.grid(row=i, column=1, sticky=tk.W) text_labels.append(text) hk = SystemHotkey() hk.register(['f3'], callback=change_status) window.config(bg='black') window.overrideredirect(True) window.bind('<Motion>', lambda e: hide()) align_right(MAX_WIDTH, MAX_HEIGHT) window.after(3000, loop) window.mainloop()
def __init__(self, parent: Optional[QObject]): super().__init__(parent) self._hk = SystemHotkey()
def __init__(self, parent=None): super().__init__(parent) self.keys = [] self.hk = SystemHotkey()
def __init__(self, parent=None): super().__init__(parent) self.w = Win32Window.from_qwindow(self) self.mwidget = QMainWindow(self) self.setWindowFlags(Qt.FramelessWindowHint | Qt.WindowStaysOnTopHint) self.setWindowTitle("MTwit") # window size self.setFixedSize(480, 120) self.center() # TrayIcon self.createActions() self.createTrayIcon() self.trayIcon.show() self.trayIcon.activated.connect(self.iconActivated) # Textwindow self.textWindow = QPlainTextEdit('', self) self.textWindow.resize(400, 100) self.textWindow.move(10, 10) self.textWindow.setStyleSheet("background-color: rgba(0,0,0,50);" "border: 1px solid gray;" "font: 14pt 'Meiryo UI' ;" "color: #FFFFFF;") self.textWindow.setPlaceholderText("What's Happening?") # Quit Button self.qbtn = QuitButton(self) self.qbtn.setButtonPosition(self.size()) # Tweet Button self.tbtn = HoverButton(self) self.tbtn.resize(48, 48) self.tbtn.move(420, 62) self.tbtn.setObjectName('tButton') self.tbtn.setIcon(QIcon("image/send.png")) self.tbtn.setIconSize(QSize(32, 32)) self.tbtn.setStyleSheet("background-color: rgba(200, 200, 200, 0);") self.tbtn.clicked.connect(self.tweetEvent) # tweet Shortcut self.tShortcut = QShortcut(QKeySequence(Qt.CTRL + Qt.Key_Return), self) self.tShortcut.activated.connect(self.tweetEvent) # window show Shortcut self.hk = SystemHotkey(consumer=self.ShowOrHide) self.hk.register(('alt', 'shift', 'f1')) # label """self.lbl = QLabel(self) self.lbl.setText("") self.lbl.setStyleSheet("background-color: rgb(0,0,0);" "border: 0px solid red;" "color: rgb(255,255,255);" "font: bold italic 20pt 'Times New Roman';") self.lbl.setGeometry(5,5,60,40) """ self.oldPos = self.pos() self.Firstshow()
def register_hotkeys(): sys.excepthook = uncaught_exception_handler hk = SystemHotkey() hk.register(('control', 'alt', 'm'), callback=handle_m) hk.register(('control', 'alt', 'j'), callback=handle_j) hk.register(('control', 'alt', 'q'), callback=handle_q)
def __init__(self): super().__init__() self.hk = SystemHotkey(consumer=self._hotkeyPressed) self._commandInvoked.connect(self.invokeCommand)
palette3.setColor(PyQt5.QtGui.QPalette.WindowText, PyQt5.QtGui.QColor(0, 255, 0)) label1 = PyQt5.QtWidgets.QLabel(win) label1.setText("hello") label1.setFont(PyQt5.QtGui.QFont("Roman times", 13)) label1.setGeometry(0,0,200,18) label1.setPalette(palette1); label2 = PyQt5.QtWidgets.QLabel(win) label2.setText("hello") label2.setFont(PyQt5.QtGui.QFont("Roman times", 13)) label2.setGeometry(0,18,200,18) label2.setPalette(palette2); label3 = PyQt5.QtWidgets.QLabel(win) label3.setText("world") label3.setFont(PyQt5.QtGui.QFont("Roman times", 13)) label3.setGeometry(0,36,200,18) label3.setPalette(palette3); hk_stop = SystemHotkey() hk_stop.register(('control', '1'), callback=lambda x: CalDis()) win.show() def Refresh(): win.update() threading.Timer(YGlobal.inter, Refresh).start() threading.Timer(YGlobal.inter, Refresh).start() sys.exit(app.exec_())