微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何根据 tkinter 中选择的选项设置文本框的文本大小?

如何解决如何根据 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,因为我们正在处理 intfont 参数也应该是这样的元组:("<font family name>",<font size>)

我正在跟踪 int_var 值是什么并相应地更新 text_widget

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。