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

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

在 Kivy (Python) 中跨屏幕更新標簽 - .kv 和 .py 文件與

在 Kivy (Python) 中跨屏幕更新標簽 - .kv 和 .py 文件與

開滿天機 2023-02-07 14:39:39
我正在嘗試構建一個 Kivy 應用程序,它有 2 個屏幕,這些屏幕用不同的文本一遍又一遍地重復使用。因此,我從帶有“First1”標簽的 FirstScreen 轉到帶有“Second1”標簽的 SecondScreen,然后返回 FirstScreen,但這次帶有標簽“First2”,然后是 SecondScreen 和“Second2”,然后等等等等。此代碼非常簡單,但在沒有指定更新按鈕的情況下更新標簽文本似乎存在問題。出于某種原因,我的 Python 代碼設法更新了文本,但它沒有在我的 .kv 文件中更新。因此,例如,我的打印語句會告訴我標簽文本是“First2”,但 Kivy 為我顯示“First1”。我在下面的屏幕截圖中說明了這一點:通過添加一個按鈕來更新按下時的文本,所有內容都會更新、同步并正常工作,但我真的希望它在沒有額外用戶輸入的情況下工作。有人知道我該怎么做嗎?我已經左右搜索了文檔和 stackoverflow 問題,但似乎無法找到我看似簡單的問題的答案。
查看完整描述

1 回答

?
胡說叔叔

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

問題是你的陳述:

FirstScreen.update(FirstScreen())

該語句創建FirstScreen并更新該實例的新實例。不幸的是,該實例不是您的 GUI 中顯示的實例。您可以通過將上述語句替換為:

    first_screen = self.manager.get_screen('first')
    first_screen.update()

此代碼FirstScreen從獲取實例ScreenManager并調用update()該實例。


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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