【发布时间】:2020-04-24 14:06:34
【问题描述】:
在 Mac OS 中,tkinter 消息框不会为不同类型的消息框显示不同的图标(警告除外)。错误、信息和问题图标都是“Python Spaceship”图标,并不特定于错误、信息或问题。查看以“Screen Shot ...”开头的附件
在 Windows 中,消息框显示上下文相关图标。见附件 WindowsMessageBoxOutput.jpg
如何在 Mac OS 上加载上下文相关图标?
我用于生成/显示消息框的代码如下:
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()
注意:我尝试了各种选项来尝试生成带有图标的消息框(因此上面代码中的各种调用)。
环境
我在 Mac OS 上运行以下内容:
- 莫哈韦 10.14.6
- Python 3.7.5
- tkinter 8.5
图片:
【问题讨论】:
-
试试 .showinfo(title='Info Box', message='Info with info icon', bitmap="info")
-
@stovfl 不知道为什么我之前的评论消失了。抱歉,如果这是重复的。上面的代码示例完全按照您的建议进行尝试,(最后一个消息框调用的第三个)在 Mac OS 上,图标问题仍然存在 - 没有显示信息图标。
-
@stovfl 位图无法解决问题,并在 Windows 和 Mac 上导致错误。我添加了以下行: tkmb.showinfo(title='Info Box', message='Info with info icon', bitmap='info') 最终结果是以下错误消息。由于尺寸限制,无法全部提供给您。 _tkinter.TclError: bad option "-bitmap": must be -default, -detail, -icon, -message, -parent, -title, -type, or -command
标签: python macos tkinter tkmessagebox