Как получить текст из виджета ввода tkinter?

-4

Я пробовал все, и я очень измучен. Проблема в том, что возникает ошибка "Невозможно преобразовать объект" 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()

спросил(а) 2015-10-04T01:35:00+03:00 5 лет назад
0
58

Используйте метод .get чтобы получить текст из виджета Entry:

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

ответил(а) 2015-10-04T01:47:00+03:00 5 лет назад
42

В коде есть несколько ошибок. Во-первых, вам не нужны эти точки с запятой. Во-вторых, вам не нужен 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 *, а не каждый раз, когда вызывается эта функция.

ответил(а) 2015-10-04T01:47:00+03:00 5 лет назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема