Как вывести messagebox python

tkinter.messagebox — Tkinter message prompts¶

The tkinter.messagebox module provides a template base class as well as a variety of convenience methods for commonly used configurations. The message boxes are modal and will return a subset of (True, False, OK, None, Yes, No) based on the user’s selection. Common message box styles and layouts include but are not limited to:

../_images/tk_msg.png

class tkinter.messagebox. Message ( master = None , ** options ) ¶

Create a default information message box.

Information message box

tkinter.messagebox. showinfo ( title = None , message = None , ** options ) ¶

Warning message boxes

tkinter.messagebox. showwarning ( title = None , message = None , ** options ) ¶ tkinter.messagebox. showerror ( title = None , message = None , ** options ) ¶

Question message boxes

tkinter.messagebox. askquestion ( title = None , message = None , ** options ) ¶ tkinter.messagebox. askokcancel ( title = None , message = None , ** options ) ¶ tkinter.messagebox. askretrycancel ( title = None , message = None , ** options ) ¶ tkinter.messagebox. askyesno ( title = None , message = None , ** options ) ¶ tkinter.messagebox. askyesnocancel ( title = None , message = None , ** options ) ¶

Источник

Как вывести messagebox python

Tkinter имеет ряд встроенных окон для разных ситуаций, в частности, окна сообщений, функционал которых заключен в модуле tkinter.messagebox . Для отображения сообщений этот модуль предоставляет следующие функции:

  • showinfo() : предназначена для отображения некоторой информации
  • showerror() : предназначена для отображения ошибок
  • showwarrning() : предназначена для отображения предупреждений

Все эти функции принимают три параметра:

showinfo(title, message, **options) showerror(title, message, **options) showwarrning(title, message, **options)
  • title : заголовок окна
  • message : отображаемое сообщение
  • options : настройки окна
Читайте также:  Ввод символов через пробел питон

В реальности различие между этими типами сообщений заключается лишь в изображении, которое отображается рядом с текстом сообщения:

from tkinter import * from tkinter import ttk from tkinter.messagebox import showerror, showwarning, showinfo root = Tk() root.title("METANIT.COM") root.geometry("250x200") def open_info(): showinfo(title="Информация", message="Информационное сообщение") def open_warning(): showwarning(title="Предупреждение", message="Сообщение о предупреждении") def open_error(): showerror(title="Ошибка", message="Сообщение об ошибке") info_button = ttk.Button(text="Информация", command=open_info) info_button.pack(anchor="center", expand=1) warning_button = ttk.Button(text="Предупреждение", command=open_warning) warning_button.pack(anchor="center", expand=1) error_button = ttk.Button(text="Ошибка", command=open_error) error_button.pack(anchor="center", expand=1) root.mainloop()

Здесь по нажатию на каждую из трех кнопок отображается соответствующее сообщение:

Окна с сообщениями messagebox в Tkinter и Python

Окна подтверждения операции

Модуль tkinter.messagebox также предоставляет ряд функций для подтверждения операции, где пользователю предлагается нажать на одну из двух кнопок:

Все эти функции принимают те же три параметра title, message и options. Отличие между ними только в том, что кнопки имеют разный текст. В случае нажатия на кнопку подтверждения, функция возвращает значение True , иначе возвращается False

from tkinter import * from tkinter import ttk from tkinter.messagebox import showinfo, askyesno root = Tk() root.title("METANIT.COM") root.geometry("250x200") def click(): result = askyesno(title="Подтвержение операции", message="Подтвердить операцию?") if result: showinfo("Результат", "Операция подтверждена") else: showinfo("Результат", "Операция отменена") ttk.Button(text="Click", command=click).pack(anchor="center", expand=1) root.mainloop()

В данном случае по нажатию на кнопку вызывается функция askyesno() , которая отображает диалоговое окно с двумя кнопками «Да» и «Нет». В зависимости от того, на какую кнопку нажмет пользователь, функция возвратит True или False. Получив результат функции, мы можем проверить его и выполнить те или иные действия.

Диалоговые окна в Tkinter и Python

Особняком стоит функция askquestion — она также отображает две кнопки для подтверждения или отмены действия (кнопки «Yes»(Да) и «No»(Нет)), но в зависимости от нажатой кнопки возвращает строку: «yes» или «no».

Также отдельно стоит функция askyesnocancel() — она отображает три кнопки: Yes (возвращает True), No (возвращает False) и Cancel (возвращает None):

from tkinter import * from tkinter import ttk from tkinter.messagebox import showinfo, askyesnocancel root = Tk() root.title("METANIT.COM") root.geometry("250x200") def click(): result = askyesnocancel(title="Подтвержение операции", message="Подтвердить операцию?") if result==None: showinfo("Результат", "Операция приостановлена") elif result: showinfo("Результат", "Операция подтверждена") else : showinfo("Результат", "Операция отменена") ttk.Button(text="Click", command=click).pack(anchor="center", expand=1) root.mainloop()

В этом случае диалоговое окно предоставит выбор из трех альтернатив

Читайте также:  Java timezone new york

Диалоговые окна подтверждения операции в Tkinter и Python

Настройка окон

Дополнительно все вышерассмотренные функции принимают ряд параметров, которые могут применяться для настройки окон. Некоторые из них:

  • detail : дополнительный текст, который отображается под основным сообщением
  • icon : иконка, которая отображается рядом с сообщением. Должна представлять одно из втроенных изображений: info, error, question или warning
  • default : кнопка по умолчанию. Должна представлять одно из встроенных значений: abort, retry, ignore, ok, cancel, no, yes
from tkinter import * from tkinter import ttk from tkinter.messagebox import OK, INFO, showinfo root = Tk() root.title("METANIT.COM") root.geometry("250x200") def click(): showinfo(title="METANIT.COM", message="Добро пожаловать на сайт METANIT.COM", detail="Hello World!", icon=INFO, default=OK) ttk.Button(text="Click", command=click).pack(anchor="center", expand=1) root.mainloop()

При нажатии на кнопку отобразится следующее окно:

Источник

Виджет Python Tkinter messagebox – диалоговые окна сообщений

Модуль Tkinter messagebox в Python используется для отображения окон сообщений в приложениях Python. Существуют различные функции, которые используются для отображения соответствующих сообщений в зависимости от требований приложения.

Синтаксис для использования окна сообщений приведен ниже.

messagebox.function_name(title, message [, options])

Параметры

  • function_name: представляет соответствующую функцию окна сообщения.
  • title: это строка, которая отображается как заголовок окна сообщения.
  • message: это строка, которая будет отображаться как непосредственное сообщение в окне сообщения.
  • options: различные параметры, которые можно использовать для настройки диалогового окна сообщения.

Можно использовать два параметра: default и parent.

Параметр по умолчанию используется для упоминания типов кнопки по умолчанию, то есть ABORT, RETRY или IGNORE в окне сообщения.

Опция parent указывает родительское окно, поверх которого должно отображаться окно сообщения.

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

1. showinfo()

Окно сообщений showinfo() используется там, где нам нужно показать пользователю некоторую релевантную информацию.

# !/usr/bin/python3 from tkinter import * from tkinter import messagebox top = Tk() top.geometry("100x100") messagebox.showinfo("information","Information") top.mainloop()

showinfo()

2. showwarning()

Этот метод используется для отображения предупреждения пользователю. Рассмотрим следующий пример.

# !/usr/bin/python3 from tkinter import * from tkinter import messagebox top = Tk() top.geometry("100x100") messagebox.showwarning("warning","Warning") top.mainloop()

showwarning()

3. showerror()

Этот метод используется для отображения сообщения об ошибке пользователю. Рассмотрим следующий пример.

# !/usr/bin/python3 from tkinter import * from tkinter import messagebox top = Tk() top.geometry("100x100") messagebox.showerror("error","Error") top.mainloop()

showerror()

4. askquestion()

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

# !/usr/bin/python3 from tkinter import * from tkinter import messagebox top = Tk() top.geometry("100x100") messagebox.askquestion("Confirm","Are you sure?") top.mainloop()

askquestion()

5. askokcancel()

Этот метод используется для подтверждения действий пользователя в отношении некоторых действий приложения. Рассмотрим следующий пример.

# !/usr/bin/python3 from tkinter import * from tkinter import messagebox top = Tk() top.geometry("100x100") messagebox.askokcancel("Redirect","Redirecting you to www.javatpoint.com") top.mainloop()

askokcancel()

6. askyesno()

Этот метод используется, чтобы спросить пользователя о каком-либо действии, на которое пользователь может ответить утвердительно или нет. Рассмотрим следующий пример.

# !/usr/bin/python3 from tkinter import * from tkinter import messagebox top = Tk() top.geometry("100x100") messagebox.askyesno("Application","Got It?") top.mainloop()

askyesno()

7. askretrycancel()

Этот метод используется, чтобы спросить пользователя, нужно ли снова выполнять определенную задачу. Рассмотрим следующий пример.

# !/usr/bin/python3 from tkinter import * from tkinter import messagebox top = Tk() top.geometry("100x100") messagebox.askretrycancel("Application","try again?") top.mainloop()

Источник

Оцените статью