2015-03-11 2 views
0

Я изучал программирование ui с помощью Tkinter, и я получил довольно далеко. Я могу настроить/изменить текст, fg и bg свойства метки, но я не знаю, как получить свойство bgLabel.Получение значения свойства bg метки в Tkinter

Есть ли способ сохранить значение bg знака Tkinter в переменной, чтобы сравнить его с другими значениями?

+0

Спасибо, я ценю это. У меня нет доступа к моему компьютеру прямо сейчас, но я попробую, когда я это сделаю. – jumbi533

+0

Я превратил свой комментарий в полноценный ответ. И случайно удалил мой комментарий. – MikeVaughan

ответ

2

Вы можете использовать cget():

label.cget('background')

или вы можете обработать ваш ярлык как словарь:

label['background']

Пример:

from Tkinter import * 

main = Tk() 
l = Label(main, text = "Label", background = "lime") 
l.pack() 

if l["background"] == 'lime': 
    print "Lime!" 
if l.cget("background") == 'lime': 
    print "Still Lime!" 

main.mainloop() 

Консольный вывод:

Lime! 
Still Lime! 
+1

D'oh, я забыл, что виджеты поддерживают прямую индексацию. Хорошо, вы выиграли :-) – Kevin

+0

Да, 'cget()' приятно, но я думаю, что прямая индексация более «pythonic». – MikeVaughan

2

Вы можете использовать метод cget, чтобы получить значение атрибутов виджета. Пример:

if my_widget.cget("background") == "red": 
    print "The widget is red" 
+0

Спасибо! Это поможет. Было 2 ответа, и я бы проверил их обоих, но я могу проверить все 1. Помогите бот-анверам. – jumbi533

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