Как закруглить края кнопки tkinter на python?

Пользователь

от francisco.friesen , в категории: Python , 5 месяцев назад

Как закруглить края кнопки tkinter на python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от elissa , 5 месяцев назад

@francisco.friesen 

Для закругления краев кнопки в tkinter, вы можете использовать параметр border-radius с использованием стиля ttk. Вот пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
from tkinter import Tk, Button
from tkinter.ttk import Style

root = Tk()
style = Style()
style.configure('TButton', borderwidth=0)
style.configure('TButton', relief="flat")

# Установите примерное значение радиуса, которое вы хотите использовать
radius = 10

rounded_button = Button(root, text="Закругленная кнопка", style='TButton')
rounded_button.pack()

# Применить закругление к кнопке
style.create('Rounded.TButton', style='TButton', borderwidth=radius)
style.layout('Rounded.TButton', [('Button.focus', {'children': [('Button.border', {'border': '0', 'sticky': 'nswe', 'children': [('Button.padding', {'pad': '4m', 'sticky': 'nswe', 'children': [('Button.label', {'side': 'top', 'sticky': ''})]})]})]})])

rounded_button.configure(style='Rounded.TButton')

root.mainloop()


В этом примере мы создаем стиль Rounded.TButton с помощью параметра borderwidth, задающего радиус закругления. Затем мы применяем созданный стиль к кнопке rounded_button. Вы можете изменить radius на значение, которое вам нужно для достижения желаемого вида кнопки.