如何设置文本框的文本大小取决于在tkinter中选择了什么选项


global my_frame
my_frame = Frame(tab2, bg="white")
my_frame.place(relwidth= 0.81, relheight= 0.8, relx=0.1, rely=0.1,)
text_scroll = Scrollbar(my_frame)
text_scroll.pack(side=RIGHT, fill=Y)

文本条目

global textbox
textbox = Text(my_frame,undo=True,font=12, yscrollcommand=text_scroll.set)
textbox.place(relwidth= 0.985, relheight= 1, relx=0, rely=0)
text_scroll.config(command=textbox.yview)

下拉菜单我想能够选择字体

clicked = StringVar()
clicked.set(12)
drop = OptionMenu(tab2,clicked, 1,2,3,4,5,6,7,8,9,10,11,12,13,14)
drop.pack()

我的问题是,我不知道如何根据用户选择的数字设置文本大小。请帮忙。

试试这个:

import tkinter as tk
def callback(*args):
new_font_size = int_var.get()
text_widget.config(font=("", new_font_size))
root = tk.Tk()
text_widget = tk.Text(root, font=("", 12))
text_widget.pack()
int_var = tk.IntVar(root)
int_var.trace("w", callback)
drop = tk.OptionMenu(root, int_var, *range(1, 15))
drop.pack()
root.mainloop()

我将变量从tk.StringVar更改为tk.IntVar,因为我们正在处理ints。此外,font参数应该是这样的元组:("<font family name>", <font size>)

我正在跟踪int_var的值,并相应地更新text_widget

相关内容

  • 没有找到相关文章

最新更新