在tkinter GUI中调整字体大小

时间:2015-09-19 11:46:55

标签: python tkinter

我试图在tkinter中编写代码,这会在您单击radiobutton时更改字体大小。

默认文本的代码写在代码

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

我无法找出一个会改变' font'中数字的功能。我想过使用.replace,但那是用于字符串的。

3 个答案:

答案 0 :(得分:3)

您可以使用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()

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

答案 1 :(得分:3)

作为更改窗口小部件配置的替代方法(如在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

答案 2 :(得分:0)

我在python 3.4中使用它

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