nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

panel parzialmente visibile

Von: Teo (matgranz@gmail.com) [Profil]
Datum: 15.06.2008 22:58
Message-ID: <95196590-961d-450e-a387-47035826ca4f@34g2000hsh.googlegroups.com>
Newsgroup: it.comp.lang.python
Salve a tutti,

sto sviluppando un'applicazione nella quale la finestra principale
apre su comando una di dialogo per impostare un valore poi
visualizzato sulla principale.

Per fare ciò ho dovuto prima definire una nuova classe wx.panel, poi
la finestra di dialogo e quindi il wx.Frame principale.

Quando vado ad inserire il panel personalizzato nel frame esso risulta
parzialmente visibile, quasi coperto. Scusate ma sono due giorni che
non ne vengo fuori.

Di seguito il codice con le parti non rilevanti omesse.

grazie

------------------

import wx
import sys
import os

class MainPanel(wx.Panel):
def __init__(self, parent, id, title):
wx.Panel.__init__(self, parent, id)

mainbox = wx.BoxSizer(wx.VERTICAL)
panel = wx.Panel(self, -1)
vbox = wx.BoxSizer(wx.VERTICAL)

panel_op_smkt = wx.Panel(panel, -1)
vbox_op_smkt = wx.BoxSizer(wx.VERTICAL)
grid_op_smkt = wx.GridSizer(2, 2, 0, 5)
grid_op_smkt.Add(wx.StaticText(panel_op_smkt, -1, 'op:'))
self.static_op = wx.StaticText(panel_op_smkt, -1, '')
grid_op_smkt.Add(self.static_op)
grid_op_smkt.Add(wx.StaticText(panel_op_smkt, -1, 'smkt:'))
grid_op_smkt.Add(wx.StaticText(panel_op_smkt, -1, ''))
vbox_op_smkt.Add(grid_op_smkt)

panel_op_smkt.SetSizer(vbox_op_smkt)
vbox.Add(panel_op_smkt, 0, wx.ALL | wx.EXPAND, 5)

panel_prod = wx.Panel(panel, -1)
sizer_prod = wx.StaticBoxSizer(wx.StaticBox(panel_prod, -1,
'titolo'), orient=wx.VERTICAL)
vbox_prod = wx.BoxSizer(wx.VERTICAL)
grid_prod = wx.GridSizer(2, 2, 0, 5)
grid_prod.Add(wx.StaticText(panel_prod, -1, 'testo:'))
grid_prod.Add(wx.TextCtrl(panel_prod, -1, 'testo'))
grid_prod.Add(wx.StaticText(panel_prod, -1, 'testo:'))
grid_prod.Add(wx.TextCtrl(panel_prod, -1, 'testo'))
vbox_prod.Add(grid_prod)
sizer_prod.Add(vbox_prod, 0, wx.TOP | wx.EXPAND, 4)

panel_prod.SetSizer(sizer_prod)
vbox.Add(panel_prod, 0, wx.BOTTOM | wx.EXPAND, 15)

mainbox.Add(vbox, 1, wx.ALL | wx.EXPAND, 5)
panel.SetSizer(mainbox)

class OpW(wx.Dialog):
def __init__(self, parent, id, title):
wx.Dialog.__init__(self, parent, id, title, size=(250, 210))

...

class PTFrame (wx.Frame):
def __init__(self, parent, id, title):
wx.Frame.__init__(self, parent, id, title, wx.DefaultPosition,
wx.Size(400, 350))

menubar = wx.MenuBar()
file = wx.Menu()
about = wx.MenuItem(file, 101, '&About', 'Informazioni')
file.AppendItem(about)
file.AppendSeparator()
quit = wx.MenuItem(file, 102, '&Esci\tCtrl+Q', 'Esci')
file.AppendItem(quit)
menubar.Append(file, '&File')
self.SetMenuBar(menubar)
self.Bind(wx.EVT_MENU, self.OnAbout, id=101)
self.Bind(wx.EVT_MENU, self.OnQuit, id=102)

toolbar = self.CreateToolBar()
my_path = os.path.dirname(os.path.abspath(sys.argv[0]))
op_icon_path =
os.path.join(my_path,'icons','Administrator_3_rid.png')
toolbar.AddSimpleTool(103, wx.Image(op_icon_path,
wx.BITMAP_TYPE_PNG).ConvertToBitmap(), 'Op', '')
smkt_icon_path = os.path.join(my_path,'icons','Globe_rid.png')
toolbar.AddSimpleTool(104, wx.Image(smkt_icon_path,
wx.BITMAP_TYPE_PNG).ConvertToBitmap(), 'Smkt', '')
exp_icon_path = os.path.join(my_path,'icons','Clipboard_rid.png')
toolbar.AddSimpleTool(105, wx.Image(exp_icon_path,
wx.BITMAP_TYPE_PNG).ConvertToBitmap(), 'Esp', '')
toolbar.Realize()
self.Bind(wx.EVT_TOOL , self.OnOperator, id=103)

panel = wx.Panel(self, -1)
box = wx.BoxSizer(wx.VERTICAL)
mainpanel = MainPanel(panel, -1, title)
box.Add(mainpanel, 1, wx.EXPAND | wx.ALL)
panel.SetSizer(box)

self.CreateStatusBar()
self.Centre()

def OnAbout(self, event):
self.Close()

def OnQuit(self, event):
self.Close()

def OnOperator(self, event):
chop = OpFrame(None, -1, 'OpW')
chop.ShowModal()
chop.Destroy()

class PT(wx.App):
def OnInit(self):
frame = PTFrame(None, -1, 'PT')
frame.Show(True)
return True

app = PT(0)
app.MainLoop()

[ Auf dieses Posting antworten ]

Antworten