我如何使用PM_PERSIST_CONTROL_VALUE?

时间:2018-05-26 05:36:44

标签: wxpython persistence

我正在用Python编写一个程序,我正忙着为我的程序实现PersistenceManager。接口的一个主要功能是wx.treectrl,我想保存状态。

我已经知道主框架的大小和位置已保存/恢复,我还实现了树项目的扩展。我无法理解如何实现PM_PERSISTENT_CONTROL_VALUE,这似乎是我需要的,以恢复树上的选定项目。

请参阅:https://wxpython.org/Phoenix/docs/html/wx.lib.agw.persist.persistencemanager.PersistenceManager.html#wx.lib.agw.persist.persistencemanager.PersistenceManager.SaveValue

以下是我主框架 init 末尾的代码:

self.SetName('MyApp')
self.document_tree.SetName('DocumentTree')
_configFile = os.path.join(os.path.expanduser("~"), "Documents", "MyApp.pm")
self._persistMgr = pm.PersistenceManager.Get()
self._persistMgr.SetPersistenceFile(_configFile)
self._persistMgr.RegisterAndRestoreAll(self)
self._persistMgr.Save(self)

我尝试了很多东西,但似乎无法获得“document_tree”控件来突出显示程序关闭时突出显示的值。

提前感谢您的建议。

马克。

1 个答案:

答案 0 :(得分:0)

好的,这是我必须添加到我的代码中的内容:

self._persistMgr.SetManagerStyle(pm.PM_DEFAULT_STYLE|pm.PM_SAVE_RESTORE_TREE_LIST_SELECTIONS)

我将上述内容直接放在

之下
self._persistMgr = pm.PersistenceManager.Get()

......现在它有效。

马克。