Ищу тот же эффект, что и alert()
в JavaScript.
Сегодня днем я написал простой веб-интерпретатор, используя Twisted.web. Вы в основном отправляете блок кода Python через форму, а клиент приходит, берет его и выполняет. Я хочу иметь возможность создавать простое всплывающее сообщение без необходимости каждый раз переписывать целую кучу шаблонного кода wxPython или TkInter (поскольку код отправляется через форму, а затем исчезает).
Я пробовал tkMessageBox:
import tkMessageBox
tkMessageBox.showinfo(title="Greetings", message="Hello World!")
но это открывает другое окно в фоновом режиме со значком tk. Я не хочу этого. Я искал простой код wxPython, но он всегда требовал настройки класса и входа в цикл приложения и т. Д. Нет ли простого, удобного способа создать окно сообщения в Python?
Вы смотрели easygui ?
источник
Также вы можете расположить другое окно перед его снятием, чтобы разместить свое сообщение
источник
Код, который вы представили, в порядке! Вам просто нужно явно создать «другое окно в фоновом режиме» и скрыть его с помощью этого кода:
Прямо перед вашим почтовым ящиком.
источник
Модуль PyMsgBox делает именно это. В нем есть функции окна сообщения, которые соответствуют соглашениям об именах JavaScript: alert (), confirm (), prompt () и password () (который является prompt (), но использует * при вводе). Эти вызовы функций блокируются до тех пор, пока пользователь не нажмет кнопку OK / Отмена. Это кроссплатформенный модуль на чистом Python без зависимостей.
Установить с помощью:
pip install PyMsgBox
Пример использования:
Полная документация на http://pymsgbox.readthedocs.org/en/latest/
источник
AssertionError: Tkinter is required for pymsgbox
pip
, но на самом деле часть библиотек устанавливается другим способом - с помощью системного диспетчера пакетов. Итак, я установилpython-tk
с помощью своего диспетчера пакетов. Я использую Python 2.7 в Debian.В Windows вы можете использовать ctypes с библиотекой user32 :
источник
На Mac в стандартной библиотеке Python есть модуль с именем
EasyDialogs
. Существует также версия Windows (на основе ctypes) по адресу http://www.averdevelopment.com/python/EasyDialogs.html.Если это важно для вас: он использует собственные диалоги и не зависит от Tkinter, как уже упоминалось
easygui
, но у него может быть не так много функций.источник
Последнее число (здесь 1) можно изменить, чтобы изменить стиль окна (не только кнопки!):
Например,
даст это :
источник
использование
Главное окно должно быть создано раньше. Это для Python 3. Это не для wxPython, а для tkinter.
источник
источник
Также вы можете расположить другое окно перед его снятием, чтобы разместить свое сообщение
Обратите внимание: это ответ Льюиса Коулза только на Python 3ified, поскольку tkinter изменился после python 2. Если вы хотите, чтобы ваш код был совместим с обратными словами, сделайте что-то вроде этого:
источник
Не самое лучшее, вот мое основное окно сообщений, использующее только tkinter.
источник
проверьте мой модуль python: pip install quickgui (требуется wxPython, но не требует знания wxPython) https://pypi.python.org/pypi/quickgui
Может создавать любое количество входов (соотношение, флажок, поле ввода), автоматически размещать их на одном графическом интерфейсе.
источник
Последняя версия окна сообщений - это модуль prompt_box. Он имеет два пакета: предупреждение и сообщение. Сообщение дает вам больший контроль над полем, но требует больше времени для ввода.
Пример кода предупреждения:
Пример кода сообщения:
источник
модуль ctype с потоковой передачей
Я использовал окно сообщений tkinter, но это привело бы к сбою моего кода. Я не хотел выяснять, почему вместо этого использовал модуль ctypes .
например:
я получил этот код от Аркелиса
Мне понравилось, что это не привело к сбою кода, поэтому я поработал над этим и добавил потоки, чтобы код после него запускался.
пример для моего кода
для стилей кнопок и номеров значков:
источник
Вы можете использовать
pyautogui
илиpymsgbox
:Использование
pymsgbox
аналогично использованиюpyautogui
:источник