问题描述
我使用 tkinter 进行输入并按输入框进行搜索,如果输入框包含特定单词(例如:单身汉),是否有我可以编写的代码来给我一条消息 谢谢
解决方法
from tkinter import *
from tkinter import messagebox
root = Tk()
def check_entry():
v = ent.get()
if v == "hello world":
print("hello world")
else:
messagebox.showerror("it is not hello world")
print("write hello world")
ent.delete(0,END)
ent = Entry(root)
button = Button(root,text="Click me",command=check_entry)
ent.pack()
button.pack()
root.mainloop()
,
@Sujay 告诉你使用这样的东西:
import tkinter as tk
from tkinter.messagebox import showinfo
def check_word_in_entry(*args):
user_input = entry.get()
# If you don't want casing to matter,change this to:
# if "hi" in user_input.lower():
if "hi" in user_input:
# print("The word \"hi\" is inside the entry.")
showinfo(message="The word \"hi\" is inside the entry.")
root = tk.Tk()
root.geometry("400x400")
variable = tk.StringVar(root)
variable.trace("w",check_word_in_entry)
entry = tk.Entry(root,textvar=variable)
entry.pack()
root.mainloop()
每次更改条目内的文本时,它都会调用 check_word_in_entry
。并检查 "hi"
是否在条目的文本内。
from tkinter import *
root = Tk()
ent = Entry(root)
ent.pack()
def task():
print("hello world" in ent.get())
root.after(1,task) # reschedule event in 2 seconds
root.after(1,task)
root.mainloop()