在tkinter GUI中调整字体大小



我一直在尝试用tkinter写代码,当你点击单选按钮时,它会改变字体大小。

默认文本的代码写在代码

changeable_label = Label(the_window, text = 'Text Size' ,
    font = ('Arial' , 25), fg = 'black', width = 11, height = 2, 
       borderwidth = 1, relief = 'solid').pack()

我想不出一个函数可以改变'font'中的数字。我想使用。replace,但那是为字符串。

作为更改小部件配置的替代方法(如Anand的回答),您可以使用tkFont对象设置小部件的字体。然后如果你改变tkFont的配置,所有使用该字体的小部件都会改变。如

import Tkinter as tk
import tkFont
the_window = tk.Tk()
def changefont():
    label_font.config(size=12)
b = tk.Button(the_window, text="Reduce label font", command=changefont)
b.pack()
label_font = tkFont.Font(family='Arial', size=25)
for i in range(5):
    lbl = tk.Label(the_window, text='Label ' + str(i), font=label_font, 
        borderwidth=1, relief=tk.SOLID)
    lbl.pack()
the_window.mainloop()

以上代码适用于Python 2。在Python 3中,您需要将Tkinter更改为tkinter,将tkFont更改为tkinter.font

您可以使用widget.configure()来更改字体大小(或其他属性)。

基于按钮点击改变字体的示例代码-

from tkinter import *
root = Tk()
def change_font():
    changeable_label.configure(font=('Ariel',i.get()))

changeable_label = Label(root, text = 'Text Size' ,
    font = ('Arial' , 25), fg = 'black', width = 11, height = 2, 
       borderwidth = 1, relief = 'solid')
changeable_label.pack()
i = IntVar()
i.set(25)
button1 = Radiobutton(root,text = 'Increase font', variable=i, value=30, command=change_font)
button1.pack()
button2 = Radiobutton(root,text = 'Decrease font', variable=i, value=25, command=change_font)
button2.pack()
root.mainloop()

每个单选按钮为变量i设置适当的字体大小值,并调用方法- change_font()。在change_font()方法中,您可以根据变量i的值使用changeable_label.configure()来更改字体

我在python 3.4中使用这个

from tkinter import *
L=Label(text="Hola",font=(24))
L.pack()

最新更新