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

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

ConfigParserProperty 在 kivy 類(lèi)中返回 val

ConfigParserProperty 在 kivy 類(lèi)中返回 val

九州編程 2023-10-06 16:44:34
我正在關(guān)注官方的 kivy 文檔,并且遇到了一個(gè)問(wèn)題,這是我的代碼,在底部我將解釋問(wèn)題所在。KV = '''BoxLayout:    TextInput:        id: number        text: str(app.number)        on_text: app.number = self.text    Label:        id: info        number: number.text        text: 'Number: {}'.format(self.number)''' class InfoApp(App):    def build_config(self, config):        config.setdefaults(            'info',            {                'number': ''            }        )    number = ConfigParserProperty(0, 'info', 'number', 'app',val_type=int)    def build(self):        print(self.number)        return Builder.load_string(KV)if __name__ == '__main__':    InfoApp().run()該程序可以工作,但在構(gòu)建函數(shù)中我打印 self.number,它返回 0 而不是存儲(chǔ)在配置文件中的數(shù)字,我該如何解決這個(gè)問(wèn)題,所以如果我在構(gòu)建函數(shù)中添加更多計(jì)算小部件,它將正確地知道數(shù)字?任何幫助將不勝感激!謝謝!
查看完整描述

1 回答

?
躍然一笑

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

ConfigParserProperty 設(shè)置構(gòu)建后發(fā)生的事情,因此遺憾的是,您不能依賴可用的配置中的值,build甚至on_start不能在那之后盡快更新它,但它之前不會(huì)發(fā)生。


因此,您有兩種選擇,要么將操作延遲固定的時(shí)間(使用 Clock.schedule_once),然后在被調(diào)用函數(shù)中執(zhí)行您想要對(duì)值執(zhí)行的任何操作,或者(更好)將函數(shù)綁定到您要執(zhí)行的屬性感興趣,因此每次值更改時(shí)都會(huì)調(diào)用它,這可能正是您想要的,因?yàn)槟枰鶕?jù)該值刷新界面。


KV = '''

BoxLayout:

    TextInput:

        id: number

        text: str(app.number)

        on_text: app.number = self.text

    Label:

        id: info

        number: number.text

        text: 'Number: {}'.format(self.number)

''' 



class InfoApp(App):


    def build_config(self, config):

        config.setdefaults(

            'info',

            {

                'number': ''

            }

        )

    number = ConfigParserProperty(0, 'info', 'number', 'app',val_type=int)


    def build(self):

        self.bind(number=self.do_something)

        return Builder.load_string(KV)


    def do_something(self, *args):

        print(self.number)



if __name__ == '__main__':

    InfoApp().run()


查看完整回答
反對(duì) 回復(fù) 2023-10-06
  • 1 回答
  • 0 關(guān)注
  • 99 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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