|
5鱼币
本帖最后由 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 编辑
- 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()
复制代码
|
|