如何在kivy DictProperty上迭代

2024-04-28 12:30:10 发布

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

我想使用kivysDictObject并在其他屏幕中重用相同的对象,但是我似乎缺少了一个重要的特性,尤其是迭代DictObject。这是我的代码:

test_data = {1: "hello", 2: "world"}


class AlarmScreen(Screen):      
    def on_enter(self, *args):
        self.printItems(mainApp.alarmLib)            

    def printItems(self, givenDict):
        for i in givenDict:
            print(i)  

class mainApp(App):
    alarmLib = DictProperty()

    def build(self):       
        self.alarmLib = test_data

if __name__ == "__main__":
    mainApp().run()

不幸的是,printItems会导致

^{pr2}$

我尝试使用enumerate()、items()进行测试,但第十八个函数不起作用。那么我可以使用DictObject在多个屏幕上使用DictObject,还是需要创建一个“old”dict对象

def __init__(self, givenDict):
    self.giveDict = givenDict

为了这个?在

谢谢你事先的暗示。在


Tags: 对象代码testselfdata屏幕def特性
1条回答
网友
1楼 · 发布于 2024-04-28 12:30:10
  1. 在主应用程序报警库是名为alarmLib的DictProperty。需要定义构造器(\uu init_u)方法。在
  2. 按如下方式显示DictProperty:

代码段

for key in givenDict:
    print("key={0}, value={1}".format(key, givenDict[key]))

示例

在主.py在

^{pr2}$

输出

Img01 - DictProperty Displayed

相关问题 更多 >