Найти - Пользователи
Полная версия: Теоретический вопрос по функциям кнопки Tkinter
Начало » Python для новичков » Теоретический вопрос по функциям кнопки Tkinter
1
Twist
Подскажите, можно ли как-нибудь сделать так, чтобы когда создали кнопку, дали ей имя и назначили функцию, чтобы при нажатии она передавала в функцию свое имя, очень надо, заранее спасибо
Twist
Если при нажатии будет выполняться функция, которая вычисляет ее имя, тоже пойдет, на кнопки биндить нельзя
py.user.next
Не пробовал пронаследоваться от класса кнопки и в классе наследнике добавить поле имя и метод для чтения этого имени? Будет та же кнопка, только у такой кнопки будет ещё имя сохранено и его можно будет получать через метод. Это такой общий шаблон, который подходит не только для добавления имён, но и для многого другого. Если же у кнопки можно получать текст, то лучше не плодить классы, а получить этот текст уже реализованными средствами. Это тоже такой общий шаблон.
PEHDOM
Twist
дали ей имя и назначили функцию
Twist
на кнопки биндить нельзя
вы не находите тут противоречия? что по вашему “назначили функцию”?
так чтоле?
 import tkinter as tk
def handler(event):
    print(event.widget.name)
root = tk.Tk()
b1 = tk.Button(root, text="Click me")
b1.name = 'кнопка 1'
b2 = tk.Button(root, text="No, click me!")
b2.name = 'кнопка 2'
b1.pack()
b2.pack()
root.bind('<Button-1>', handler)
root.mainloop()
ЗЫ: мимо кнопок не кликать, вылезет експшин.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB