我有一个在单击按钮后出现的标签,但是每次单击按钮后,前一个标签仍保留在其位置并创建一个新标签,我希望将新标签代替旧标签,代码如下:
browser = webdriver.PhantomJS()
browser.get('http://www.ipvoid.com/ip-blacklist-check/')
def helloCallBack():
ip = entry.get()
elem = browser.find_element_by_name('ip') # Find the search box
elem.send_keys(ip + Keys.RETURN)
for elem in itertools.chain(browser.find_elements_by_xpath('.//span[@class = "label label-success"]'), browser.find_elements_by_xpath('.//span[@class = "label label-danger"]')):
print elem.text
label2 = tk.Label(root1, text="IPVoid: " + elem.text)
label2.pack(side=tk.BOTTOM)
root1 = tk.Tk()
root1.geometry("500x500")
root1.title("CZEKER")
label = tk.Label(root1, text='Input IP Address:')
entry = tk.Entry(root1)
label.pack(side=tk.TOP)
entry.pack()
B = tk.Button(root1, text = "Analiza", command = helloCallBack)
B.pack()
label2 = tk.Label(root1, text="IPVoid: " + elem.text)
label2.pack(side=tk.BOTTOM)
root1.mainloop()
我想我不太确定这个循环是如何工作的,每当单击按钮 B 时,程序都会执行方法 helloCallBack(),其中填充 label2。但是,我无法在方法开头销毁标签,因为它尚未填充,但我也无法在之后销毁它,因为它会在它出现后立即销毁它,而不是在单击按钮 B 时销毁它第二次。我的问题如下:每次单击按钮 B 后,如何使新标签 2 出现在旧标签 2 的位置。谢谢。
您可以使用空文本创建标签,然后在每次点击时更改其内容,而不是每次点击都重新创建该标签。
def helloCallBack():
...
...
label2.configure(text="IPVoid: " + elem.text)
label2 = tk.Label(root1, text="")
#or just label2 = tk.Label(root1) used that one to make it explicit right now
label2.pack(side=tk.BOTTOM)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)