Памагити чайнику

ЗИЛ

Новичок
Пользователь
Янв 3, 2022
43
1
8
Как тест с кнопки вывести в Label(Entry)?
tbl = Entry(scr, justify=RIGHT, width=20)
btn = Button(scr, text = "blablabla", font = ('Arial', 18), fg = 'Maroon', command = lambda: add_btn_txt())
def add_btn_txt():
txt = btn.cget('text') -- ??
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Код вставляйте как код, а не как текст.
Как тест с кнопки вывести в Label(Entry)?
Если вопрос про tkinter, то так можно:
Python:
import tkinter as tk


root = tk.Tk()


def add_btn_txt():
    lbl.config(text=btn['text'])


lbl = tk.Label(text='text')
btn = tk.Button(root, text="blablabla",
                font=('Arial', 18), fg='Maroon', command=add_btn_txt)

lbl.pack()
btn.pack()
root.mainloop()
 

ЗИЛ

Новичок
Пользователь
Янв 3, 2022
43
1
8
Спасибочки, пошол применять.
 

ЗИЛ

Новичок
Пользователь
Янв 3, 2022
43
1
8
Сходил применил -- пичалько.
Python:
from tkinter import*

def add_btn_txt(txt):
    tabl.delete(0, END)
    tabl.config(text = btn['txt'])

scr = Tk()
scr.title("ПитонПрограммер")

tabl = Entry(scr, width = 15)
tabl.insert(0, '0')
btn1 = Button(scr, text = txt, font = ('Arial', 18), fg = 'Maroon', command =  lambda: add_btn_txt(txt))
btn1('Жми!').grid(row = 1, column = 3, stick = 's')
btn2 = Button(scr, text = txt, font = ('Arial', 18), fg = 'Maroon', command =  lambda: add_btn_txt(txt))
btn2("Нажимай!").grid(row = 1, column = 4, stick = 's')
btn3 = Button(scr, text = txt, font = ('Arial', 18), fg = 'Maroon', command =  lambda: add_btn_txt(txt))
btn3("Press!").grid(row = 1, column = 2, stick = 's')


tabl.grid(row = 0, column = 0, columnspan = 5, stick = 'we')

scr.mainloop()

Ругается что не определено 'txt' в лямбде.
 
Последнее редактирование:

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Ругается что не определено 'txt' в лямбде.
У вас в коде txt нигде не определено. Ругается на txt не в лямбде, а в text=txt.
Вот исправленный вариант:
Python:
from tkinter import *


def add_btn_txt(txt):
    tabl.delete(0, END)
    tabl.insert(0, txt)


scr = Tk()
scr.title("ПитонПрограммер")

tabl = Entry(scr, width=15)
tabl.insert(0, "0")
btn1 = Button(scr, text='Жми!', font=("Arial", 18), fg="Maroon", command=lambda: add_btn_txt(btn1['text']))
btn1.grid(row=1, column=3, stick="s")
btn2 = Button(scr, text="Нажимай!", font=("Arial", 18), fg="Maroon", command=lambda: add_btn_txt(btn2['text']))
btn2.grid(row=1, column=4, stick="s")
btn3 = Button(scr, text="Press!", font=("Arial", 18), fg="Maroon", command=lambda: add_btn_txt(btn3['text']))
btn3.grid(row=1, column=2, stick="s")
tabl.grid(row=0, column=0, columnspan=5, stick="we")

scr.mainloop()
 

ЗИЛ

Новичок
Пользователь
Янв 3, 2022
43
1
8
Спасибо ещё раз, пардон за назойливость.
Пойду клавой клямкать.
Ещё пардон, я правильно понял что в строчке:
btn1 = Button(scr, text='Жми!', font=("Arial", 18), fg="Maroon", command=lambda: add_btn_txt(btn1['text']))
и в строчке:
def add_btn_txt(txt) -- происходит txt = btn['text'] - присваиваем?
 
Последнее редактирование:

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Ещё пардон, я правильно понял что в строчке:
btn1 = Button(scr, text='Жми!', font=("Arial", 18), fg="Maroon", command=lambda: add_btn_txt(btn1['text']))
и в строчке:
def add_btn_txt(txt) -- происходит txt = btn['text'] - присваиваем?
Да. Текст кнопки передается в функцию как аргумент.
 

ЗИЛ

Новичок
Пользователь
Янв 3, 2022
43
1
8
Отл. В первый раз мне удалось с вашей помощью добраться до сути.
Теперь понимание пришло.
Рад, спасибо.
 

Форум IT Специалистов