【问题标题】:Copy Entry widget text and paste into another Entry widget in the same window复制条目小部件文本并粘贴到同一窗口中的另一个条目小部件
【发布时间】:2018-03-07 23:57:28
【问题描述】:

如何复制条目小部件文本并粘贴到同一窗口中的另一个条目小部件中。

即假设您正在完成一份联合信用申请,但您和共同申请人的邮寄地址相同。与其重新输入相同的地址,不如在申请表上有一个检查按钮,当它被检查时,它会用主申请人的地址自动填充共同申请人的邮寄地址。我如何在 tkinter 中完成这项工作? (我是 tkinter 和 python 菜鸟) 在此先感谢DP​

【问题讨论】:

  • 在问这个问题之前你做了哪些研究?您寻求的答案都在现成的文档和教程中。
  • edit 提出问题并更好地表达。我会从改进标题开始,现在还不清楚问题是关于什么的。
  • @BryanOakley 请分享此信息的位置...我无法找到如何完成此任务
  • @Nae 这样更好吗?
  • @DP9007036 有关资源的更多信息,请参阅tkinter tag info

标签: python tkinter


【解决方案1】:

可能还有更多方法可以实现您想要的行为。我认为在这里使用textvariable 选项和Variable Classes 很合适。它们一起让小部件的文本始终与另一个相同。使用Checkbutton,用户可以决定是否这样做:

try:                        # In order to be able to import tkinter for
    import tkinter as tk    # either in python 2 or in python 3
except ImportError:
    import Tkinter as tk


def on_selection(copy_widget, paste_widget, condition_widget):
    if condition_widget.var.get():
        paste_widget['textvariable'] = copy_widget['textvariable']
    else:
        paste_widget['textvariable'] = ''


def create_entry_widgets(master):
    entries = list()
    for i in range(2):
        entries.append(tk.Entry(master))
        entries[-1].pack()
    entries[0].var = tk.StringVar()
    entries[0]['textvariable'] = entries[0].var
    return entries


def create_checkbutton(master, entries):
    checkbutton = tk.Checkbutton(master, text="Copy?")
    checkbutton.var = tk.BooleanVar(value=False)
    checkbutton.config(variable=checkbutton.var, onvalue=True, offvalue=False)
    checkbutton['command'] = lambda cw=entries[0], pw=entries[1], \
                                    cdw=checkbutton: on_selection(cw, pw, cdw)
    checkbutton.pack()
    return checkbutton


def main():
    root = tk.Tk()
    entries = create_entry_widgets(root)
    checkbutton = create_checkbutton(root, entries)   
    tk.mainloop()


if __name__ == '__main__':
    main()

【讨论】:

    猜你喜欢
    • 2020-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-30
    • 1970-01-01
    • 1970-01-01
    • 2021-12-11
    相关资源
    最近更新 更多