包含在列表中时,通过名称直接访问Tkinter小部件

时间:2018-10-20 12:26:40

标签: python tkinter

我有一个复杂的GUI界面,为了使我的__init__方法中的代码尽可能简洁,我想在列表中创建相同类型的小部件。我的问题是,如果某个特定的小部件保存在列表中,而又不遍历列表并比较名称,那么如何按名称访问它。

这是一些示例代码。

import tkinter as tk
from tkinter import ttk

root = tk.Tk()

def change():
    for l in labs:
        if l._name == s.get():
            l.configure(text="Changed")
            return

labs = []
for x in range(5):
    labs.append(tk.Label(root, text="Original", name=str(x)))
    labs[x].pack()

b = ttk.Button(root, text="Change", command=change)
s = tk.Spinbox(width=2, values=[0,1,2,3,4])
s.pack()
b.pack()

root.mainloop()

change()函数中,我想配置文本而不遍历整个列表。这有可能吗?

1 个答案:

答案 0 :(得分:0)

好的,也许这是正确的方法:

response.xpath('//h2|//h3|//p').xpath('./text()')