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()