wxPython - PLEASE Help
DP
pennedinil at excite.com
Tue Dec 24 04:17:16 EST 2002
In advance, many thanks for any help on this. I'm stumped, mainly
because I just don't know enough.
I can't seem to get the panel to display in the frame (see code
below). What am I doing wrong? I've been at this too long now...
# -----------------------------------------------------
from wxPython.wx import *
# -----------------------------------------------------
def ruSure(parent):
ru = wxMessageDialog(parent, "Are you sure you want to quit?",
"Leaving Application", \
wxOK | wxCANCEL | wxICON_QUESTION)
return ru.ShowModal()
# -----------------------------------------------------
class baseCopyPane(wxPanel):
def __init__(self, parent, id, Info, sourceDir,
pos = wxDefaultPosition,
size = wxDefaultSize,
style = wxTAB_TRAVERSAL,
cbTT = "Select Individually",
loadTT = "Copy files",
backTT = "Backup files",
):
wxPanel.__init__(self, parent, id)
hbox = wxBoxSizer(wxHORIZONTAL)
self.cbID = NewId()
self.cb = wxCheckBox(self, self.cbID, "x", wxPoint(-1, -1), \
wxSize(-1, -1), style = wxSUNKEN_BORDER)
self.loadID = NewId()
self.load = wxButton(self, self.loadID, "Load",
wxPoint(150,90), \
wxSize(50,20))
self.backID = NewId()
self.back = wxButton(self, self.backID, "Back-up",
wxPoint(150,90), \
wxSize(50,20))
self.textID = NewId()
self.text = wxStaticText(self, self.textID, Info)
hbox.Add(0, 0, 1, wxEXPAND)
hbox.Add(self.load, 0, wxALIGN_CENTER)
hbox.Add(self.back, 0, wxALIGN_CENTER)
hbox.Add(self.cb, 0, wxALIGN_CENTER)
hbox.Add(self.text, 0, wxEXPAND)
self.SetAutoLayout(true)
self.SetSizer(hbox)
self.SetAutoLayout(true)
self.Centre(direction = wxBOTH)
# -----------------------------------------------------
class testframe(wxFrame):
def __init__(self, parent, id, title):
# initialize frame geometry & position
wxFrame.__init__(self, parent, id, title,
size = (600, 200),
style = wxSYSTEM_MENU | wxMINIMIZE_BOX | wxRESIZE_BORDER |
wxCAPTION)
# Add a panel to place things in
self.panel = baseCopyPane(self, -1, "a", "b")
EVT_CLOSE(self, self.OnCloseWindow)
box = wxBoxSizer(wxVERTICAL)
box.Add(self.panel, 1, wxEXPAND)
self.SendSizeEvent()
self.SetAutoLayout(true)
self.Centre(direction = wxBOTH)
def OnCloseWindow(self, event):
if ruSure(self) == wxID_OK:
self.Destroy()
def exitApp(self, event):
if ruSure(self) == wxID_OK:
self.Close()
# -----------------------------------------------------
class TestApp(wxApp):
def OnInit(self):
frame = testframe(NULL, -1, "Test Frame")
frame.Show(true)
self.SetTopWindow(frame)
return true
# -----------------------------------------------------
if __name__ == "__main__":
app = TestApp(0)
app.MainLoop()
More information about the Python-list
mailing list