ich möchte in einem Config-File mit ConfigObj Farbangaben (z.B. (255, 0, 0, 255))speichern und natürlich auch wieder auslesen. Leider wird der ausgelesene Wert nicht weiter beachtet. Beim Setzen der Farbe aus der cfg-Datei passiert nix.
Hier ein Beispiel:
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: iso-8859-15 -*-
import wx
import os.path
import sys
from configobj import ConfigObj
CFG = './test.cfg'
class MainWindow(wx.Frame):
def __init__(self, parent):
wx.Frame.__init__(self, parent, -1, title='Test ConfigObj')
panel = wx.Panel(self)
self.button = wx.Button(panel, -1, size=(100, 21))
self.save = wx.Button(panel, -1, label='Speichern', size=(100, 21))
sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(self.button)
sizer.Add(self.save)
panel.SetSizer(sizer)
self.Bind(wx.EVT_BUTTON, self.changeColor, self.button)
self.Bind(wx.EVT_BUTTON, self.writeConfig, self.save)
self.readConfig()
def changeColor(self, event=None):
dialog = wx.ColourDialog(None)
dialog.GetColourData().SetChooseFull(True)
if dialog.ShowModal() == wx.ID_OK:
data = dialog.GetColourData()
color = data.GetColour().Get()
self.button.SetBackgroundColour(color)
dialog.Destroy()
def writeConfig(self, event=None):
config = ConfigObj()
config.filename = CFG
config['Colour'] = {}
config['Colour']['button'] = self.button.GetBackgroundColour()
config.write()
def readConfig(self):
config = ConfigObj(CFG)
print config['Colour']['button']
self.button.SetBackgroundColour(config['Colour']['button'])
def main():
app = wx.PySimpleApp()
frame = MainWindow(None)
frame.Center()
frame.Show()
app.MainLoop()
if __name__ == '__main__':
main()
Grüße
Mawilo