第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

KivyMD 將 Widget 添加到單個(gè) MDBottomNavigation 項(xiàng)目/屏幕

KivyMD 將 Widget 添加到單個(gè) MDBottomNavigation 項(xiàng)目/屏幕

藍(lán)山帝景 2023-04-18 14:35:24
我最近發(fā)布了關(guān)于向屏幕添加進(jìn)度條小部件的信息,但由于我的 MDBottomNavigation 包含在一個(gè)屏幕中,每次我切換到底部導(dǎo)航中的不同項(xiàng)目時(shí),進(jìn)度條都會保持存在。所以,我想要做的是將進(jìn)度條添加到MDBottomNavigation 項(xiàng)目中的一個(gè)而不是其他 2 個(gè)。這是我的代碼:.py文件class WindowManager(ScreenManager):    pass class HomeScreen(Screen):   passclass MyWorkouts(Screen):    passclass RecommendedWorkouts(Screen):    passclass AddWorkouts(Screen):    passclass CreateNewWorkout(Screen):    passclass AddNewGoal(Screen):    passclass Goals(Screen):    passclass Workout(MDApp):    dialog = None    PB = ObjectProperty(None)def build(self):    return def AddNewGoal_Dialog(self):    if not self.dialog:        self.dialog = MDDialog(            size_hint_x = 0.8,            size_hint_y = 1,            pos_hint = {'center_x': .5, 'center_y': .5},            radius = [10, 10, 10, 10],            title = 'Add New Goal',            auto_dismiss = False,            type = 'custom',            content_cls = AddNewGoal(),            buttons = [                MDFlatButton(                    text = 'CANCEL', text_color = self.theme_cls.primary_color,                     on_release = self.closeDialog),                MDRaisedButton(                    text = 'CREATE', text_color = self.theme_cls.primary_color,                    on_release = self.addNewGoal)                                    ],        )    self.dialog.open()def addNewGoal(self, inst):    progressbar = ProgressBar(    value = 50,    max = 100    )    self.root.ids.GoalsBN.add_widget(progressbar)    self.dialog.dismiss()是需要進(jìn)行編輯的地方。我知道這條線不對,我只是不確定如何調(diào)用我給定 id: 'GoalsBN'的 MDBottomNavigationItem 。幫助將不勝感激!
查看完整描述

1 回答

?
慕森卡

TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超8個(gè)贊

問題

  1. 在 kv 文件中,id: 'GoalsBN'被定義為一個(gè)字符串。

  2. id: 'GoalsBN'在 HomeScreen 中定義但未在 ScreenManager, WindowManager:中定義。

解決方案

  1. 在 kv 文件中,id:不是字符串。因此,將id: 'GoalsBN'替換為id: GoalsBN

  2. 在 kv 文件中,添加id: homeScreen并在 Python 腳本中,將ids.homeScreen添加到self.root.ids.GoalsBN.add_widget(progressbar)

片段

kv文件

WindowManager:
    transition: FadeTransition(duration = 1)
    HomeScreen:   
         id: homeScreen

    MyWorkouts:
    ...
        MDBottomNavigationItem:
            text: 'Goals'
            id: GoalsBN
            ...

main.py

    def addNewGoal(self, inst):
        progressbar = ProgressBar(
            value=50,    
                    max=100
        )

        self.root.ids.homeScreen.ids.GoalsBN.add_widget(progressbar)
        self.dialog.dismiss()

輸出

http://img1.sycdn.imooc.com//643e3a7a0001723a13670770.jpg

查看完整回答
反對 回復(fù) 2023-04-18
  • 1 回答
  • 0 關(guān)注
  • 125 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號