首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将kivy小部件保存到文件

将kivy小部件保存到文件
EN

Stack Overflow用户
提问于 2013-09-09 16:06:28
回答 1查看 903关注 0票数 2

所以我尝试使用cpickle将一个kivy小部件保存到一个文件中,但我得到了一个错误。

代码语言:javascript
复制
from kivy.uix.widget import Widget
import cPickle as pickle

foo = Widget()
bar = open('bar.dat', 'w')
pickle.dump(foo, bar)
bar.close()

像这样回溯,

代码语言:javascript
复制
Traceback (most recent call last):
  File ".last_tmp.py", line 6, in <module>
    pickle.dump(foo, bar)
  File "QPython/build/python-install/lib/python2.7/copy_reg.py", line 71, in_reduce_ex
TypeError: __init__() takes exactly 0 positional arguments(1 given)

有没有办法解决这个问题?或者,有没有更好的方法将小部件保存到文件中以供以后使用?

EN

回答 1

Stack Overflow用户

发布于 2013-09-09 17:18:28

看起来使用更高的protocol可能会有所帮助:

代码语言:javascript
复制
#!/usr/bin/python
# -*- coding: utf-8 -*-

try:
    import cPickle as pickle
except:
    import pickle

from kivy.uix.widget import Widget

w = Widget()
w.test = 5
data_string = pickle.dumps(w, protocol=pickle.HIGHEST_PROTOCOL)

x = pickle.loads(data_string)
print x.test
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18693929

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档