我正在使用 kivy,我有兩個螢屏,一個具有數字屬性的類變數,我有根據情況更改值的方法。第二個螢屏應該用于向用戶顯示最終值。
class Main(Screen):
transport_price_value = NumericProperty(0)
def change_value_on_press(self):
self.transport_price_value = 10
class Second(Screen):
def display_transport_price_value(self):
return str(Main.transport_price_value)
class WindowManager(ScreenManager):
pass
class Example(App):
pass
當我單擊觸發“display_transport_price_value”函式的提交按鈕時,它回傳名稱而不是屬性值
uj5u.com熱心網友回復:
由于Main只是 aclass而不是 a instance,并且由于在 python 中可以有多個實體,因此您真正需要的是一種獲取Main由 kivy 創建的實體的方法。我沒有測驗過,但我認為這會起作用:
class Main(Screen):
transport_price_value = NumericProperty(0)
def change_value_on_press(self):
self.transport_price_value = 10
class Second(Screen):
def display_transport_price_value(self):
main_screen = self.manager.get_screen("main")
return str(main_screen.transport_price_value)
class WindowManager(ScreenManager):
pass
class Example(App):
pass
來源:https ://stackoverflow.com/a/61002677/13314450
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/457932.html
