我想在用户按下tkinter gui app中的按钮时显示一条消息,程序运行正常(它有一个用户输入的条目类型,使用urllib2搜索歌词并在条目中显示文本),但按下按钮后,程序会一直闪烁,直到urllib发出请求,我无法显示消息
这是监听事件的按钮
self.button = Button(text="search",padx=4, pady=4, command=self.get_lyric)
self.button.pack()
监听该事件的方法
def get_lyric(self):
#LYRICS.COM
self.feedback.config(text="loading...")
site= str(self.get_googlesearch_link(self.input_text.get()))
#print site
page = urllib2.urlopen(site)
soup = BeautifulSoup(page)
main = soup.find(id="lyric_space")
# show lyrics
我尝试使用标签,但是在urllib响应之后出现了消息,我该怎么做才能解决这个问题?
答案 0 :(得分:0)
你将不得不解决不同的行为。 Python将一次只处理一个操作,除非您为辅助操作创建新线程。
尝试:
import thread
def button1():
self.button = Button(text="search",padx=4, pady=4, command=self.get_lyric)
self.button.pack()
def get_lyric(self):
#LYRICS.COM
self.feedback.config(text="loading...")
site= str(self.get_googlesearch_link(self.input_text.get()))
#print site
page = urllib2.urlopen(site)
soup = BeautifulSoup(page)
main = soup.find(id="lyric_space")
thread.start_new_thread(button1, ())
thread.start_new_thread(get_lyrics, ())