Я использую Kivy 2.0.1, и я создал topAppBar со значком «меню», это открывает NavigationDrawer с разными кнопками, которые при нажатии могут меняться на разные окна в зависимости от кнопки. Проблема в том, что я меняю окно а затем я возвращаюсь к первому окну, окно, на которое я нажал первым, все еще выбрано, и это сбивает с толку, потому что кто-то думает, что кнопка выбрана именно в окне, и это неверно.
введите изображение описание здесь
Например, на изображении видно, что выбран «Вторичный лист», но на самом деле я нахожусь на «главной странице», только он остается выбранным, хотя окна измененный. Это мой файл kv:
:
MDScreen:
MDNavigationLayout:
MDScreenManager:
MDScreen:
name: "main_screen"
# Barra superior en la parte superior
MDTopAppBar:
id: top_app_bar
type: "small"
pos_hint: {"top": 1}
MDTopAppBarLeadingButtonContainer:
MDActionTopAppBarButton:
icon: "menu"
on_release: nav_drawer.set_state("toggle")
MDTopAppBarTitle:
text: "Página Principal"
MDNavigationDrawer:
id: nav_drawer
drawer_type: "modal"
MDNavigationDrawerMenu:
MDNavigationDrawerHeader:
orientation: "vertical"
MDLabel:
text: "Menu"
font_style: "Title"
role: "medium"
adaptive_height: True
MDNavigationDrawerDivider:
MDNavigationDrawerItem:
on_release: app.root.current = 'hoja1'
MDNavigationDrawerItemLeadingIcon:
icon: "home"
MDNavigationDrawerItemText:
text: "Página principal"
MDNavigationDrawerItem:
on_release: app.root.current = 'hoja2'
MDNavigationDrawerItemText:
text: "Hoja secundaria"
MDNavigationDrawerItem:
on_release: app.root.current = 'hoja3'
MDNavigationDrawerItemText:
text: "Hoja secundaria 2"
это мой файл main.py
from kivy.core.window import Window
from kivy.lang import Builder
from kivymd.app import MDApp
from kivymd.uix.screen import MDScreen
from kivymd.uix.screenmanager import MDScreenManager
from kivymd.uix.navigationdrawer import MDNavigationDrawer,MDNavigationLayout, MDNavigationDrawerItem, MDNavigationDrawerItemTrailingText
from kivymd.uix.appbar import MDActionTopAppBarButton, MDFabBottomAppBarButton, MDTopAppBar
Window.size =(400,700)
Builder.load_file('kvs/hoja1.kv')
Builder.load_file('kvs/hoja2.kv')
Builder.load_file('kvs/hoja3.kv')
class WindowManager(MDScreenManager):
pass
class MainScreen(MDScreen):
pass
class SecondaryScreen(MDScreen):
pass
class MainApp(MDApp):
def __init__(self, **kwargs) :
super().__init__(**kwargs)
def build(self):
self.wm = WindowManager()
screens = [
MainScreen(name = 'hoja1'),
SecondaryScreen(name = 'hoja2'),
SecondaryScreen2(name = 'hoja3'),
]
for screen in screens:
self.wm.add_widget(screen)
return self.wm
if __name__== "__main__":
MainApp().run()
Примечание: файлы kv «Hoja 2» и «Hoja 3» имеют ту же структуру, что и «Hoja 1».
I hope someone can help me so that it doesn't stay selected when I change and return from the pages.
Thank you.
Подробнее здесь: https://stackoverflow.com/questions/793 ... tiondrawer
Как отменить выбор нажатой кнопки в NavigationDrawer? ⇐ Python
Программы на Python
-
Anonymous
1734930384
Anonymous
Я использую Kivy 2.0.1, и я создал topAppBar со значком «меню», это открывает NavigationDrawer с разными кнопками, которые при нажатии могут меняться на разные окна в зависимости от кнопки. Проблема в том, что я меняю окно а затем я возвращаюсь к первому окну, окно, на которое я нажал первым, все еще выбрано, и это сбивает с толку, потому что кто-то думает, что кнопка выбрана именно в окне, и это неверно.
введите изображение описание здесь
Например, на изображении видно, что выбран «Вторичный лист», но на самом деле я нахожусь на «главной странице», только он остается выбранным, хотя окна измененный. Это мой файл kv:
:
MDScreen:
MDNavigationLayout:
MDScreenManager:
MDScreen:
name: "main_screen"
# Barra superior en la parte superior
MDTopAppBar:
id: top_app_bar
type: "small"
pos_hint: {"top": 1}
MDTopAppBarLeadingButtonContainer:
MDActionTopAppBarButton:
icon: "menu"
on_release: nav_drawer.set_state("toggle")
MDTopAppBarTitle:
text: "Página Principal"
MDNavigationDrawer:
id: nav_drawer
drawer_type: "modal"
MDNavigationDrawerMenu:
MDNavigationDrawerHeader:
orientation: "vertical"
MDLabel:
text: "Menu"
font_style: "Title"
role: "medium"
adaptive_height: True
MDNavigationDrawerDivider:
MDNavigationDrawerItem:
on_release: app.root.current = 'hoja1'
MDNavigationDrawerItemLeadingIcon:
icon: "home"
MDNavigationDrawerItemText:
text: "Página principal"
MDNavigationDrawerItem:
on_release: app.root.current = 'hoja2'
MDNavigationDrawerItemText:
text: "Hoja secundaria"
MDNavigationDrawerItem:
on_release: app.root.current = 'hoja3'
MDNavigationDrawerItemText:
text: "Hoja secundaria 2"
это мой файл main.py
from kivy.core.window import Window
from kivy.lang import Builder
from kivymd.app import MDApp
from kivymd.uix.screen import MDScreen
from kivymd.uix.screenmanager import MDScreenManager
from kivymd.uix.navigationdrawer import MDNavigationDrawer,MDNavigationLayout, MDNavigationDrawerItem, MDNavigationDrawerItemTrailingText
from kivymd.uix.appbar import MDActionTopAppBarButton, MDFabBottomAppBarButton, MDTopAppBar
Window.size =(400,700)
Builder.load_file('kvs/hoja1.kv')
Builder.load_file('kvs/hoja2.kv')
Builder.load_file('kvs/hoja3.kv')
class WindowManager(MDScreenManager):
pass
class MainScreen(MDScreen):
pass
class SecondaryScreen(MDScreen):
pass
class MainApp(MDApp):
def __init__(self, **kwargs) :
super().__init__(**kwargs)
def build(self):
self.wm = WindowManager()
screens = [
MainScreen(name = 'hoja1'),
SecondaryScreen(name = 'hoja2'),
SecondaryScreen2(name = 'hoja3'),
]
for screen in screens:
self.wm.add_widget(screen)
return self.wm
if __name__== "__main__":
MainApp().run()
Примечание: файлы kv «Hoja 2» и «Hoja 3» имеют ту же структуру, что и «Hoja 1».
I hope someone can help me so that it doesn't stay selected when I change and return from the pages.
Thank you.
Подробнее здесь: [url]https://stackoverflow.com/questions/79302202/how-can-i-deselect-the-pressed-button-in-navigationdrawer[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия