Kivy:将函数变量应用于Button Tex

2024-09-20 03:54:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一些滚动可用屏幕示例。 我正在测试这个示例,以应用于我的应用程序。

当我启动这个python文件时,我可以得到如下屏幕

enter image description here

enter image description here

但我想要的是上面这样。 我想做尽可能多的按钮^{{cd1>} 然后将^{cd2>}的三行放入一个按钮中,如上图所示。

6、2、159、6、6、467每个数字都是^{cd3>}的列表 所以我可以将每个数字作为^{cd4>}、^{cd5>}、^{cd6>}等访问。。

所以首先,我这样编码是为了测试。

    BoxLayout:
        orientation: 'vertical'
        size_hint: 1, 0.35
        padding: 0
on_parent:
    for i in range(root.numberoflist): txt = root.businfolist[i]; self.add_widget(Button(text= txt, id=txt))

但没用。这是回溯

^{pr2}$

我想把变量放在^{{cd7>}中,那么我应该使用全局吗? 我不知道。 谢谢你的阅读。我期待着回答。

t2.py

^{pr3}$

t2.kv

^{pr4}$

TESTTEST.txt

6
2
159
6
6
467
6-1
12
832
6-1
3
189
8
8
515
35
4
317
112
10
765
112
2
107
780
30
3067
909
13
1665

Tags: 文件txt应用程序示例列表屏幕数字root
1条回答
网友
1楼 · 发布于 2024-09-20 03:54:36

您的代码还有一些其他问题(一旦按钮显示出来,您就会发现这些问题)和帖子中的一些缩进错误。但是添加这些按钮的一个简单方法是在StationTest.__init__()中添加一行:

Clock.schedule_once(partial(self.rpandgv, oo))

代替线路:

^{pr2}$

Clock.schedule_once确保代码只在更新显示并填写.ids字典后运行。在rpandgv()方法的末尾,添加用于添加按钮的代码:

    for i in range(self.lenbil):
        txt = self.businfolist[i]
        self.ids.buttons.add_widget(Button(text=txt, id=txt))

另外,添加:

id: buttons

BoxLayoutkv声明中,我相信您希望添加按钮(带有两个MyButton声明的按钮)。在

相关问题 更多 >