Используйте мышь, чтобы рисовать на экране с питоном?

Я хотел бы создать инструмент в Python, который я могу использовать, чтобы рисовать вещи на моем экране. Я нашел один инструмент, который делает то, что я хочу, Epic Pen, но он поддерживается только в Windows и не обладает всеми необходимыми мне функциями. Я надеялся, что кто-то может предложить библиотеку, которая поможет мне с этим проектом. Большая часть моей работы с Python была посвящена исследованиям, и я не создавал GUI, поэтому я не очень знаком с библиотеками, которые могли бы мне помочь. Я уверен, что есть более чем одна библиотека, которая отвечает всем требованиям. Что вы рекомендуете? Зачем?

Несколько требований / заметок

  • Я хотел бы, чтобы инструмент был полностью кроссплатформенным (Linux/Mac/Windows)
  • Я должен уметь рисовать вещи за пределами "специального" окна. Если я делаю презентацию в формате PowerPoint, я бы хотел выделить или подчеркнуть ключевой момент. Или обведите что-нибудь на картинке и т. Д.
  • Я хотел бы иметь возможность получить положение мыши на моем экране и передать это обратно в программу.

Вот ссылка на видео, демонстрирующее инструмент, который я хотел бы создать.

1 ответ

Решение

Вам нужно будет создать прозрачный виджет, который покрывает экран, чтобы вы могли рисовать на нем. Я не знаю, как каждый из наборов инструментов GUI делает это, но я уверен, что у них всех есть функциональность, необходимая, чтобы захватить размер экрана и создать окно, которое может покрыть это. С wxPython вы бы создали wx.Frame экземпляр и назовите его SetTransparent метод. Вы можете увидеть пример этого здесь:

Демонстрация wxPython включает демонстрацию рисования, на которую вы также можете взглянуть.

Другие вопросы по тегам