Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 21, 2015 23:44:00

BusyBox
Зарегистрирован: 2015-02-21
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

pyHook, ловим нажатие ЛКМ совместно с клавишей ESC

Здравствуйте, в общем то дела таковы - загорелся сделать себе скриптик,который будет рисовать координаты положения курсора,чтобы легче было работать с (TK WIDGET).place(x=BLABLA,y=BLABLA), (TK WIDGET).pack() - для слабаков. Ну вот, скрипт должен будет отлавливать нажатие ЛКМ(левая кнопка мыши) и обновлять виджет - как реализовать обновление виджета я понимаю,а вот как сканировать нажатие ЛКМ или любой другой кнопки для обновления координат я не знаю,а дело в том,что программа уже сканирует все кнопки на предмет нажатия ESC. Ткните кто-нибудь в доки pyHook'a или распишите примерчик, доков по пайхуку не нашел,честно. Код -

##                                                                  IMPORT
from Tkinter import *
import pyHook,win32api
##                                                              MAIN WINDOW CREATION
CursorPosWindow = Tk()
##                                                                  FUNCs
def DWin():
    CursorPos = win32api.GetCursorPos()
    CursorPosWindow.title("Cursor Pos")
    CursorPosWindow.geometry("200x30")
    CursorPosWindow.maxsize(width="200",height="30")
    CursorPosWindow.minsize(width="200",height="30")
    CursorPosWindow.iconbitmap("./tcl/cur.ico")
    CursorPosL = Label(CursorPosWindow,
                        fg="black",width=15, text=CursorPos)
    TextCur = Label(CursorPosWindow,
                    text="Position X,Y:")
    CursorPosL.place(x=100,y=5)
    TextCur.place(x=4,y=5)
    CursorPosWindow.mainloop()
def HookESC(DWin):
        EscStatus = win32api.GetKeyState(0x1B)
        if (EscStatus < 0):
            CursorPosWindow.quit()
##                                                              PyHOOK MODULE USING
hm = pyHook.HookManager()
hm.KeyAll = HookESC
hm.HookKeyboard()
##                                                                  USING FUNCs
DWin()

Попробовал сделать параллельно с клавишами - все получилось,а вот именно с мышкой не получается(
def HookESC(DWin):
        EscStatus = win32api.GetKeyState(0x1B)
        LMButtonStatus = win32api.GetKeyState(0x08)
        if (EscStatus < 0):
            CursorPosWindow.quit()
            return()
        elif (LMButtonStatus < 0):
            CursorPosWindow.quit()

Отредактировано BusyBox (Фев. 22, 2015 00:02:55)

Офлайн

#2 Фев. 22, 2015 00:46:48

sander
Зарегистрирован: 2015-02-19
Сообщения: 317
Репутация: +  53  -
Профиль   Отправить e-mail  

pyHook, ловим нажатие ЛКМ совместно с клавишей ESC

Офлайн

#3 Фев. 22, 2015 02:28:08

BusyBox
Зарегистрирован: 2015-02-21
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

pyHook, ловим нажатие ЛКМ совместно с клавишей ESC

sander
http://sourceforge.net/p/pyhook/wiki/PyHook_Tutorial/
Спасибо, что то я в упор на странице проекта не видел кнопки “Wiki”!

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version