【问题标题】:How to rewrite this code with `for` loop?如何用`for`循环重写这段代码?
【发布时间】:2021-09-25 22:23:11
【问题描述】:

我有一个用 tkinter 创建的单选按钮,单选按钮的逗号是:

 def FieldsetChanger ():
        lbl1_1.configure(state="enable")
        Entry1_1.configure(state="enable")
        lbl2_1.configure(state="enable")
        Entry2_1.configure(state="enable")

我可以用for循环重写这个函数吗?

【问题讨论】:

  • 您可以创建一个包含这些元素的列表,然后在每个列表项上调用.configure(state="enable")。
  • .configure(state="normal") 是 normal 而不是 enable @SaatvikRamani

标签: python tkinter radio-button


【解决方案1】:

您可以将这些元素存储在数组(例如列表)中并对其进行迭代:

my_arr = [lbl1_1, Entry1_1, lbl2_1, Entry2_1]

def FieldsetChanger ():
    for element in my_arr:
        element.configure(state="enable")

【讨论】:

  • 不是很重要,但我认为元组更好,因为它更快。通过我进行的快速测试,我发现创建元组可以快 10 倍。
  • @TheLizzard 是的。我知道,但我建议使用列表,因为他可能会创建这些对象并将它们附加到列表中,这对于元组是不可能的。 (他可能正在使用 listcomp 但他不会问这个问题)。
  • 哦,这就是原因。但是,将my_arr = ... 移到函数之外是否是个好主意?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-22
相关资源
最近更新 更多