Python / Tk:链接在不同行的帧中的条目小部件

时间:2013-03-04 10:45:41

标签: python tkinter

我在Python 2.6中遇到了使用Tk的问题。我有一个GUI,它是使用Python包装器从xml代码自动构建的。除了由以下布局组成的部分外,一切都很好:

第1行:[Label1] [Button1] [Frame1a [Label] [Entry]] [Frame1b [Label] [Entry]]

第2行:[Label2] [Button2] [Frame2a [Label] [Entry]] [Frame2b [Label] [Entry]]

问题在于,由于某种原因,如果我在第1行的Frame1a [Entry]中输入一个值,我输入的数字也会被复制到第2行的Frame2a [Entry]。同样适用于第1b / 2b帧。我在最初创建框架时检查了框架并用小部件填充它们,它们都是单独的框架,唯一的链接元素是第一个参数self.root。另外,我使用frame.grid()将它们添加到主窗口。

有没有人知道这种情况何时会发生?如果需要,我可以发布代码,尽管我不愿意。我一直在搜索,但似乎没有其他人有这个问题。

由于

编辑:发布一些代码

def new_frame_setup(self, name, options, row_idx=0):

    label   = tk.Label(self.root, text=name, font=("Helvetica", 16))

    _master_frame = tk.Frame(self.root, borderwidth=1, relief="ridge")
    for edit_idx in xrange(len(options)):
      _sub_frame = tk.Frame(_master_frame, borderwidth=1, padx=5, relief="ridge"))
      _sub_frame.grid(row=0, column=edit_idx)
      tk.Label(_sub_frame, text=options[edit_idx][0]+options[edit_idx][1], width=5, font=("Helvetica", 16)).grid(row=0, column=2*edit_idx)
      s = tk.StringVar()
      s.set('%s' % (row_idx))
      tk.Entry(_sub_frame, textvariable=s, text=options[edit_idx][2], width=10, font=("Helvetica", 12)).grid(row=0, column=2*edit_idx+1)

    button  = tk.Button(self.root, text='GoGoGo', font=("Helvetica", 12), command=None)
    self._frame_layouts.append([label, _master_frame, button])

1 个答案:

答案 0 :(得分:0)

如果生成的代码将相同的变量分配给两个或多个条目小部件的textvariable属性,则会发生这种情况。