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

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

09.10.2015, 09:38. Показов 5325. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru