@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
на значение, которое вам нужно для достижения желаемого вида кнопки.
@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', что создает визуальный эффект закругленных краев. Вы можете настроить параметры по своему усмотрению, чтобы достичь желаемого эффекта закругленных краев кнопки.