如何使用 Python tkinter 设置消息框的字体?

新手上路,请多包涵

我正在使用 tkinter 中提供的简单消息框,我想知道是否有任何方法可以更改字体。

这是我想要的总体思路,但是 font= 选项不起作用。

 from tkinter import Tk
import tkinter.messagebox as tkmsg

_root = Tk()
_root.withdraw()
tkmsg.showinfo(
    "Info",
    "Some monospaced text",
    font=("Monospace", 15)
)
_root.destroy()

有什么方法可以更改字体,还是必须使用自定义对话框?

原文由 kiri 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.6k
2 个回答

你不能。使用顶层 widgted (tkinter.Toplevel()) 和标签编写你自己的消息框!

像这样的东西(来自 http://effbot.org/tkinterbook/label.htm

 from Tkinter import *

master = Tk()

w = Label(master, text="Hello, world!")
w.pack()

mainloop()

我希望它有所帮助!

编辑:这是一个非常古老的答案,3 年后有人说这是可能的: Control Font in tkMessageBox

原文由 Lucas Sabião 发布,翻译遵循 CC BY-SA 4.0 许可协议

有关如何更改对话框文本的信息,请参见此处: tkMessageBox 中的控制字体

简而言之(从上面的链接逐字复制):

您可以通过执行以下操作仅为对话框配置字体:

 from Tkinter import *
import tkMessageBox
r = Tk()
r.option_add('*Dialog.msg.font', 'Helvetica 12')
tkMessageBox.showinfo(message='Hello')

一定要调用 r.option_clear() 之后将字体设置回正常。

原文由 Gabriel Staples 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏