首页 文章

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

提问于
浏览
0

我在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

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

相关问题