4

tkMessageBox.askyesno('Title', 'Message', icon=tkMessageBox.WARNING)在 OS X 上只是给了我火箭图标。

我知道 OS X 和 tkMessageBox 图标有些奇怪,因为tkMessageBox.showerror()只显示火箭图标,但tkMessageBox.showwarning显示一个黄色三角形(角落里有一个小火箭)

这是一个错误吗?

是否有一些解决方法可以获得警告三角形和是/否按钮,而不必从头开始制作我自己的消息框窗口?

4

2 回答 2

2

我找到了一个解决方案:

tkMessageBox.askretrycancel(title, message, type=tkMessageBox.YESNO)

似乎有效,但是两个按钮都按下 return False,所以它没有任何用处。

tkMessageBox.showwarning(title, message, type=tkMessageBox.YESNO)

也可以工作,但请注意它返回'yes'or 'no',而不是Trueor False。这是唯一真正的选择。


如果有人能告诉我这是否是一个错误,我仍然会感兴趣。

于 2016-09-28T20:26:25.747 回答
1

您可以使用icon='warning'而不是icon=tkMessageBox.WARNING

我刚刚在 Windows 上尝试过。对不起,我没有 OSX 来测试

于 2021-11-04T20:33:03.000 回答