Страницы

Поиск по вопросам

среда, 4 марта 2020 г.

Общие параметры

#python #button #tkinter


Можно ли задать параметры для всех Button/text/Label одной функцие, чтобы не писать
к каждой кнопке одинаковые параметры? К примеру, я создал много однотипных кнопок для
ввода данных калькулятора:

bttn1_1 = Button(root, text='MC', font='Arial 15', width=3, height=1, bd=4,
                 background='SkyBlue2', activebackground='green yellow')

    


Ответы

Ответ 1



Примерно так можно: buttons = {} for button_text in map(str, range(10)): button = Button(root, text=button_text, font='Arial 15', width=3, height=1, bd=4, background='SkyBlue2', activebackground='green yellow') buttons[button_text] = button Кнопка с текстом 1: buttons['1'] Еще можно создать функцию которая обрезает/исправляет параметры: def create_button(text): return Button(root, text=text, font='Arial 15', width=3, height=1, bd=4, background='SkyBlue2', activebackground='green yellow')

Ответ 2



Можно опции для кнопок, созданных в разных местах кода, менять, изменив соответствующий стиль: #!/usr/bin/env python3 import tkinter.ttk root = tkinter.Tk() style = tkinter.ttk.Style() for color in ['red', 'green']: tkinter.ttk.Button( text=color, command=lambda c=color: style.configure('TButton', background=c)).pack() root.mainloop() Нажимая на любую из кнопок, изменяется цвет у всех кнопок со стилем 'TButton' в данном случае. Сгруппировать кнопки по своим стилям, можно используя style параметр: Button(style='C.TButton').

Комментариев нет:

Отправить комментарий