Files
custom-tkinter/src/CTkButton.py
T
2024-05-16 22:13:17 +07:00

102 lines
3.5 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import customtkinter as ctk
from PIL import Image
app = ctk.CTk()
app.geometry("800x600")
# Функция, вызываемая при нажатии на кнопку
def on_click():
print("Кнопка нажата")
# Стандартная кнопка
button_standard = ctk.CTkButton(app, text="Стандартная", command=on_click)
button_standard.pack(pady=(10, 0))
# Кнопка с измененными цветами
button_colored = ctk.CTkButton(
app,
text="Цветная",
fg_color="lightgreen",
hover_color="lightblue",
text_color="blue",
border_color="green",
border_width=2
)
button_colored.pack(pady=10)
# Кнопка с круглыми углами
button_rounded = ctk.CTkButton(app, text="Круглая", corner_radius=15)
button_rounded.pack(pady=10)
# Кнопка с изображением
button_with_image = ctk.CTkButton(
app,
text="С изображением",
image=ctk.CTkImage(
light_image=Image.open("data/image/image.png"),
dark_image=Image.open("data/image/image.png")
)
)
button_with_image.pack(pady=10)
# Кнопка с настройками шрифта
custom_font = ctk.CTkFont(family="Helvetica", size=12, weight="bold")
button_font = ctk.CTkButton(app, text="Шрифт", font=custom_font)
button_font.pack(pady=10)
# Не анимированная кнопка
button_animated = ctk.CTkButton(app, text="Не нимированная", hover=False, command=on_click)
button_animated.pack(pady=10)
# Кнопка в состоянии disabled
button_disabled = ctk.CTkButton(app, text="Неактивная", state=ctk.DISABLED)
button_disabled.pack(pady=10)
# Кнопка с изменением курсора
button_cursor = ctk.CTkButton(app, text="Курсор", cursor="hand2")
button_cursor.pack(pady=10)
# Кнопка с измененным размером текста
button_text_size = ctk.CTkButton(app, text="Размер текста", font=("Roboto Medium", -16))
button_text_size.pack(pady=10)
# Кнопка с изменением ширины и высоты
button_size = ctk.CTkButton(app, text="Ширина и высота", width=200, height=50)
button_size.pack(pady=10)
# Кнопка с состоянием 'disabled' и измененным цветом текста в этом состоянии
button_disabled_text_color = ctk.CTkButton(
app,
text="Неактивная с цветом текста",
state=ctk.DISABLED,
fg_color="gray",
text_color="red"
)
button_disabled_text_color.pack(pady=10)
# Кнопка с примером использования пользовательского курсора
button_custom_cursor = ctk.CTkButton(app, text="Пользовательский курсор", cursor="circle")
button_custom_cursor.pack(pady=10)
# Кнопка, демонстрирующая использование лямбда-функции в команде
button_lambda_command = ctk.CTkButton(
app,
text="Лямбда команда",
command=lambda: print("Лямбда команда активирована")
)
button_lambda_command.pack(pady=10)
# Демонстрация установки переменной состояния кнопки
button_toggle_state = ctk.CTkButton(
app,
text="Переключение состояния",
command=lambda: button_toggle_state.configure(
state=ctk.DISABLED if button_toggle_state.cget("state") == ctk.NORMAL else ctk.NORMAL
)
)
button_toggle_state.pack(pady=10)
app.mainloop()