102 lines
3.5 KiB
Python
102 lines
3.5 KiB
Python
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()
|