kompas_window/app.py

61 lines
2.6 KiB
Python

from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.label import Label
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.gridlayout import GridLayout
from kivy.uix.scrollview import ScrollView
from kivy.core.window import Window
class MyApp(App):
def build(self):
# Устанавливаем размер окна (подходит для ПК)
Window.size = (800, 600)
# Главный контейнер (горизонтальный)
main_layout = BoxLayout(orientation='horizontal', spacing=10, padding=10)
# Левая панель (на одну треть экрана)
left_panel = BoxLayout(orientation='vertical', size_hint=(0.3, 1), spacing=10)
# Заголовок
header = Label(text="Моё приложение", size_hint=(1, 0.1), font_size=24, bold=True)
# Кнопки слева
button1 = Button(text="Кнопка 1", on_press=self.show_content)
button2 = Button(text="Кнопка 2", on_press=self.show_content)
button3 = Button(text="Кнопка 3", on_press=self.show_content)
# Добавляем заголовок и кнопки в левую панель
left_panel.add_widget(header)
left_panel.add_widget(button1)
left_panel.add_widget(button2)
left_panel.add_widget(button3)
# Правая панель (пространство для контента)
self.right_panel = BoxLayout(orientation='vertical', size_hint=(0.7, 1))
self.right_panel.add_widget(Label(text="Выберите действие", font_size=18))
# Добавляем левую и правую панели в главный контейнер
main_layout.add_widget(left_panel)
main_layout.add_widget(self.right_panel)
return main_layout
def show_content(self, instance):
# Очищаем правую панель
self.right_panel.clear_widgets()
# Добавляем контент в зависимости от нажатой кнопки
if instance.text == "Кнопка 1":
content = Label(text="Контент для Кнопки 1", font_size=18)
elif instance.text == "Кнопка 2":
content = Label(text="Контент для Кнопки 2", font_size=18)
elif instance.text == "Кнопка 3":
content = Label(text="Контент для Кнопки 3", font_size=18)
self.right_panel.add_widget(content)
# Запуск приложения
if __name__ == '__main__':
MyApp().run()