在Python中的循环中创建多个变量/字符串

2024-09-30 14:21:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试创建一个程序,看起来像这样:

          self.b1 = Checkbutton(self, variable=self.b1v, text="1.")
          self.b1.grid()
          self.b2v = IntVar()
          self.b2 = Checkbutton(self, variable=self.b2v, text="2.")
          self.b2.grid()
          self.b3v = IntVar()
          self.b3 = Checkbutton(self, variable=self.b3v, text="3.")
          self.b3.grid()
          self.b4v = IntVar()

嗯,有点像那样,只是。。。30多次。一定有更好的办法。但是,我不知道如何在一个循环中执行此操作。我想应该是这样的:

^{pr2}$

……或者类似的事情。。。但这带来了一个错误:

    Traceback (most recent call last):
  File "/Users/jonahswersey/Documents/toggle flags.py", line 126, in <module>
    app = Application()
  File "/Users/jonahswersey/Documents/toggle flags.py", line 93, in __init__
    self.createWidgets()
  File "/Users/jonahswersey/Documents/toggle flags.py", line 117, in createWidgets
    exec(m)
  File "<string>", line 1, in <module>
  File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-tk/Tkinter.py", line 2337, in __init__
    Widget.__init__(self, master, 'checkbutton', cnf, kw)
  File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-tk/Tkinter.py", line 1923, in __init__
    BaseWidget._setup(self, master, cnf)
  File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-tk/Tkinter.py", line 1903, in _setup
    if cnf.has_key('name'):
AttributeError: IntVar instance has no attribute 'has_key'

…但是手动输入是不行的。有人给我建议吗?在


Tags: textinpyselfinitliblinevariable
2条回答

像这样?在

num_buttons = 3
self.b_vars = [IntVar() for i in range(num_buttons)]
self.b = [CheckButton(self, variable=self.b_vars[i], text="%d." % (i + 1)) for i in range(num_buttons)]
for button in self.b:
    button.grid()

你在找^{}。在

相关问题 更多 >