Вопрос

Мой вопрос, если мы сможем сохранить элементы на ListCtrl, поэтому каждый раз, когда кто-то открывает приложение, элементы там, и если пользователь удаляет его, он также удаляет из конфигурации. Я знаю, что я могу использовать wx.config, и я пытаюсь сделать это, но я не знаю, как прочитать его таким образом, чтобы сделать то, что я хочу.

Итак, что я хотел бы знать, это правильный способ написать / прочитать WX.config таким образом, чтобы каждый раз кто-то открыл приложение, элементы из ListCTRL есть.

Заранее спасибо.

Это было полезно?

Решение

Использование WX.config очень прост, просто создайте имя Config передачу вашего приложения и добавить данные, например,

config = wx.Config("StackOverflowTest")
config.Write("testdata", "yes it works!")

Теперь вы можете прочитать его в любое время

config = wx.Config("StackOverflowTest")
print config.Read("testdata")

Для сохранения списков данных CNTRL я бы предположил, что вы сначала прочитали все данные в списке Python, и сортировать этот список в конфигурации, в следующий раз прочитайте Config, неповторимый список и заполните список, структура WISE Add Add Functions, например, для заливки / 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()
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top