如何从tkinter Entry小部件中获取文本?

时间:2015-10-03 22:35:14

标签: python tkinter tkinter-entry

我一直在尝试一切,而且我已经筋疲力尽了。问题是出现错误"无法转换' Entry'反对str含义"我没有找到任何方法使它工作。

以下是代码:

from tkinter import *

def wcommand():
     import webbrowser
     new=2;
     url='https://'+w
     webbrowser.open(url,new=new);

root = Tk()


Label (root, text="Nettadresse:").grid(row=0)
w = Entry(root)
w.grid(row=0, column=1,)

b1 = Button(root, text='Kjør!', command=wcommand).grid()

root.mainloop()

2 个答案:

答案 0 :(得分:1)

使用.get方法从Entry窗口小部件获取文本:

url='https://{}'.format(w.get())

答案 1 :(得分:0)

您的代码有几个问题。首先,你不需要那些分号。其次,你不想在那里url='https://'+w,你想要url='https://'+w.get().get()将检索该Entry小部件的字符串内容。第三,而不是:

Label (root, text="Nettadresse:").grid(row=0)

你应该这样做:

mylabel = Label(root, text="Nettadresse:")
mylabel.grid(row=0)

这将确保您以后可以引用此Label对象,以防您想要重新配置它或移动它。第四,您应该import webbrowser作为代码的第二行,就在from tkinter import *之下,而不是每次调用该函数。