Остановите программу на Python, пока пользователь не выполнит действие - PullRequest
5 голосов
/ 25 мая 2011

Моя оригинальная программа использовала input, например:

n = input("Enter your favorite number: ")
# do stuff with number

Теперь я перешел на графический интерфейс GTK, но все еще хочу выполнить то же самое.Теперь посмотрите на этот очень похожий фрагмент кода:

n = myWindow.getNumber()
# do stuff with number

Можно ли написать метод getNumber(), который возвращается только после того, как пользователь нажал кнопку отправки в окне?(например, как работает функция input) или это мой единственный вариант:

def callback(widget, event):
    n = myWindow.inputWidget.getValue()
    # do stuff with number

n = myWindow.getNumber(callback)

Обновление: я пытаюсь сделать это без gtk.Dialog, так как мне не нужен диалогвыскакивает каждый раз, когда требуется ввод пользователя.

1 Ответ

3 голосов
/ 25 мая 2011

Вам нужен модальный диалог.Я вообще не знаю GTK (или PyGTK), но, похоже, в документации есть пример .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...