python - 如何将不同的条目绑定到返回键
问题描述
我正在尝试做一些非常简单的事情,假设我有 2 个条目,名字:第二个名字:
当我按回车键时,它会执行这两个功能。我试图让它在我只在其中一个条目中按 enter 的地方,它只会执行那个条目。我怎样才能做到这一点?这是代码
root = tk.Tk()
firstLabel = tk.Label(root, text="First Name:")
firstEntry = tk.Entry(root)
secondLabel = tk.Label(root, text="Last Name: ")
secondEntry = tk.Entry(root)
def save(event=None):
print("HELLO")
first_value = firstEntry.get()
print(first_value)
def save2(event=None):
print("HELLO2")
second_value = secondEntry.get()
print(second_value)
root.bind('<Return>', save, firstEntry)
root.bind('<Return>', save2, secondEntry)
root.mainloop()
现在,当我按回车键时,它会打印两个 HELLO,我该如何设置它,以便它只执行那个的 def。
解决方案
这是解决方案:
import tkinter as tk
root = tk.Tk()
firstLabel = tk.Label(root, text="First Name:")
firstEntry = tk.Entry(root)
secondLabel = tk.Label(root, text="Last Name: ")
secondEntry = tk.Entry(root)
firstLabel.grid(row=1, column=1)
firstEntry.grid(row=1, column=2)
secondLabel.grid(row=2, column=1)
secondEntry.grid(row=2, column=2)
def save(event=None):
print("HELLO")
first_value = firstEntry.get()
print(first_value)
def save2(event=None):
print("HELLO2")
second_value = secondEntry.get()
print(second_value)
firstEntry.bind('<Return>', save)
secondEntry.bind('<Return>', save2)
root.mainloop()
您必须绑定到每个条目而不是根目录(如@Programmer 所说)。
推荐阅读
- r - 如何根据 R 中的多个变量检查列
- r - 如何使图表标题跨越多行并在情节中左对齐?
- c - 上下文切换场景中clock_gettime()的准确性
- html5-canvas - 将 jsPDF 创建的 PDF 文件保存到 FTP 上
- node.js - 当我使用猫鼬的 populate() 时,集合中的所需字段未显示
- reactjs - 如何在原始反应阴影文本中居中文本而不丢失与文本阴影的绑定
- sql - 有没有办法将最后一列名称旋转为最后一行?
- python - 将多列组合成单列,列名作为值
- shopify - Polaris 嵌入式应用程序中的链接是否应该不更改 url 路径?
- regex - 正则表达式匹配所有包含某个属性值的 xml 标签