Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/25: Рейтинг темы: голосов - 25, средняя оценка - 4.72
0 / 0 / 0
Регистрация: 10.06.2015
Сообщений: 21

Записать координаты мыши

09.10.2015, 09:38. Показов 5454. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго дня всем. Прошу помощи

Есть задачка: в цикле опрашивать координаты курсора до тех пор, пока не будет нажата левая клавиша мыши. При нажатии текущие координаты курсора записываются в ТХТ-файл, цикл прерывается и программа заканчивается.
Снять координаты получается. Записать их в файл тоже. Но не получается сделать это по щелчку. В связи с этим вопрос: как можно организовать условие по щелчку мыши? И как сделать это без GUI?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.10.2015, 09:38
Ответы с готовыми решениями:

Узнать координаты указателя мыши
Есть две переменные x= y= как надать переменной х координаты мыши за х и для у тоже самое?

Как получить координаты клика мыши по QGraphicsScene?
Добрый день, вопрос как получить координаты клика мыши по QGraphicsScene? Добавлено через 1 минуту С этим вроде разобрался... ...

Как записать координаты мыши в listbox по ее нажатию?
Как можно записать координаты мыши в listbox по ее нажатию?

11
 Аватар для hipols_dp
2 / 2 / 0
Регистрация: 04.08.2013
Сообщений: 16
09.10.2015, 10:35
http://www.java2s.com/Code/Pyt... Action.htm
0
0 / 0 / 0
Регистрация: 10.06.2015
Сообщений: 21
09.10.2015, 11:31  [ТС]
Спасибо.
Это снова с помощью GUI. А хочется не прибегая к окнам и графике, чтоб запись с любой точки экрана происходила. а в ссылке варианты записи только с создаваемого окна.
Как это сделать, не используя tkinter или Qt?
0
 Аватар для hipols_dp
2 / 2 / 0
Регистрация: 04.08.2013
Сообщений: 16
09.10.2015, 11:35
Тогда вам надо копать в сторону библиотек типа:
import win32api
import win32console
import win32gui

На сколько я понял. Почитайте на счет этих библиотек. ДУмаю там есть функцинал перехватывания координат мышки.
1
0 / 0 / 0
Регистрация: 10.06.2015
Сообщений: 21
09.10.2015, 11:46  [ТС]
Да, сейчас как раз копаю в сторону win32api. Считать координаты там как раз получается, даже довольно просто) А вот как обработать клик через api, пока не нашел.
Спасибо за помощь)
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
09.10.2015, 14:58
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import pythoncom, pyHook, ctypes
 
def OnMouseEvent(event):
    if event.MessageName == 'mouse left down':
        print event.Position
    return True
 
def OnKeyboardEvent(event):
    if chr(event.Ascii) == 'q':
        ctypes.windll.user32.PostQuitMessage(0)
    return True
    
hm = pyHook.HookManager()
hm.MouseAll = OnMouseEvent
hm.HookMouse()     
hm.KeyDown = OnKeyboardEvent
hm.HookKeyboard()
pythoncom.PumpMessages()
hm.UnhookMouse()
hm.UnhookKeyboard()
1
0 / 0 / 0
Регистрация: 10.06.2015
Сообщений: 21
09.10.2015, 15:00  [ТС]
Спасибо, поковыряю сейчас)
0
 Аватар для hipols_dp
2 / 2 / 0
Регистрация: 04.08.2013
Сообщений: 16
10.10.2015, 13:41
Я тоже как раз ковыряюсь с этими библиотеками.
Вопрос по поводу модуля pythoncom.
Заимпортил , все как надо:

Python
1
import pythoncom
А вот Никаких функций pythoncom не имеет. Не видит PumpMessages()

Python
1
pythoncom.PumpMessages()    # Ошибка
В чем может быть проблема?
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
10.10.2015, 13:42
а ошибка какая?
0
 Аватар для hipols_dp
2 / 2 / 0
Регистрация: 04.08.2013
Сообщений: 16
10.10.2015, 13:55
Вообще программа висит не завершается.
Если завершить выполнение , выдает:

Process finished with exit code -1
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
10.10.2015, 13:59
Цитата Сообщение от hipols_dp Посмотреть сообщение
Вообще программа висит не завершается.
так специально для этого и есть PumpMessages, в моем примере попробуйте нажать "q".
1
 Аватар для hipols_dp
2 / 2 / 0
Регистрация: 04.08.2013
Сообщений: 16
10.10.2015, 14:16
спасибо. Все ок!)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.10.2015, 14:16
Помогаю со студенческими работами здесь

Как записать координаты точек массив по клику мыши на picturebox?
Вот у меня такой код: public partial class Form1 : Form { int tochka = new int; public Form1() { ...

Выведите координаты мыши относительно блока в момент движения курсора мыши внутри блока. Координаты выводить под блоком
.Выведите координаты мыши относительно блока в момент движения курсора мыши внутри блока. Координаты выводить под блоком. код ...

Chart как показывать координаты мыши по графику возле курсора мыши!
Chart как показывать координаты мыши по графику возле курсора мыши! Когда двигаешь мышкой по графику координаты обновлялись!

[Win API] Отображение координаты курсора мыши и нажатой клавиши мыши в отдельном окне
Только начал изучать , решил сделать прогу для отображение координат мыши и нажатой клавиши мышки в отдельном окне. Подскажите пожалуйста,...

Vb.net directx, slimdx преобразовать экранные координаты мыши в 3d координаты
vb.net directx, slimdx преобразовать экранные координаты мыши в 3d координаты необходимо передвигать объекты мышью по плоскости XY,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru