【发布时间】:2019-08-26 15:47:05
【问题描述】:
我尝试编写一个程序,可以在其中使用变量更改按钮的宽度,但它不会更新。我已经知道如何处理它的文本,但我不能处理它的尺寸。我也不能将尺寸保留为默认值,因为我有多个按钮,所有按钮都需要具有相同的尺寸,但文本不同。
我尝试的第一件事是更改宽度变量的宽度命令,因为这适用于文本到文本变量,但它不存在。 我也尝试设置 width=var 但没有。
from tkinter import *
root=Tk()
myFrame=Frame()
myFrame.pack(fill="both", expand="True")
idioma=StringVar(myFrame)
idioma.set("Català")
idiomes_possibles=["Català", "Español", "English", "Deutsch"]
idiomes_possibles=OptionMenu(myFrame, idioma, *idiomes_possibles)
idiomes_possibles.config(width=10)
idiomes_possibles.grid(row=1, column=0)
vari=IntVar()
vari.set(15)
varia=vari.get()
def change_dropdown(*args):
idioma_elegit=idioma.get()
if(idioma_elegit=="Català"):
vari.set(15)
varia=vari.get()
elif(idioma_elegit=="Español"):
vari.set(17)
varia=vari.get()
botó_recta=Button(myFrame, width=varia)
botó_recta.grid(row=0, column=1)
root.mainloop()
我希望更改 idioma 变量会更改 varia 变量以及按钮调整大小,除了调整按钮大小之外。 谢谢。
【问题讨论】:
-
您设置按钮的宽度一次,使用来自变量
varia的值。对该变量的进一步更改对按钮绝对没有影响。您必须再次设置宽度,可以写成botó_recta['width'] = varia或botó_recta.config(width=varia)。
标签: python python-3.x