Kivy 用于 Py 和 Kivy 之间的逻辑问题
Kivy For Logic Issues Between Py and Kivy
我是 Kivy 的新手,当我从程序中的另一个文件中引入一个变量时,我试图理解两者之间的 for 循环。我在不使用 kv 文件的情况下让它工作,但我看到的一切都说使用 kv 文件让生活更轻松,所以我试图学习这条路,同样在我不使用 kv 文件的代码中,我很难自动调整所有东西的大小,它使用 kv 文件似乎更容易,因为我实际上将制作 3 列宽的数据集,最多 150 行或更多,我也不明白的是如何动态更新我拉入 kv 文件的变量以获取标签内的文本。这是我当前的代码,当我 运行 它只给我 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 次。感谢任何帮助。
我也是 Kivy 的新手,但我想你正在寻找这个。
()!
检查一下。
这是基本格式,通过一些编辑,您还可以在同一个 window.
中拥有更多布局
我是 Kivy 的新手,当我从程序中的另一个文件中引入一个变量时,我试图理解两者之间的 for 循环。我在不使用 kv 文件的情况下让它工作,但我看到的一切都说使用 kv 文件让生活更轻松,所以我试图学习这条路,同样在我不使用 kv 文件的代码中,我很难自动调整所有东西的大小,它使用 kv 文件似乎更容易,因为我实际上将制作 3 列宽的数据集,最多 150 行或更多,我也不明白的是如何动态更新我拉入 kv 文件的变量以获取标签内的文本。这是我当前的代码,当我 运行 它只给我 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 次。感谢任何帮助。
我也是 Kivy 的新手,但我想你正在寻找这个。
(
检查一下。 这是基本格式,通过一些编辑,您还可以在同一个 window.
中拥有更多布局