Ich entwickle eine Applikation für Linux und WIndows in wxPython. Unter Linux siehts sie gut aus, aber unter Windows hat sie so einen dunkelgrauen Hintergrund, der extrem hässlich aussieht.
Das ist der Code:
Code: Alles auswählen
import ...
...
class JElizaWX:
def __init__(self):
self.app = wx.App(redirect = False)
def gui(self):
global guiLang
""" Initialisation """
self.language = "roh"
self.util = Util()
self.util.chProfile("default")
self.dirname = "."
""" Create new JEliza """
self.jel = JEliza()
""" Create Frame """
self.frame = wx.Frame(None, wx.ID_ANY, GetString(guiLang, "0001"),
wx.DefaultPosition, wx.Size(800, 700))
self.frame.CreateStatusBar()
self.frame.SetBackgroundColour("white")
""" Create Sizers """
self.sizer = wx.GridBagSizer()
self.topsizer = wx.BoxSizer(wx.VERTICAL)
self.control = wx.GridBagSizer()
self.langs = wx.GridBagSizer()
""" Create some Comboboxes """
self.langin = wx.ComboBox(self.frame, 30, "Deutsch",
choices = ["Deutsch", "Englisch", "Spanisch", "Italienisch", "Franzoesisch", "Portugiesisch", "andere Sprache", "Finnisch"],
style=wx.CB_DROPDOWN)
self.lang = wx.ComboBox(self.frame, 31, "Roh",
choices = ["Deutsch", "Englisch", "Spanisch", "Italienisch", "Franzoesisch", "Portugiesisch", "Finnisch"],
style=wx.CB_DROPDOWN)
wx.EVT_COMBOBOX(self.frame, 30, self.chLang)
wx.EVT_COMBOBOX(self.frame, 31, self.chLang)
""" Create some "Statictext"s """
statictext = wx.StaticText(self.frame, 50,
"\n" + " " + GetString(guiLang, "0002") + ":" + "\n")
statictext.SetFont(wx.Font(9, wx.SWISS, wx.NORMAL, wx.BOLD, False, 'Verdana'))
self.control.Add(statictext, (0, 0), wx.DefaultSpan, wx.ALIGN_LEFT)
self.control.Add(wx.StaticText(self.frame, 50, GetString(guiLang, "0003") + ":"), (1, 0), wx.DefaultSpan, wx.ALIGN_LEFT)
self.control.Add(self.langin, (2, 0), wx.DefaultSpan, wx.EXPAND)
self.control.Add(wx.StaticText(self.frame, 50, GetString(guiLang, "0004") + ":"), (3, 0), wx.DefaultSpan, wx.ALIGN_LEFT)
self.control.Add(self.lang, (4, 0), wx.DefaultSpan, wx.EXPAND)
statictext = wx.StaticText(self.frame, 50,
"\n " + GetString(guiLang, "0005") + ":" + "\n")
statictext.SetFont(wx.Font(9, wx.SWISS, wx.NORMAL, wx.BOLD, False, 'Verdana'))
self.control.Add(statictext, (6, 0), wx.DefaultSpan, wx.ALIGN_LEFT)
self.gendata = wx.Button(self.frame, 70, GetString(guiLang, "0006"))
self.control.Add(self.gendata, (7, 0), wx.DefaultSpan, wx.EXPAND)
self.cleardata = wx.Button(self.frame, 71, GetString(guiLang, "0007"))
self.control.Add(self.cleardata, (8, 0), wx.DefaultSpan, wx.EXPAND)
self.loadonlinewiss = wx.Button(self.frame, 72, GetString(guiLang, "0008"))
self.control.Add(self.loadonlinewiss, (9, 0), wx.DefaultSpan, wx.EXPAND)
self.loadstdwiss = wx.Button(self.frame, 73, GetString(guiLang, "0009"))
self.control.Add(self.loadstdwiss, (10, 0), wx.DefaultSpan, wx.EXPAND)
""" Create some Events """
wx.EVT_BUTTON(self.frame, 70, self.genDatabase)
wx.EVT_BUTTON(self.frame, 71, self.clearDatabase)
wx.EVT_BUTTON(self.frame, 72, self.loadonlinewissen)
wx.EVT_BUTTON(self.frame, 73, self.loadstandardwissen)
""" Add Menubar """
self.menubar = wx.MenuBar()
self.datei = wx.Menu()
self.help = wx.Menu()
""" Create some Widgets """
self.button = wx.Button(self.frame, 10, GetString(guiLang, "0010"))
wx.EVT_BUTTON(self.frame, 10, self.say)
self.entry = wx.TextCtrl(self.frame, 555, "", style=wx.TE_PROCESS_ENTER)
wx.EVT_TEXT_ENTER(self.frame, 555, self.say)
self.log = wx.TextCtrl(self.frame, 9, style=wx.TE_MULTILINE)
self.gauge = wx.Gauge(self.frame, -1, 100, (10, 70), (390, 25))#, wx.VERTICAL)
""" Create Menu entries """
self.datei.Append(101, GetString(guiLang, "0011"), '')
self.datei.Append(102, GetString(guiLang, "0012"), '')
self.datei.AppendSeparator()
self.datei.Append(103, GetString(guiLang, "0013"), '')
self.datei.Append(104, GetString(guiLang, "0014"), '')
self.help.Append(201, GetString(guiLang, "0015"), '')
self.frame.Bind(wx.EVT_MENU, self.openDialog, id=101)
self.frame.Bind(wx.EVT_MENU, self.saveDialog, id=102)
self.frame.Bind(wx.EVT_MENU, self.openWissen, id=103)
self.frame.Bind(wx.EVT_MENU, self.saveWissen, id=104)
self.frame.Bind(wx.EVT_MENU, self.about, id=201)
self.menubar.Append(self.datei, GetString(guiLang, "0016"))
self.menubar.Append(self.help, GetString(guiLang, "0017"))
self.frame.SetMenuBar(self.menubar)
""" Add some widgets to a sizer """
self.sizer.Add(self.log, (0, 0), (1, 2), wx.EXPAND)
self.sizer.Add(self.control, (0, 2), (1, 2), wx.ALIGN_LEFT)
self.sizer.Add(self.entry, (1, 0), (1, 3), wx.ALIGN_CENTER | wx.EXPAND)
self.sizer.Add(self.gauge, (2, 0), (1, 4), wx.ALIGN_CENTER | wx.EXPAND)
self.sizer.Add(self.button, (1, 3), wx.DefaultSpan, wx.ALIGN_RIGHT)
self.sizer.AddGrowableRow(0)
self.sizer.AddGrowableCol(1)
self.sizer.AddGrowableCol(0)
""" Set the Sizer """
self.frame.SetSizer(self.sizer)
""" Show the Window """
self.frame.Center()
self.frame.Show(True)
""" Check for updates """
self.checkForUpdates()
gau = GaugeThread(self.gauge, self.frame)
gau.start()
self.setGaugeValue(0)
EVT_RESULT(self.frame, self.OnResult)
self.app.MainLoop()
...
Danke im Vorraus!
MfG
Tobias[/code]