我想创建一个Tkinter小部件数组。为此,我要遍历for
循环并将动态命名的项目添加到字典中,然后使用grid()
将这些项目放在屏幕上。但是,在包含grid()
的代码行中,我得到了上述的_tkinter.TclError: bad option "-bd"
错误消息。
据我了解,当通过grid()
传递的参数参数之一不可接受时,将引发此错误消息。但是,如果您查看有问题的代码,我认为您不会发现任何错误的参数-肯定没有类似-bd
的参数。我包含在grid()
中的唯一参数是(app, row=i, column=1)
。
下面是一些示例代码:
def newFrame(count):
v_eventCount = IntVar()
v_eventCount.set(count)
events = {}
for i in range(1,v_eventCount.get()+1):
stri = str(i)
events['l_event'+stri+'Marker'] = Label(app, text="Event "+stri+":")
events['l_event'+stri+'Marker'].grid(app, row=i, column=1)
我希望这段代码的结果是在网格位置(i,1)上显示字典项events['l_event'+stri+'Marker']
。换句话说,我想看到一个标签,当i = 1时在网格位置(1,1)上显示“事件1”(当i = 2时在(2,1)处显示“事件2”,依此类推... )。而是完全不显示该小部件,并抛出前面提到的错误消息。
我不知道该怎么办。我对Tkinter和整个Python还是很陌生,所以请保持友好!预先感谢。
答案 0 :(得分:0)
这是一个非常简单的语法错误。我不应该在自己的grid()参数中包含app
。我仍然不明白为什么错误提到了-bd
,但目前我不在乎。