Использовать wx.Config очень просто, просто создайте конфигурацию, передавая имя вашего приложения и добавьте данные, например,
config = wx.Config("StackOverflowTest")
config.Write("testdata", "yes it works!")
Теперь вы можете прочитать его в любое время
config = wx.Config("StackOverflowTest")
print config.Read("testdata")
Для сохранения данных cntrl списка я бы предложил сначала прочитать все данные в списке python и выбрать этот список в конфигурацию, в следующий раз прочитать конфигурацию, открыть данные и заполнить список, структурировать функции добавления, такие как fillList / saveList, чтобы вы могли Убедитесь, что читающая часть написана рядом и похожа.
например. Вы можете использовать этот скелет
import wx
import cPickle
class MyListCtrl(wx.ListCtrl):
def __init__(self, *args, **kwargs):
wx.ListCtrl.__init__(self, *args, **kwargs)
self.config = wx.Config("MykoolApp")
self.fillist()
def filllist(self):
# load rows and check for error too, if no data
data = self.config.Read("list_cntrl_data")
rowList = cPickle.loads(data)
for row in rowList:
# add this row to list cntrl
pass
def savelist(self):
rows = []
for row in self:
# add data to rows
pass
data = cPickle.dumps(rows)
self.config.Write("list_cntrl_data", data)
def onchange(self):
"""
on changes to list e.g. add delete call save list
"""
self.savelist()