Als erstes mein etwas gekürztes Programm:
Code: Alles auswählen
#!/usr/local/bin/python
# -*- coding: cp1252 -*-
# File: MedForm.py
import wx
class my_notebook(wx.Notebook):
def __init__(self, parent):
wx.Notebook.__init__(self, parent, -1)
panel = wx.Panel(self, -1)
sizer = wx.BoxSizer(wx.VERTICAL)
box = wx.BoxSizer(wx.HORIZONTAL)
label = wx.StaticText(panel, -1, 'Text')
box.Add(label, 0, wx.ALIGN_CENTRE|wx.ALL, 5)
self.hba1c = wx.TextCtrl(panel, -1, '', size=(80, -1))
self.hba1c.SetFocus()
box.Add(self.hba1c, 1, wx.ALIGN_CENTRE|wx.ALL, 5)
sizer.Add(box, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5)
self.mbz = wx.StaticText(panel, -1, 'Text')
sizer.Add(self.mbz, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 10)
line = wx.StaticLine(panel, -1, size=(20, -1), style=wx.LI_HORIZONTAL)
sizer.Add(line, 0, wx.GROW|wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5)
btn = wx.Button(panel, -1, 'Text')
btn.SetDefault()
self.Bind(wx.EVT_BUTTON, self.on_mbz_click, btn)
sizer.Add(btn, 0, wx.ALIGN_CENTRE|wx.ALL, 5)
sizer.Fit(panel)
panel.SetSizer(sizer)
self.AddPage(panel, 'Text')
#------------------------------------------------------------------------------
panel = wx.Panel(self, -1)
sizer = wx.BoxSizer(wx.VERTICAL)
grid = wx.FlexGridSizer(3, 2)
label = wx.StaticText(panel, -1, 'Text')
grid.Add(label, 0, wx.ALIGN_LEFT|wx.ALL, 5)
self.alter = wx.TextCtrl(panel, -1, '', size=(80, -1))
grid.Add(self.alter, 0, wx.ALIGN_CENTRE|wx.ALL, 5)
label = wx.StaticText(panel, -1, 'Text')
grid.Add(label, 0, wx.ALIGN_LEFT|wx.ALL, 5)
self.gewicht = wx.TextCtrl(panel, -1, '', size=(80, -1))
grid.Add(self.gewicht, 0, wx.ALIGN_CENTRE|wx.ALL, 5)
label = wx.StaticText(panel, -1, 'Text')
grid.Add(label, 0, wx.ALIGN_LEFT|wx.ALL, 5)
self.krea = wx.TextCtrl(panel, -1, '', size=(80, -1))
grid.Add(self.krea, 0, wx.ALIGN_CENTRE|wx.ALL, 5)
sizer.Add(grid, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5)
box_title = wx.StaticBox(panel, -1, 'Text')
stat_box = wx.StaticBoxSizer(box_title, wx.HORIZONTAL)
self.mann = wx.RadioButton(panel, -1, 'Text', style = wx.RB_GROUP)
stat_box.Add(self.mann, 0, wx.ALIGN_CENTRE|wx.ALL, 5)
self.Bind(wx.EVT_RADIOBUTTON, self.on_select, self.mann)
self.mann.SetValue(1)
self.geschlecht = 1
self.frau = wx.RadioButton(panel, -1, 'Text')
stat_box.Add(self.frau, 0, wx.ALIGN_CENTRE|wx.ALL, 5)
self.Bind(wx.EVT_RADIOBUTTON, self.on_select, self.frau)
self.frau.SetValue(0)
sizer.Add(stat_box, 0, wx.ALIGN_CENTRE|wx.ALL, 5 )
self.gfr = wx.StaticText(panel, -1, 'Text')
sizer.Add(self.gfr, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 10)
line = wx.StaticLine(panel, -1, size=(20, -1), style=wx.LI_HORIZONTAL)
sizer.Add(line, 0, wx.GROW|wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5)
btn = wx.Button(panel, -1, 'Text')
btn.SetDefault()
self.Bind(wx.EVT_BUTTON, self.on_gfr_click, btn)
sizer.Add(btn, 0, wx.ALIGN_CENTRE|wx.ALL, 5)
sizer.Fit(panel)
panel.SetSizer(sizer)
self.AddPage(panel, 'Text')
def on_mbz_click(self, event):
pass
def on_select(self, event):
pass
def on_gfr_click(self, event):
pass
class MyApp(wx.App):
def OnInit(self):
frame = wx.Frame(None, -1, 'Titel')
nb = my_notebook(frame)
self.SetTopWindow(frame)
frame.Show(True)
return True
app = MyApp()
app.MainLoop()
Weiterhin möchte ich den Eingabecursor auf ein TextCtrl-Widget, z.B. self.hba1c setzen. SetFocus funktioniert aber nicht. Was muß ich anders machen?
Danke im voraus
HWK