如何在kivy应用程序的KV文件中显示Python中的变量值



我正在尝试将函数label_title中的变量archon2_channel显示为MDLabel文本值。我尝试过使用StringProperty(var_name),也通过全局变量,没有运气。。。感谢任何想法和/或链接,可以帮助解决它。

我将此功能放在应用程序类中:

Python:

class DemoApp(MDApp):
def build(self):
self.theme_cls.primary_palette = "Green"
self.theme_cls.theme_style = "Dark"
self.standard_increment = STANDARD_INCREMENT
self.load_all_kv_files(os.path.join(self.directory, "libs", "uix", "kv",))
self.load_all_kv_files(os.path.join(self.directory, "libs", "uix", "uix_drawer", "kv"))
self.root_widget = RootWidget()
self.screen_manager = self.root_widget.ids.screen_manager
self.nav_drawer = self.root_widget.ids.navigation_drawer
return self.root_widget
def label_title(self):
url_archon2 = "http://weburrl"
response_archon2 = requests.request("GET", url_archon2, headers=headers, data = "")
archon2_channel = response_archon2.json()['items']['contentChannel']
archon2_ticker = response_archon2.json()['items']['messageScheduleName']
print(archon2_channel)
print(archon2_ticker)
return StringProperty(archon2_ticker)
DemoApp().run()

KV文件:

MDLabel
text: app.archon2_channel
size_hint_y: None
height: self.texture_size[1]
padding: 0, "20dp"
halign: "center"
theme_text_color: "Primary"

嗯,它实际上刚刚发生((这是我所做的,我从函数label_title((中删除了代码,并将其放在类DemoApp(MDApp(级别:

class DemoApp(MDApp):
url_archon2 = "web url"
r_dev_info_archon2 = requests.request("GET", url_archon2, headers=headers, data="")
ch_numb_archon2 = r_dev_info_archon2.json()['items']['contentChannel']

在KV文件中:

MDLabel
text: app.ch_numb_archon2
size_hint_y: None
height: self.texture_size[1]
padding: 0, "20dp"
halign: "center"
theme_text_color: "Primary"

比我想象的要容易!

最新更新