【发布时间】:2021-01-07 19:30:05
【问题描述】:
我是 Kivy 的新手,在引入我从程序中的另一个文件中提取的变量时,我试图了解两者之间的 for 循环。我在不使用kv文件的情况下让它工作,但我看到的一切都说使用kv文件让生活更轻松,所以我正在尝试学习这条路径,也在我不使用kv文件的代码中我很难自动调整所有内容和它使用 kv 文件似乎更容易,因为我确实将 3 列宽的数据集设置为 150 行或更多行,我也不明白如何动态更新我拉入 kv 文件以获取标签中文本的 var。这是我当前的代码,当我运行它时,它只会给我一组 kv 文件中的标签,但它不会遍历我的列表。
import kivy
from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.gridlayout import GridLayout
from kivy.uix.textinput import TextInput
from kivy.uix.button import Button
from kivy.uix.widget import Widget
from kivy.properties import ObjectProperty
from kivy.uix.floatlayout import FloatLayout
from kivy.lang import Builder
from GRABBING_TEAM_DATA_FROM_SCHEDULE import test_points
from GRABBING_TEAM_DATA_FROM_SCHEDULE import test_home_team_over
from GRABBING_TEAM_DATA_FROM_SCHEDULE import test_away_team_over
from ADJUSTING_PROJECTED_SCORES_MORE import total_point_list
from kivy.properties import StringProperty
test_points = [i.tolist() for i in test_points]
test_total_points = [i.tolist() for i in total_point_list]
testing = list()
class MyLabel(Widget):
pass
class MyApp(App):
pyh = StringProperty('')
ppt = StringProperty('')
ppu = StringProperty('')
yahoo = 0
lee = len(test_total_points)
print(lee)
legn = test_total_points
def build(self):
self.yahoo = 0
self.legn = test_total_points
lee = test_total_points
for i in range (len(lee)):
self.yahoo += 1
self.pyh = str(test_total_points[self.yahoo])
self.ppt = str(test_home_team_over[self.yahoo])
self.ppu = str(test_away_team_over[self.yahoo])
return FloatLayout()
if __name__ == "__main__":
MyApp().run()
kv文件
<FloatLayout>:
BoxLayout:
orientation: 'vertical'
GridLayout:
cols: 3
rows: app.lee
Label:
text: "HOME:"
size: self.texture_size
Label:
text: "AWAY:"
size: self.texture_size
Label:
text: "SCORE"
size: self.texture_size
HomeTeamLabel:
text: app.ppt
AwayTeamLabel:
text: app.ppu
ScoreLabel:
text: app.pyh
<HomeTeamLabel@Label>:
text: "HOME"
size: self.texture_size
<AwayTeamLabel@Label>:
text: "AWAY"
size: self.texture_size
<ScoreLabel@Label>:
text: "YEYEAYAYAY"
size: self.texture_size
它给了我我的第一组标签,但该列表的长度是 38,所以我真的想在遍历我的列表时再标记这个布局 38 次。感谢任何帮助。
【问题讨论】:
标签: python kivy kivy-language