61 lines
2.6 KiB
Python
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() |