如何在tkinter python中显示反馈消息

时间:2013-09-24 14:39:09

标签: python tkinter label urllib2 feedback

我想在用户按下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响应之后出现了消息,我该怎么做才能解决这个问题?

1 个答案:

答案 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, ())