有没有办法测试 tkinter 条目是否包含特定单词?

问题描述

我使用 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()