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

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

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

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

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

@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 на значение, которое вам нужно для достижения желаемого вида кнопки.

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

от jazmyne , 3 месяца назад

@francisco.friesen 

Вот ещё один способ закругления краев кнопки в tkinter:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from tkinter import Tk, Button

root = Tk()

# Функция для закругления краев кнопки
def round_corner_button(event=None):
    rounded_button.config(relief='sunken')

rounded_button = Button(root, text="Закругленная кнопка", command=round_corner_button, borderwidth=5, relief="raised")
rounded_button.pack()

root.mainloop()


В этом примере мы создаем кнопку с параметрами borderwidth и relief для установки ширины границы и типа рамки соответственно. При нажатии на кнопку, мы изменяем тип рамки кнопки на 'sunken', что создает визуальный эффект закругленных краев. Вы можете настроить параметры по своему усмотрению, чтобы достичь желаемого эффекта закругленных краев кнопки.