鱼C论坛

 找回密码
 立即注册
查看: 1404|回复: 7

[已解决]easygui 模块 保存设置

[复制链接]
发表于 2020-2-13 05:44:06 | 显示全部楼层 |阅读模式
50鱼币
我设置了一个账户密码,但是每次打开之后都要重新输入一遍,有什么方法可以让我下一次打开的时候密码账号都已经填写好。我看了小甲鱼老师的EgStore方法,但是我不知道怎么使用。
这是我写的代码,请大佬帮我看看应该怎么改
  1. from easygui import EgStore
  2. import easygui as gui

  3. class Settings(EgStore):

  4.     def __init__(self, filename):
  5.         self.account = ''
  6.         self.password = ''

  7.         self.filename = filename
  8.         self.restore()

  9. settingsFilename = 'settings.txt'
  10. settings = Settings(settingsFilename)

  11. account = 'account123'
  12. password = 'password123'

  13. settings.account = account
  14. settings.book = password
  15. settings.store()

  16. field_value = gui.multenterbox(msg='enter api', title='shipstation', fields = ['account', 'password'])
复制代码
最佳答案
2020-2-13 05:44:07
不知这样修改是否符合要求:
  1. from easygui import EgStore
  2. import easygui as gui

  3. class Settings(EgStore):
  4.     def __init__(self, filename):
  5.         self.account = ''
  6.         self.password = ''

  7.         self.filename = filename
  8.         self.restore()

  9.     def retrive(self):
  10.         return self.account, self.password

  11.     def save_parameters(self, parameters):
  12.         self.account, self.password = parameters[0], parameters[1]
  13.         self.store()

  14. settingsFilename = 'settings.txt'
  15. settings = Settings(settingsFilename)
  16. values = list(settings.retrive())

  17. field_value = gui.multenterbox(msg='enter api', title='shipstation', fields = ['account', 'password'], values=values)

  18. if field_value:   
  19.     settings.save_parameters(field_value)
复制代码

最佳答案

查看完整内容

不知这样修改是否符合要求:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-13 05:44:07 | 显示全部楼层    本楼为最佳答案   
不知这样修改是否符合要求:
  1. from easygui import EgStore
  2. import easygui as gui

  3. class Settings(EgStore):
  4.     def __init__(self, filename):
  5.         self.account = ''
  6.         self.password = ''

  7.         self.filename = filename
  8.         self.restore()

  9.     def retrive(self):
  10.         return self.account, self.password

  11.     def save_parameters(self, parameters):
  12.         self.account, self.password = parameters[0], parameters[1]
  13.         self.store()

  14. settingsFilename = 'settings.txt'
  15. settings = Settings(settingsFilename)
  16. values = list(settings.retrive())

  17. field_value = gui.multenterbox(msg='enter api', title='shipstation', fields = ['account', 'password'], values=values)

  18. if field_value:   
  19.     settings.save_parameters(field_value)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-13 23:13:51 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-13 23:19:07 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-2-14 00:45:28 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-2-14 07:16:53 | 显示全部楼层
XiaoPaiShen 发表于 2020-2-14 01:38
不知这样修改是否符合要求:

还是老哥你牛逼啊!!!哈哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-2-14 07:31:44 | 显示全部楼层
XiaoPaiShen 发表于 2020-2-13 05:44
不知这样修改是否符合要求:

不过老哥,你能不能把注释写一下啊,我也好学习一下,谢谢啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-15 03:20:27 | 显示全部楼层
shenshuai 发表于 2020-2-14 07:31
不过老哥,你能不能把注释写一下啊,我也好学习一下,谢谢啦
  1. from easygui import EgStore
  2. import easygui as gui

  3. # EgStore 的作用和pickle 相似,把需要的变量和值存储在一个文件中,可以存储,可以调用。
  4. # 我在类的定义中,新增的两个方法,就是为了调用和存储 变量 account 和 password
  5. class Settings(EgStore):
  6.     def __init__(self, filename):
  7.         self.account = ''
  8.         self.password = ''

  9.         self.filename = filename
  10.         self.restore()

  11.     def retrive(self):
  12.         return self.account, self.password

  13.     def save_parameters(self, parameters):
  14.         self.account, self.password = parameters[0], parameters[1]
  15.         self.store()

  16. # 使用 settings.txt 创建 settings 对象
  17. # 并把其中的值提取出来,赋給 values
  18. settingsFilename = 'settings.txt'
  19. settings = Settings(settingsFilename)
  20. values = list(settings.retrive())

  21. # 把 user 和 password 的值填充到 account 和 password 对应的文本框中
  22. # 如果用户单击了 ok 键, 文本框的值就会返回给 field_value
  23. field_value = gui.multenterbox(msg='enter api', title='shipstation', fields = ['account', 'password'], values=values)

  24. # 如果 field_value 不为空,就调用 save_parameters 方法,把其中的值存储起来
  25. if field_value:   
  26.     settings.save_parameters(field_value)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-18 15:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表