在字典中的Tkinter窗口小部件上使用grid()时,如何修复'_tkinter.TclError:错误选项“ -bd”'错误

时间:2019-07-16 02:54:54

标签: python-3.x tkinter

我想创建一个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还是很陌生,所以请保持友好!预先感谢。

1 个答案:

答案 0 :(得分:0)

这是一个非常简单的语法错误。我不应该在自己的grid()参数中包含app。我仍然不明白为什么错误提到了-bd,但目前我不在乎。