亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

MDDropDownMenu KivyMD 的綁定按鈕

MDDropDownMenu KivyMD 的綁定按鈕

慕少森 2023-09-02 16:39:08
我在 KivyMD 的屏幕上有一個 MDTextField。所需的過程是在 TextField 的 on_focus 事件上打開 MDDropDownMenu。此外,一旦您選擇了 DropDownMenu 的某個元素,此類菜單將被關閉,并且所選文本將被添加到 MDTextField 中。我成功地編碼了該過程的第一部分。盡管如此,我似乎無法正確地綁定按鈕。我沒有收到錯誤消息,但似乎從未調用綁定函數。這是我的 Kivy 代碼:<TravelManagerWindow>:    MDTextField:        id: dest_dropdown_item        pos_hint: {"x":0, 'center_y': 0.5}        write_tab: False        size_hint: 1, None        icon_right: 'arrow-down-drop-circle-outline'        text:'Seleccionar'        on_focus: if self.focus: root.display_dropdown()這是我的Python代碼:class TravelManagerWindow(Screen):    def display_dropdown(self):        # Create the drop down menu        menu_items = [{"text": f"Item {i}"} for i in range(5)]        self.menu = MDDropdownMenu(            caller=self.ids.dest_dropdown_item,            items=menu_items,            width_mult=4,        )        self.menu.open()        self.menu.bind(on_release=self.set_item)    def set_item(self, instance_menu, instance_menu_item):        def set_item(interval):            self.ids.dest_dropdown_item.text = instance_menu_item.text            instance_menu.dismiss()        Clock.schedule_once(set_item, 0.5)我相信 set_item 函數甚至沒有被調用,但是,menu.open() 確實正確觸發。有什么建議么?預先非常感謝。
查看完整描述

3 回答

?
qq_遁去的一_1

TA貢獻1725條經驗 獲得超8個贊

同樣的問題,

我有 kivymd 0.104.1

我通過安裝 0.104.2dev 解決了

pip 安裝https://github.com/kivymd/KivyMD/archive/master.zip


查看完整回答
反對 回復 2023-09-02
?
呼喚遠方

TA貢獻1856條經驗 獲得超11個贊

從 master 分支安裝 kivymd。

pip install https://github.com/kivymd/KivyMD/archive/master.zip


查看完整回答
反對 回復 2023-09-02
?
守著一只汪

TA貢獻1872條經驗 獲得超4個贊

當我寫這篇文章時,從 k master 分支安裝 kivy 不僅沒有解決問題,反而讓問題變得更糟。


編輯:找到非主分支安裝的修復


self.menu_items=[{"text": f"{item}"} for item in self.itens]


self.menu = MDDropdownMenu(

                                caller=self.nome,

                                items=self.menu_items,

                                position="bottom",

                                width_mult=4,

                                #Here you'll put that bind func

                                callback = self.function 

                                )     


def function(self,instance):

    #Prints the text of the menu item instance

    print(instance.text)


查看完整回答
反對 回復 2023-09-02
  • 3 回答
  • 0 關注
  • 219 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號