вы ищете событий Tkinter в:
tk_widget.bind("<Button-1>",CALLBACK)
перезвонить должен принять аргумент события, который является словарь, содержащий информацию о том, что вызвало событие.
Это может привести к проблемам с виджетами, которые перекрываются, например, окна в холсте или ярлыки, иногда вызывая обратный вызов для окна позади него.
Для наведения мышей на виджет событие называется "<Enter>"
и перемещения мыши из виджета области называется "<Leave>"
для выделения текста эффекта, если вы просто хотите, чтобы захватить щелчок в любом месте окна, а затем на корневом вызове root.bind_all("<Button-1>",CALLBACK)
источник: http://infohost.nmt.edu/tcc/help/pubs/tkinter/web/index.html http://infohost.nmt.edu/tcc/help/pubs/tkinter/web/events.html
пример:
try:
import tkinter as tk
except ImportError:
import Tkinter as tk
def change_case(event=None):
new_text = str.swapcase(lab["text"])
lab.config(text=new_text)
def red_text(event=None):
lab.config(fg="red")
def black_text(event=None):
lab.config(fg="black")
root = tk.Tk()
lab = tk.Label(root,text="this is a test")
lab.bind("<Button-1>",change_case)
lab.bind("<Enter>",red_text)
lab.bind("<Leave>",black_text)
lab.grid()
root.mainloop()
надеюсь, что это помогает :)
это называется 'Button'. см. http://effbot.org/tkinterbook/button.htm – furas
Да, это возможно. Существует несколько способов сделать интерактивные текстовые кнопки, ярлыки, текст на холсте, текст в текстовом виджете. –
Обнаружение наведения также возможно, но требует обнаружения последовательных состояний для сравнения. –