Форум сайта python.su
Смотрите, я хочу сделать код, который берёт данные с параметра Label (ввод текста в переменную) и выводит их совмещенно. Если бы я писал в print, то код можно писать так
print(“Привет, ” + name + “ ” + surname “!”) и результат выводился правильно в консоле
, но если их выводить через Label, то выводится то, что в скобочках, а остальное не берёт. Мне нужно , чтобы Label и его параметр text брал всю команду. Ошибка консоли на втором скрине.
Офлайн
Для того что бы получить данные из формы используй name.get(),age.get() и тд. Иначе ты пытаешься добавить в строку свой виджет, из-за этого и ошибка.
Офлайн
vieggТак если я его получу, то всё равно в параметре Label , при text не получится, тк графа text=“” берёт только то, что в скобочках, а мне нужно ещё с переменными выводить текст.
Для того что бы получить данные из формы используй name.get(),age.get() и тд. Иначе ты пытаешься добавить в строку свой виджет, из-за этого и ошибка.
Офлайн
EvolJiПопробуй и у тебя все получится
Офлайн
root = Tk() def go(): label.configure(text=('name: '+name.get())) name = Entry() name.grid(column=0,row=0) btn = Button(text='go', command = go) btn.grid(column=0,row = 1) label = Label() label.grid(column=0,row=2) root.mainloop()
Офлайн
vieggПолучилось, но теперь вопрос: мне нужно разместить результат по координатам, как его вписать? Я пробовал name.configure(x;y), но оно выдавало ошибку. Я не знаю, какую переменную брать и задавать ей положение.
def ok_button(): name.configure(text=("Привет, " + name.get() + " " + surname.get() + "!" + " Ваш возраст: " + age.get() + " год(-а)"))
Офлайн
EvolJi
Получилось, но теперь вопрос: мне нужно разместить результат по координатам, как его вписать? Я пробовал name.configure(x;y), но оно выдавало ошибку. Я не знаю, какую переменную брать и задавать ей положение.
Офлайн
vieggСтоп, тот Label был простым текстом, который указывал = какой параметр я вписываю, оно просто стоит слева около поля ввода, чтобы различать. Мне же нужно, чтобы выводился новый лабел, который будет на других координатах и выводил результат.
Офлайн
EvolJi
Стоп, тот Label был простым текстом, который указывал = какой параметр я вписываю, оно просто стоит слева около поля ввода, чтобы различать. Мне же нужно, чтобы выводился новый лабел, который будет на других координатах и выводил результат.
def ok_button(): res1 = Label(Window, text = ('Привет, '+name.get()+' '+surname.get()+'!'+'Ваш возраст: '+age.get())).place(x=150,y=200)
EvolJi
Я пробовал name.configure(x;y), но оно выдавало ошибку. Я не знаю, какую переменную брать и задавать ей положение.
Офлайн
vieggЯ наверное додопицца с трёхлетним стажем жизни, но я не пойму. res1 я давно убрал, у меня сейчас код выглядит так
def ok_button(): result = name.configure(text=("Привет, " + name.get() + " " + surname.get() + "!" + " Ваш возраст: " + age.get() + " год(-а)")) resulttext = Label(Window, text=result) resulttext.place(x=150, y=150)
Офлайн