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

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

打印哪個 Radio-ToggleButton 處于按下狀態

打印哪個 Radio-ToggleButton 處于按下狀態

HUWWW 2023-09-19 14:50:34
我對 Python 和 Kivy 都是新手。我們正在為一項作業開發此應用程序,我正在處理首選項頁面。我的標簽、文本輸入、切換按鈕和按鈕都位于正確的位置并且可以正常工作,但我正在努力解決如何獲取這些按鈕的輸出?;旧?,當有人按下確認按鈕時,我想打印這樣的輸出:Name: BlablaMood reminders: 2 per dayDiary reminders: 1 per day我認為 on_press 不起作用,因為每次按下按鈕時都會打印一個值,而不是僅在按下確認時打印一個值?,F在我的 .py 代碼如下所示from kivy.app import Appfrom kivy.lang import Builderfrom kivy.uix.floatlayout import FloatLayoutfrom kivy.properties import ObjectProperty# Builder.load_file('preferences.kv')class MyFloatLayout(FloatLayout):    name = ObjectProperty(None)    def mood_buttons(self):        pass    def diary_buttons(self):        pass    def print_specs(self):        print("Name: " + self.name.textclass PreferencesApp(App):    def build(self):        return MyFloatLayout()if __name__ == '__main__':    PreferencesApp().run()我的 .kv 語言文件如下所示<Label>    font_size: 20<TextInput>    font_size: 20<Checkbox>    size_hint_x: .20<MyFloatLayout>:    name: name    FloatLayout:        Label:            text: "Name: "            size_hint: 0.4, 0.08            pos_hint:{"x": 0.1, "center_y": 0.85}        TextInput:            id: name            multiline: False            size_hint: 0.4, 0.07            pos_hint:{"x":0.5,"center_y":0.85}        Label:            text: "How many mood reminders would you like?"            size_hint: 0.5, 0.1            pos_hint: {"center_x": 0.5, "top": 0.75}        BoxLayout:            pos_hint: {'center_x': 0.5, 'y': 0.55}            size_hint: 0.8, 0.1            ToggleButton:                text:"Zero"                id: m0                group: "mood_popups"                on_press: self.mood_buttons()            ToggleButton:                text:"1 per day"                id: m1                group: "mood_popups"            ToggleButton:                text:"2 per day"                id: m2                group: "mood_popups"            ToggleButton:                text:"3 per day"                id: m3                group: "mood_popups"
查看完整描述

1 回答

?
哈士奇WWW

TA貢獻1799條經驗 獲得超6個贊

Buttons您可以使用該方法訪問組中的所有內容get_widgets()。所以你的print_specs()方法可以是:


def print_specs(self):

    print("Name: " + self.name.text)

    

    # get mood reminder

    mood_reminder = ''

    for toggle in ToggleButton.get_widgets('mood_popups'):

        if toggle.state == 'down':

            mood_reminder = toggle.text

            break

    print('Mood reminders:', mood_reminder)


    # get diary reminder

    diary_reminder = ''

    for toggle in ToggleButton.get_widgets('diary_popups'):

        if toggle.state == 'down':

            diary_reminder = toggle.text

            break

    print('Diary reminders:', diary_reminder)


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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