我试图在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,但那是用于字符串的。
答案 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()