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

时间:2013-12-02 08:47:48

标签: 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()

有没有办法更改字体,还是我必须使用自定义对话框?

4 个答案:

答案 0 :(得分:2)

您可以更改字幕的默认字体:

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')

答案 1 :(得分:1)

你应该写自己的消息框。 Tkinter调用Windows或Mac的系统对话框和Linux的genetate对话框。在所有情况下都是不可能的改变Tkinter对话框。

答案 2 :(得分:0)

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

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

from Tkinter import *

master = Tk()

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

mainloop()

我希望它有所帮助!

答案 3 :(得分:0)

请点击此处了解如何更改对话框文字:Control Font in tkMessageBox

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

  

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

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

请务必致电r.option_clear()然后将字体恢复正常。