Может ли строка пользователя (например, абзац) быть импортирована / введена в PyGame? - PullRequest
1 голос
/ 07 апреля 2019

Я создаю программу, которая должна принимать строку (например, абзац) от пользователя, а затем отображать определенные слова из этой строки более крупным шрифтом. Буду ли я использовать PyGame для этого? Я знаю, что текст можно выводить на экран с помощью PyGame, но у меня возникают трудности с сохранением ввода от пользователя. Я использую Sublime 3 с SublimeREPL, и когда я принимаю пользовательский ввод, REPL говорит, что он не может работать с Python. Можно ли получить пользовательский ввод без SublimeREPL, например, напрямую с PyGame? Если нет, как бы я сделал программу, как описано выше?

Я новичок в программировании, поэтому я прошу прощения за любые недоразумения. Любая помощь будет оценена. Спасибо!

1 Ответ

0 голосов
/ 07 апреля 2019

Первый: запустите его без Sublime и SublimeREPL. Запустите python your_script.py. Пользователи будут делать то же самое.


Если вам нужен только один вход, вы можете

  1. запустить скрипт с параметрами python your_script.py "some text",
  2. используйте input() в Python, чтобы получить текст, прежде чем он запустится PyGame.

Но эти методы нуждаются в терминале (текстовом окне) и не очень хорошо выглядят при создании графической программы.


PyGame не имеет виджетов для получения текста от пользователя. Существуют модули, которые могут добавлять некоторые виджеты, но вы должны научиться создавать приложение PyGame с виджетами, потому что они могут соблюдать некоторые правила.

См. GUI на странице PyGame.org (т.е. OcempGUI )


Вы можете попробовать создать собственный виджет для получения текста. Вы можете использовать ключевое событие, чтобы получить текст, обновить текст в списке (добавить или удалить символ) и использовать текст из списка, чтобы обновить текст в окне. Ввод текста


Некоторые люди используют Tkinter для отображения окна, которое запрашивает текст. Или они вставляют PyGame в окно Tkinter с другими виджетами.

...