如何使用Python tkinter设置messagebox的字体?

如何使用Python tkinter设置messagebox的字体?,python,python-3.x,tkinter,Python,Python 3.x,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()

我正在使用
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()

有没有办法更改字体或使用自定义对话框?

您应该编写自己的消息框。Tkinter为Windows或Mac调用系统对话框,为Linux调用genetate对话框。在任何情况下都不可能更改Tkinter对话框。

您不能。 使用toplevel Widgeted(tkinter.toplevel())和标签编写您自己的messagebox

像这样的东西(来自)


我希望有帮助

有关如何更改对话框文本的信息,请参见此处:

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

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

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

一定要调用
r.option\u clear()
将字体设置回正常

您可以更改标题的默认字体:

import tkinter as tk
from tkinter import messagebox as mb
from tkinter import font
root = tk.Tk() 
font1 = font.Font(name='TkCaptionFont', exists=True)
font1.config(family='courier new', size=20)
mb.showinfo(message='Hello')

您应该创建自己的tkinter.Toplevel()对话框来自定义字体。哦,使用tkinter.font.font()实例。@szieberthdam我认为没有办法使用Toplevel()来设置字体。我遗漏了什么吗?正如Lucas Sabião的回答一样,您应该在顶级对话框窗口中放置一个标签小部件。您可以自定义标签的字体。错误;你可以。请看这里:请看这里,您可以更改对话框:不幸的是,在Python3.4.4中它对我不起作用(即使在为较新的MessageBox大小写更改MessageBox之后)。当我添加r.option('*font',Courier 12')时,它改变了除messagebox字体以外的所有字体。@CuriousMarc在Python3.6.5中也不适用于我。
import tkinter as tk
from tkinter import messagebox as mb
from tkinter import font
root = tk.Tk() 
font1 = font.Font(name='TkCaptionFont', exists=True)
font1.config(family='courier new', size=20)
mb.showinfo(message='Hello')