В ОС Ma c окна сообщений tkinter НЕ показывают разные значки для разных типов окон сообщений (кроме предупреждений). Значки ошибок, информации и вопросов являются значком «Python Spaceship» и не указывают c на ошибки, информацию или вопросы. См. Вложенные файлы, начинающиеся с «Снимок экрана ...»
В Windows в окнах сообщений отображаются контекстно-зависимые значки. См. Прикрепленный файл WindowsMessageBoxOutput.jpg
Как получить контекстно-зависимые значки для загрузки в ОС Ma c?
Код, который я использовал для генерации / отображения окна сообщений следующие:
import tkinter as tk
import tkinter.messagebox as tkmb
from tkinter import Button
def show_message_boxes():
tkmb.showinfo(title='Info Box', message='Info with info icon', icon='info')
tkmb.showinfo(title='Info Box', message='Info with error icon', icon='error')
tkmb.showinfo(title='Info Box', message='Info with question icon', icon='question')
tkmb.showinfo(title='Info Box', message='Info with warning icon', icon='warning')
tkmb.showinfo(title='Info Box', message='Info box with info icon', icon='info')
tkmb.showerror(title='Error Box', message='Error box with default icon', icon='error')
tkmb.showwarning(title='Warning Box', message='Warning box with default icon', icon='warning')
tkmb.showinfo(title='Info Box', message='Info box with default icon')
tkmb.showerror(title='Error Box', message='Error box with default icon')
tkmb.showwarning(title='Warning Box', message='Warning box with default icon')
window = tk.Tk()
but = Button(window, text ='Click', command = show_message_boxes, width=20, height=10)
but.grid(row=0, column=0)
window.mainloop()
Примечание. Я пробовал различные варианты для создания окон сообщений с иконками (отсюда и различные вызовы в приведенном выше коде).
Среда
Я работаю со следующим в Ма c ОС:
- Мохаве 10.14.6
- Python 3.7.5
- tkinter 8.5
Изображения: