tkinter文本框未显示变量

时间:2015-11-12 12:48:04

标签: python tkinter beautifulsoup

我有以下(提取)代码:

web = bs4.BeautifulSoup(r.text,"html.parser")
b_price=web.find('div',{'class':'variation'}).p.contents[2]
a=tkinter.StringVar()
a.set(b_price)
print("B"+b_price)
#print (a.get())
p1.delete(0.0,tkinter.END)
p1.insert(0.0, a.get())

和gui是:

root=tkinter.Tk()
tkinter.Label(root,text="test").grid(row=0)
tkinter.Label(root, text="What?").grid(row=1)
e1=tkinter.Entry(root)
e1.grid(row=1,column=1)
tkinter.Button(root, text="quit",command=root.quit).grid(row=3,column=0)
tkinter.Button(root,text='show prices',command=show_prices).grid(row=3,column=1)
tkinter.Button(root,text='show webpages',command=show_webpages).grid(row=3,column=2)
tkinter.Label(root,text="Price a").grid(row=4, column=0)
tkinter.Label(root,text="Price b").grid(row=5, column=0)
p1=tkinter.Text(root,height=1,width=20)
p1.grid(row=4,column=1)
p1.insert(0.0, "a")
p2=tkinter.Text(root,height=1,width=20)
p2.grid(row=5,column=1)
p2.insert(0.0, "b")
root.mainloop()

问题是我无法将变量显示在Textbox" p1"中。该代码确实删除了文本框p1中的默认文本。我可以打印" a"的内容在带有print(a.get())的shell中,我可以在shell中打印b_price的内容,当我将p1.insert(0.0,a.get())更改为p1.insert(0.0," a")它显示" a"在文本框中。我只是无法在文本框中显示b_price或a。 有没有人知道我错过了什么?

1 个答案:

答案 0 :(得分:0)

我发现了问题。 " web.find"的结果以换行符开始。在使文本框成两行后,它会在第二行显示结果。