跪求大佬! tkinter调用函数的问题
本帖最后由 v.ki 于 2021-1-29 13:36 编辑救救俺!
应该怎么改这个才能实现
没看懂的小伙伴我举个简单的例子
举个简单的例子:
比如我们通常设置lable标签的属性是这样的:
Label_5.configure(bg = "#000080")
这里的bg是我们直接输入的,但是,我想通过函数来自己设置这个bg就得这样写
do (attr_name,attr_value):
Lable5.configure(attr_name=attr_value)
do(bg,'#000000')
但是这时候在do函数里它把attr_name当场了属性值,也就是
Lable5.cinfigure(attr_name=#00000)
而不是
Lable5.cinfigure(bg=#00000)
这时候自然会报错:属性不存在
请问应该怎么改 本帖最后由 qq1151985918 于 2021-1-29 14:43 编辑
v.ki 发表于 2021-1-29 13:49
这样就失去了我设置函数的意义,设置函数目的就是都可以用,下次我要是想设置paxd属性呢,还得再修改一下 ...
import tkinter as tk
root = tk.Tk()
root.title('Set')
root.geometry('200x200')
label = tk.Label(root, text = '测试标签属性')
label.pack()
label1 = tk.Label(root, text = '属性:')
label1.pack()
entry1 = tk.Entry(root)
entry1.pack()
label2 = tk.Label(root, text = '对应值:')
label2.pack()
entry2 = tk.Entry(root)
entry2.pack()
button = tk.Button(text='设置属性',command = lambda:exec(setlabel(entry1.get(),entry2.get())))
button.pack()
def setlabel(attr_name = "bg",attr_value = "yellow"):
code = "label.config(%s='%s')"%(attr_name,attr_value)
return code
root.mainloop()
你得有控件啊 你的这段代码是什么意思a,
没看懂…… _2_ 发表于 2021-1-29 13:13
你的这段代码是什么意思a,
没看懂……
举个简单的例子:
比如我们通常设置lable标签的属性是这样的:
Label_5.configure(bg = "#000080")
这里的bg是我们直接输入的,但是,我想通过函数来自己设置这个bg就得这样写
do (attr_name,attr_value):
Lable5.configure(attr_name=attr_value)
do(bg,'#000000')
但是这时候在do函数里它把attr_name当场了属性值,也就是
Lable5.cinfigure(attr_name=#00000)
而不是bg 本帖最后由 qq1151985918 于 2021-1-29 13:41 编辑
def do(attr_value):
Lable5.configure(bg = attr_value)
do(attr_value = '#000000') qq1151985918 发表于 2021-1-29 13:40
这样就失去了我设置函数的意义,设置函数目的就是都可以用,下次我要是想设置paxd属性呢,还得再修改一下do函数 本帖最后由 qq1151985918 于 2021-1-29 14:21 编辑
看下一个回复 qq1151985918 发表于 2021-1-29 14:19
nice感谢
页:
[1]