【问题标题】:How to return an alert for a specific input using Tkinter?如何使用 Tkinter 返回特定输入的警报?
【发布时间】:2020-12-03 16:20:15
【问题描述】:

我使用 Tkinter 创建了一个模拟搜索引擎。我希望用户在搜索引擎中输入单词“test”并点击提交。这应该返回一个警报。如果用户插入“test”以外的任何内容,那么我希望搜索引擎不返回任何内容。我已经为模拟搜索引擎创建了界面,但是接受用户输入的部分不起作用。下面是我的代码:

import tkinter as tk
root = tk.Tk()
canvas1=tk.Canvas(root,width=400,height=300,relief='raised')
canvas1.pack()
label1 = tk.Label(root,text='LookUp')
label1.config(fg='blue',font=('times',30,'bold'))
canvas1.create_window(200,100,window=label1)
entry1 = tk.Entry (root)
canvas1.create_window(200,140,window=entry1)

def values():
     userinput = tk.StringVar(entry1.get())
     if userinput == 'test':
             Output = ('Alert Executed')
             label_Output = tk.Label(root,text=Alert,bg='red')
             canvas1.create_window(270,200,window=label_Output)                     

     else:
             Output = ('')
             label_Output = tk.Label(root,text= Alert)
             canvas1.create_window(270,200,window=label_Output)

button1=tk.Button(root,text='Search',command=values,bg='green',fg='white')
canvas1.create_window(200,180,window=button1)

root.mainloop()

【问题讨论】:

    标签: tkinter python-3.7 tkinter-canvas tkinter-entry tkinter-layout


    【解决方案1】:

    userinput变量需要引用entry1.get()

    label_Output 需要将您的Output 变量作为其text

    import tkinter as tk
    root = tk.Tk()
    canvas1=tk.Canvas(root,width=400,height=300,relief='raised')
    canvas1.pack()
    label1 = tk.Label(root,text='LookUp')
    label1.config(fg='blue',font=('times',30,'bold'))
    canvas1.create_window(200,100,window=label1)
    entry1 = tk.Entry (root)
    canvas1.create_window(200,140,window=entry1)
    
    def values():
         userinput = entry1.get()
         if userinput == 'test':
                 Output = ('Alert Executed')
                 label_Output = tk.Label(root,text=Output,bg='red')
                 canvas1.create_window(270,200,window=label_Output)                     
    
         else:
                 Output = ('')
                 label_Output = tk.Label(root,text= Output)
                 canvas1.create_window(270,200,window=label_Output)
    
    button1=tk.Button(root,text='Search',command=values,bg='green',fg='white')
    canvas1.create_window(200,180,window=button1)
    
    root.mainloop()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-30
      • 1970-01-01
      • 1970-01-01
      • 2017-01-02
      • 2023-03-31
      • 2018-12-14
      相关资源
      最近更新 更多