Как создать кнопку, при нажатии на которую появятся две другие?
Создаётся приложение на python с использованием kivy.
Как добавить кнопку, при нажатии на которую, появится список из двух других кнопок?
Приложение содержит ScreenManager с четырьмя экранами. Кнопка должна находится на одном из них. Её название в .kv файле 'Количество каналов' Вот файл main.py
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.dropdown import DropDown
from kivy.base import runTouchApp
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.floatlayout import FloatLayout
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen
from bluetuz import GetData, SendData
class EegScreen(Screen):
pass
choose_channels = DropDown()
class SettingsScreen(Screen):
pass
class ExchangeScreen(Screen):
pass
#FloatLayout
class ConnectionsScreen(Screen):
pass
class MyApp(App):
pass
if __name__ == '__main__':
MyApp().run()
Файл .kv:
BoxLayout:
orientation: 'vertical'
ScreenManager:
id: screen_manager
EegScreen:
id: eeg_screen
name:'EegScreen'
SettingsScreen:
id: settings_screen
name:'SettingsScreen'
ExchangeScreen:
id: exchange_screen
name:'ExchangeScreen'
ConnectionsScreen:
id: connections_screen
name:'ConnectionsScreen'
BoxLayout:
orientation: 'horizontal'
padding: '40dp'
spacing: '40dp'
Button:
text: 'Подключения'
font_size: 15
size_hint:0.15, 0.18
on_release: screen_manager.current = 'ConnectionsScreen'
Button:
text: 'Команды'
font_size: 15
size_hint:0.15, 0.18
on_release: screen_manager.current = 'ExchangeScreen'
Button:
text: 'ЭЭГ сигналы'
font_size: 15
size_hint:0.15, 0.18
on_release: screen_manager.current = 'EegScreen'
Button:
text: 'Настройки'
font_size: 15
size_hint:0.15, 0.18
on_release: screen_manager.current = 'SettingsScreen'
<EegScreen>:
FloatLayout:
Label:
text: 'EEG Signals'
pos_hint:{'center_x':0.5,'center_y':0.9}
<SettingsScreen>:
FloatLayout:
Label:
text: 'Настройки'
pos_hint:{'center_x':0.5,'center_y':0.9}
Button:
size_hint:0.2, 0.18
pos_hint:{'center_x':0.5,'y':0.2}
text: 'Количество каналов'
<ExchangeScreen>:
FloatLayout:
Label:
text: 'Exchange'
pos_hint:{'center_x':0.5,'center_y':0.9}
<ConnectionsScreen>:
FloatLayout:
Label:
text: 'Connections'
pos_hint:{'center_x':0.5,'center_y':0.9}
Button:
size_hint:0.18, 0.18
pos_hint:{'center_x':0.5,'y':0.2}
text: 'поиск усилителя'
on_release:
self.text = 'вылазит список'
Button:
size_hint:0.18, 0.18
pos_hint:{'center_x':0.5,'y':0.4}
text: 'поиск протеза'
on_release:
self.text = 'шото ищет'
Источник: Stack Overflow на русском