gpt4 book ai didi

python tkinter 禁用文本小部件中的换行符

转载 作者:行者123 更新时间:2023-11-30 23:05:21 24 4
gpt4 key购买 nike

在下面的代码中,我正在寻找一种禁用文本小部件中的换行符的方法。我只想使用 Entry 小部件,但是,Entry 没有 UNDO 功能。

当我在文本小部件中按 Enter 时,会根据需要调用解析函数,但它也会转到下一行。

如有任何帮助,我们将不胜感激,谢谢。

#

from Tkinter import *

class Application(Frame):
def __init__(self):
self.master = Tk()
self.master.geometry("300x200")

Frame.__init__(self, self.master)
self.create_widgets()

def create_widgets(self):
self.master.bind('<Return>', self.parse)
self.grid()

w1 = Text(self, undo=True, height=1, width=26,wrap=NONE)
w1.grid(row=0, column=1, padx=5, pady=5, sticky=W)

self.submit = Button(self, text="Submit")
self.submit.bind('<Button-1>', self.parse)
self.submit.grid(row=0, column=2, sticky=E)

def parse(self, event):
print("You clicked?")

def start(self):
self.master.mainloop()


Application().start()

最佳答案

您可以在事件绑定(bind)末尾使用 return 'break' 来阻止 Tkinter 执行其默认操作:

def parse(self, event):
print("You clicked?")
return 'break'

您还需要将返回值专门绑定(bind)到条目:

w1 = Text(self, undo=True, height=1, width=26,wrap=NONE)
w1.grid(row=0, column=1, padx=5, pady=5, sticky=W)
w1.bind('<Return>', self.parse)

关于python tkinter 禁用文本小部件中的换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33177889/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com