【问题标题】:Why can't I change the icon on a tkMessagebox.askyesno() on OS X?为什么我不能在 OS X 上更改 tkMessagebox.askyesno() 上的图标?
【发布时间】:2017-02-06 23:36:40
【问题描述】:

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

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

这是一个错误吗?

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

【问题讨论】:

    标签: python macos tkinter tkmessagebox


    【解决方案1】:

    我找到了解决办法:

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

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

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

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


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

    【讨论】:

      【解决方案2】:

      您可以使用 icon='warning' 代替 icon=tkMessageBox.WARNING

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

      【讨论】:

      • 我认为这个答案作为评论会更好。
      • 作为新成员我无法发表评论
      猜你喜欢
      • 2015-03-07
      • 1970-01-01
      • 1970-01-01
      • 2013-12-08
      • 1970-01-01
      • 2011-11-04
      • 1970-01-01
      • 2020-02-28
      相关资源
      最近更新 更多