[wxpython-users] Re: FloatSpin and wxSizer

Daniel Bauer daniel.bauer at spambog.com
Mon May 12 23:25:32 PDT 2008


Hi Andrea,

thanks for your response. Below you can find an example, that doesn't work
(python2.5, wx-2.8-msw-unicode). The FloatSpin should have the same width the
SpinCtrls are.

Greets,
Daniel


< START >

import wx
import wx.lib.floatspin as sp   # <<<< NOTE position of floatspin.py

###############################################################################
###############################################################################

APP_RESX = 320
APP_RESY = 240

###############################################################################
###############################################################################

# =============================================================================
# cApplicationMainFrame
# =============================================================================
class cApplicationMainFrame( wx.Frame ):
  # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  def __init__( self, parent, id, title ):
    # ---- create main frame -----
    wx.Frame.__init__( self, parent, id, title, pos=wx.DefaultPosition,
size=wx.Size(APP_RESX, APP_RESY),
style=wx.SYSTEM_MENU|wx.CAPTION|wx.CLOSE_BOX|wx.CLIP_CHILDREN )
    wx.Frame.Centre  ( self, wx.BOTH )
    # ---- init ressources -------
    #   entire frame
    self.panel = wx.Panel    ( self, wx.NewId(), pos=wx.DefaultPosition,
size=wx.DefaultSize )
    self.sizer = wx.BoxSizer ( wx.VERTICAL )

    self.spn01 = wx.SpinCtrl ( self.panel, wx.NewId(), "", wx.DefaultPosition,
wx.DefaultSize,
                               wx.SP_ARROW_KEYS, 0, 100, 0 )
    self.spn02 = wx.SpinCtrl ( self.panel, wx.NewId(), "", wx.DefaultPosition,
wx.DefaultSize,
                               wx.SP_ARROW_KEYS, 0, 100, 0 )

    self.spn03 = sp.FloatSpin( self.panel, wx.NewId(), wx.DefaultPosition,
(-1,-1), 0,
                               15.5, 0.0, 100.0, 2.5, 3, sp.FS_LEFT )

    self.sizer.Add      ( self.spn01, 0,
wx.TOP|wx.LEFT|wx.BOTTOM|wx.RIGHT|wx.EXPAND|wx.FIXED_MINSIZE, 1 )
    self.sizer.Add      ( self.spn02, 0,
wx.TOP|wx.LEFT|wx.BOTTOM|wx.RIGHT|wx.EXPAND|wx.FIXED_MINSIZE, 1 )
    self.sizer.AddSpacer( 10 )
    self.sizer.Add      ( self.spn03, 0,
wx.TOP|wx.LEFT|wx.BOTTOM|wx.RIGHT|wx.EXPAND|wx.FIXED_MINSIZE, 1 )
    self.panel.SetSizer ( self.sizer )

###############################################################################
###############################################################################

#==============================================================================
# cApplication
#==============================================================================
class cApplication( wx.App ):
  def OnInit( self ):
    self.frame = cApplicationMainFrame( None, -1, "Temp App" )
    self.frame.Show( True )
    self.SetTopWindow( self.frame )
    return True

###############################################################################
###############################################################################

if __name__ == '__main__':
  app = cApplication( redirect=True, filename="error.log" )
  app.MainLoop( )

< STOP >



More information about the wxpython-users mailing list