Display a label while pressing the button in my GUI

Peter Otten __peter__ at web.de
Mon Jan 30 09:49:22 EST 2017


Meeran Rizvi wrote:

> On Monday, January 30, 2017 at 12:02:40 PM UTC+5:30, Meeran Rizvi wrote:
>> Hello Guys,
>> Here i am creating a GUI which will act as a search engine that will find
>> the results from the browser and save the results as a xls file. When i
>> typed something in my search box and click the (GO)button.It should
>> display search in progress.when the file is saved it should display done.
>> How to do that? My button gets hung for a seconds.We should give any
>> timeout for that?
>> 
>> Here is my script
>> <python>
>> from Tkinter import *
>> import mechanize
>> def clear_search(event):
>>     search.delete(0,END)
>> obj = Tk()
>> Label = Label(obj,text="Top Findings:",font="-weight bold")
>> search = Entry(obj,width=100)
>> search.insert(0, "Enter the value to search")
>> search.bind("<Button-1>", clear_search)
>> def fun():
>>     new = search.get()
>>     url = "http://duckduckgo.com/html"
>>     br = mechanize.Browser()
>>     br.set_handle_robots(False)
>>     br.open(url)
>>     br.select_form(name="x")
>>     br["q"] = str(new)
>>     res = br.submit()
>>     content = res.read()
>>     with open("result1.xls", "w") as f:
>>         f.write(content)
>> fun()
>> Go = Button(obj,text="GO",width=5,command=fun)
>> Label.pack()
>> search.pack()
>> Go.pack()
>> mainloop()
>> </python>
> 
> It is possible to display the output in my GUI itself?

Instead of the strings "searching", "writing result", and "done" you could 
put search results into the queue and display them in a Text widget. To 
signal when you're done you can use an out-of-band value, typically None.

See also <http://effbot.org/zone/tkinter-threads.htm>.





More information about the Python-list mailing list