Шрифт управления в tkMessageBox

Я хотел бы управлять шрифтом текста в tkMessageBox, но я не вижу ссылок на такие вещи. Это реализовано только в Tkinter?

Спасибо,


person lpostula    schedule 19.02.2012    source источник


Ответы (3)


Вы можете настроить шрифт только для диалоговых окон, выполнив следующие действия:

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

(Только вызов option_add изменен из принятого ответа.)

person Charl Botha    schedule 20.10.2012
comment
Можно ли изменить ширину окна сообщений? - person Gabriel Staples; 21.08.2016

Здесь работает следующее. Вам нужно будет изменить второй аргумент option на нужный тип и размер шрифта.

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

Возможно, вам придется позвонить r.option_clear(), чтобы потом очистить его.

См. здесь для получения дополнительной информации о настройке шрифта других виджетов Tkinter.

Это не работает с tkMessageBox, потому что tkCommonDialog не принимает параметр шрифта.

person Appleman1234    schedule 19.02.2012

option_add может работать только для операционных систем Linux, но вы можете управлять шрифтом, переносом строк и шириной поля:

    root.option_add('*Dialog.msg.font', 'Helvetica 24')
    root.master.option_add('*Dialog.msg.width', 34)
    root.master.option_add("*Dialog.msg.wrapLength", "6i")
person Ben George    schedule 10.06.2020