我正在创建一个简单的应用程序,它捕捉字符串并将其转换为二维码,但我无法让我的应用程序返回更新的qr图像。文件已更新,但即使我调用.reload(),结果显示的图像仍然是以前创建的。在
我相信,在启动过程中,应用程序是用当前存储的映像(一个来自上一次运行的映像)构建的,为什么.reload()不更新它呢?我用得对吗?在
旁注:有没有一种方法可以增加调试的详细程度,这样我不仅可以看到kivy的错误,还可以看到python错误?试着去做每件事:有点让人无法抗拒。在
class Note(Screen):
def reload_image(self):
w = NoteCode().ids.image
w.reload()
def qr_generator(self):
note_input = self.note_input.text
inn = pyqrcode.create(note_input)
with open('qr.png','w') as inputfile:
inn.png(inputfile,scale=8)
self.reload_image()
以及相应的kv:
^{pr2}$
对我来说,这行
w = NoteCode().ids.image
似乎有问题,因为您在其中创建了一个新实例,而没有获得现有的实例,因此即使您重新加载了某些内容,它也不会是布局中使用的NoteCode
。你需要把它放进cd2{然后在
^{pr2}$Note.reload()
中执行以下操作:你也可以把应用程序放到init中,或者基本上放在任何你喜欢的地方,重要的是要得到正确的实例。在
相关问题 更多 >
编程相关推荐