2015-04-12 5 views
0

Я есть ярлык TkInterКурсив текст Tkinter этикетки на фокус

back_button = Label(self.about_frame, text = "Back", bg="black", fg="white", font=("Silkscreen", 18))

, и я хочу иметь изменение шрифта текста от регулярного к Italic, когда пользователь парит над этикеткой с их мышью. Как мне это реализовать? Благодаря!

+0

Обратите внимание, что hover! = Focus. Что вы пробовали, и с чем (если есть) успех? – jonrsharpe

+0

Если я связываю back_button с обработчиком событий, который выполняется на «», не будет ли пользователь, зависающий над ярлыком, быть эквивалентен холсту, сфокусированным на ярлыке? Я попытался возиться с back_button.config и создать шрифт за пределами экземпляра метки, но не повезло. – Danny

+0

'' левый клик, который не является ни курсором, ни фокусом. – jonrsharpe

ответ

4
import tkinter 
from functools import partial 

def font_config(widget, fontslant, event): 
    widget.configure(font=fontslant) 

parent = tkinter.Tk() 
text = tkinter.Label(parent, text="Hello Text") 
text.bind("<Enter>", partial(font_config, text, "Helvetica 9 italic")) 
text.bind("<Leave>", partial(font_config, text, "Helvetica 9")) 
text.pack() 

tkinter.mainloop() 

См: this и this для получения дополнительной информации.

+0

Я попытался запустить это, и у меня получилась следующая ошибка: self.tk.call (_flatten ((self._w, cmd)) + self._options (cnf)) _tkinter.TclError: ожидаемое целое число, но получившее «Полужирный», – Danny

+0

Ничего, я исправил его. Это было именно то, что мне нужно. Спасибо! – Danny

Смежные вопросы