def test_gbsizer_pos4(self): p1 = wx.GBPosition(3, 4) r, c = p1 self.assertTrue(len(p1) == 2) p1[0] = 5 p1[1] = 6 self.assertTrue((p1.row, p1.col) == (5, 6))
def __init__(self, parent): wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=wx.EmptyString, pos=wx.DefaultPosition, size=wx.Size(500, 300), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) self.SetSizeHintsSz(wx.DefaultSize, wx.DefaultSize) gbSizer4 = wx.GridBagSizer(0, 0) gbSizer4.SetFlexibleDirection(wx.BOTH) gbSizer4.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) self.m_htmlWin1 = wx.html.HtmlWindow(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(1500, 1250), wx.html.HW_SCROLLBAR_AUTO) gbSizer4.Add(self.m_htmlWin1, wx.GBPosition(0, 0), wx.GBSpan(1, 1), wx.ALL, 5) self.SetSizer(gbSizer4) self.Layout() self.Centre(wx.BOTH)
def _create_input_controls(self): TEXT_WIDTH = 300 panel = wx.Panel(self) label = wx.StaticText(panel, label=_("URL:")) self.data = wx.TextCtrl(panel, size=(TEXT_WIDTH, 20)) self.list = wx.ListBox(panel, wx.ID_ANY, size=(TEXT_WIDTH, -1)) sizer = wx.GridBagSizer(5, 10) sizer.Add(label, wx.GBPosition(0, 0), wx.GBSpan(1, 1)) sizer.Add(self.data, wx.GBPosition(0, 1), wx.GBSpan(1, 9), wx.EXPAND | wx.ALL, 1) sizer.Add(self.list, wx.GBPosition(1, 1), wx.GBSpan(1, 9), wx.EXPAND | wx.ALL, 1) sizer.AddGrowableRow(1) sizer.AddGrowableCol(1) panel.SetSizerAndFit(sizer) self.Bind(wx.EVT_LISTBOX, self._lb_on_click, self.list) self.data.Bind(wx.EVT_SET_FOCUS, self._txt_on_focus) return panel
def _AppendSpacer(self, sizer: wx.Sizer, height: int): """Append a horizontal spacer with the given height. Note: The VGAP value still applies, i.e. there is an additional gap between the spacer and the next row. """ rows = sizer.GetRows() sizer.Add(0, height, wx.GBPosition(rows, 0), wx.GBSpan(1, 5))
def __init__(self, parent): wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=u"Background Logging", pos=wx.DefaultPosition, size=wx.Size(500, 300), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) self.SetSizeHintsSz(wx.DefaultSize, wx.DefaultSize) sizer = wx.BoxSizer(wx.VERTICAL) gb_sizer = wx.GridBagSizer(5, 5) gb_sizer.SetFlexibleDirection(wx.BOTH) gb_sizer.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) list_boxChoices = [] self.list_box = wx.ListBox(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, list_boxChoices, 0) gb_sizer.Add(self.list_box, wx.GBPosition(0, 0), wx.GBSpan(1, 1), wx.EXPAND, 0) self.button = wx.Button(self, wx.ID_ANY, u"Run", wx.DefaultPosition, wx.DefaultSize, 0) gb_sizer.Add(self.button, wx.GBPosition(1, 0), wx.GBSpan(1, 1), wx.EXPAND, 0) gb_sizer.AddGrowableCol(0) gb_sizer.AddGrowableRow(0) sizer.Add(gb_sizer, 1, wx.EXPAND | wx.ALL, 5) self.SetSizer(sizer) self.Layout() self.Centre(wx.BOTH) # Connect Events self.button.Bind(wx.EVT_BUTTON, self.on_run) self.model = WatchableDict() self.model["logs"] = [] pywatch.wx.ItemContainerItemWatcher(self.list_box, self.model, "logs")
def __init__(self): style = (wx.CLIP_CHILDREN | wx.STAY_ON_TOP | wx.FRAME_NO_TASKBAR | wx.BORDER_NONE | wx.FRAME_SHAPED) wx.Frame.__init__(self, None, title='Tera DPS', style=style) self.config = wx.Config('Tera DPS') self.panels = [] self.radius = 12 self.pin = True self.d_w, self.d_h = wx.DisplaySize() self.SetSize((250, 0)) x = self.config.ReadInt('x') y = self.config.ReadInt('y') self.SetPosition((x if x else self.d_w - self.GetSizeTuple()[0] - 10, y if y else 10)) self.SetBackgroundColour('#000000') self.SetForegroundColour('#FFFFFF') self.SetFont( wx.Font(9, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD)) self.Bind(wx.EVT_CLOSE, self.OnClose) self.Bind(wx.EVT_KEY_UP, self.OnKeyUp) gbSizer = wx.GridBagSizer() gbSizer.AddGrowableCol(0) self.menu_bar = CustomMenuBar(self) gbSizer.Add(self.menu_bar, wx.GBPosition(len(self.panels), 0), wx.GBSpan(1, 1), wx.EXPAND | wx.ALL, 0) self.panels.append(self.menu_bar) self.panel_config = PanelConfig(self) gbSizer.Add(self.panel_config, wx.GBPosition(len(self.panels), 0), wx.GBSpan(1, 1), wx.EXPAND | wx.ALL, 0) self.panels.append(self.panel_config) self.SetSizer(gbSizer) self.UpdateSize() self.SetTransparent(self.panel_config.slider.GetValue()) self.Show(True) self.menu_bar.btn_pin.SetChecked(True) self.menu_bar.btn_config.SetChecked(False) self.SetFocus() self.tbIcon = TrayIcon(self)
def __init__( self, parent ): wx.Dialog.__init__ ( self, parent, id = wx.ID_ANY, title = u"Eliminar una ruta", pos = wx.DefaultPosition, size = wx.Size( 438,176 ), style = wx.DEFAULT_DIALOG_STYLE ) self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize ) self.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_HIGHLIGHTTEXT ) ) gbSizer1 = wx.GridBagSizer( 0, 0 ) gbSizer1.SetFlexibleDirection( wx.BOTH ) gbSizer1.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED ) sbSizer1 = wx.StaticBoxSizer( wx.StaticBox( self, wx.ID_ANY, wx.EmptyString ), wx.VERTICAL ) gbSizer2 = wx.GridBagSizer( 0, 0 ) gbSizer2.SetFlexibleDirection( wx.BOTH ) gbSizer2.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED ) self.m_staticText1 = wx.StaticText( self, wx.ID_ANY, u"Nombre: ", wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticText1.Wrap( -1 ) self.m_staticText1.SetFont( wx.Font( 11, 70, 90, 90, False, wx.EmptyString ) ) gbSizer2.Add( self.m_staticText1, wx.GBPosition( 0, 0 ), wx.GBSpan( 1, 1 ), wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self.tc_nombre = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 200,-1 ), wx.TE_READONLY ) self.tc_nombre.SetMaxLength( 20 ) self.tc_nombre.SetFont( wx.Font( 11, 70, 90, 90, False, wx.EmptyString ) ) gbSizer2.Add( self.tc_nombre, wx.GBPosition( 0, 1 ), wx.GBSpan( 1, 1 ), wx.ALL, 5 ) self.m_staticText2 = wx.StaticText( self, wx.ID_ANY, u"Día:", wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticText2.Wrap( -1 ) self.m_staticText2.SetFont( wx.Font( 11, 70, 90, 90, False, wx.EmptyString ) ) gbSizer2.Add( self.m_staticText2, wx.GBPosition( 0, 2 ), wx.GBSpan( 1, 1 ), wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self.tc_orden = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 50,-1 ), wx.TE_READONLY ) self.tc_orden.SetMaxLength( 2 ) self.tc_orden.SetFont( wx.Font( 11, 70, 90, 90, False, wx.EmptyString ) ) self.tc_orden.SetToolTipString( u"Día en que se recorrerá la ruta." ) gbSizer2.Add( self.tc_orden, wx.GBPosition( 0, 3 ), wx.GBSpan( 1, 1 ), wx.ALL, 5 ) sbSizer1.Add( gbSizer2, 1, wx.EXPAND, 5 ) gbSizer1.Add( sbSizer1, wx.GBPosition( 0, 0 ), wx.GBSpan( 1, 4 ), wx.EXPAND|wx.TOP|wx.LEFT, 20 ) self.btn_cancelar = wx.Button( self, wx.ID_CANCEL, u"Cancelar", wx.DefaultPosition, wx.DefaultSize, 0 ) self.btn_cancelar.SetFont( wx.Font( 11, 70, 90, 90, False, wx.EmptyString ) ) gbSizer1.Add( self.btn_cancelar, wx.GBPosition( 1, 3 ), wx.GBSpan( 1, 1 ), wx.ALIGN_RIGHT|wx.TOP|wx.BOTTOM|wx.LEFT, 20 ) self.btn_aceptar = wx.Button( self, wx.ID_OK, u"Eliminar", wx.DefaultPosition, wx.DefaultSize, 0 ) self.btn_aceptar.SetFont( wx.Font( 11, 70, 90, 92, False, wx.EmptyString ) ) gbSizer1.Add( self.btn_aceptar, wx.GBPosition( 1, 2 ), wx.GBSpan( 1, 1 ), wx.ALL|wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT, 5 ) self.SetSizer( gbSizer1 ) self.Layout() self.Centre( wx.BOTH )
def create_grid(self, count): for x in range(0, count): self.cells.append([]) for y in range(0, count + 1): element = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(50, -1), 0) self.gbSizer1.Add(element, wx.GBPosition(1 + x, 1 + y), wx.GBSpan(1, 1), wx.ALL, 5) self.cells[x].append(element) self.Layout()
def __init__(self, parent): wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=u"Background Task", pos=wx.DefaultPosition, size=wx.Size(500, 300), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) self.SetSizeHintsSz(wx.DefaultSize, wx.DefaultSize) sizer = wx.BoxSizer(wx.VERTICAL) gb_sizer = wx.GridBagSizer(5, 5) gb_sizer.SetFlexibleDirection(wx.BOTH) gb_sizer.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) self.gauge = wx.Gauge(self, wx.ID_ANY, 10**3, wx.DefaultPosition, wx.DefaultSize, wx.GA_HORIZONTAL) self.gauge.SetValue(0) gb_sizer.Add(self.gauge, wx.GBPosition(0, 0), wx.GBSpan(1, 1), wx.EXPAND, 0) self.button = wx.Button(self, wx.ID_ANY, u"Run", wx.DefaultPosition, wx.DefaultSize, 0) gb_sizer.Add(self.button, wx.GBPosition(1, 0), wx.GBSpan(1, 1), wx.EXPAND, 0) gb_sizer.AddGrowableCol(0) sizer.Add(gb_sizer, 1, wx.EXPAND | wx.ALL, 5) self.SetSizer(sizer) self.Layout() self.Centre(wx.BOTH) # Connect Events self.button.Bind(wx.EVT_BUTTON, self.on_run) self.model = WatchableDict() self.model["complete"] = 0 pywatch.wx.ValueWatcher(self.gauge, self.model, "complete")
def GridAdd(self, win, row, col, row_span=1, col_span=1): """ Add a window to the wx grid at the given position. @param win the wx window @param row the row specification (integer >= 0) @param col the column specification (integer >= 0) @param row_span the row span specification (integer >= 1) @param col_span the column span specification (integer >= 1) """ self._grid.Add(win, wx.GBPosition(row, col), wx.GBSpan(row_span, col_span), wx.EXPAND)
def __init__(self, parent=None): wx.Panel.__init__(self, parent, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) self.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_3DLIGHT)) bSizer8 = wx.BoxSizer(wx.VERTICAL) """""" self.scrolledWindow = wx.ScrolledWindow(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.HSCROLL | wx.VSCROLL) self.scrolledWindow.SetScrollRate(5, 5) scrollPanel = self.scrolledWindow # scrollPanel 的布局,元素为显示的控件 self.gbSizer = wx.GridBagSizer(5, 5) self.gbSizer.SetFlexibleDirection(wx.BOTH) self.gbSizer.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) self.m_grid4 = wx.grid.Grid(scrollPanel, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0) # Grid self.m_grid4.CreateGrid(5, 4) self.m_grid4.EnableEditing(True) self.m_grid4.EnableGridLines(True) self.m_grid4.EnableDragGridSize(False) self.m_grid4.SetMargins(0, 0) # Columns self.m_grid4.EnableDragColMove(False) self.m_grid4.EnableDragColSize(True) self.m_grid4.SetColLabelSize(30) self.m_grid4.SetColLabelAlignment(wx.ALIGN_CENTRE, wx.ALIGN_CENTRE) self.m_grid4.SetColLabelValue(0, "模型名称") self.m_grid4.SetColLabelValue(1, "参数名称") self.m_grid4.SetColLabelValue(2, "分布类型") self.m_grid4.SetColLabelValue(3, "分布参数") # Rows self.m_grid4.EnableDragRowSize(True) self.m_grid4.SetRowLabelSize(80) self.m_grid4.SetRowLabelAlignment(wx.ALIGN_CENTRE, wx.ALIGN_CENTRE) # Cell Defaults self.m_grid4.SetDefaultCellAlignment(wx.ALIGN_LEFT, wx.ALIGN_TOP) self.gbSizer.Add(self.m_grid4, wx.GBPosition(3, 4), wx.GBSpan(1, 3), wx.ALL, 5) self.SetSizer(bSizer8) self.Layout() self.Centre(wx.BOTH)
def __init__(self, parent): wx.Panel.__init__(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.Size(1220, 529), style=wx.TAB_TRAVERSAL) gbSizer1 = wx.GridBagSizer(0, 0) gbSizer1.SetFlexibleDirection(wx.BOTH) gbSizer1.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) self.m_staticText3 = wx.StaticText(self, wx.ID_ANY, _(u"MyLabel"), wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText3.Wrap(-1) gbSizer1.Add(self.m_staticText3, wx.GBPosition(0, 0), wx.GBSpan(1, 1), wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5) #self.m_animCtrl3 = wx.animate.AnimationCtrl( self, wx.ID_ANY, wx.animate.NullAnimation, wx.DefaultPosition, wx.DefaultSize, wx.animate.AC_DEFAULT_STYLE ) #gbSizer1.Add( self.m_animCtrl3, wx.GBPosition( 0, 1 ), wx.GBSpan( 1, 1 ), wx.ALL, 5 ) self.m_bitmap4 = wx.StaticBitmap(self, wx.ID_ANY, wx.NullBitmap, wx.DefaultPosition, wx.DefaultSize, 0) gbSizer1.Add(self.m_bitmap4, wx.GBPosition(0, 2), wx.GBSpan(1, 1), wx.ALL, 5) self.m_textCtrl4 = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) gbSizer1.Add(self.m_textCtrl4, wx.GBPosition(0, 3), wx.GBSpan(1, 1), wx.ALL, 5) self.m_staticText6 = wx.StaticText(self, wx.ID_ANY, _(u"MyLabel"), wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText6.Wrap(-1) gbSizer1.Add(self.m_staticText6, wx.GBPosition(0, 4), wx.GBSpan(1, 1), wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_CENTER_HORIZONTAL, 5) self.SetSizer(gbSizer1) self.Layout()
def __init__(self, parent): wx.Frame.__init__(self, parent, id=wx.ID_ANY, title='Recognition-For Import List', pos=wx.DefaultPosition, size=wx.Size(530, 520), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) self.SetSizeHintsSz(wx.DefaultSize, wx.DefaultSize) gbSizer1 = wx.GridBagSizer(0, 0) gbSizer1.SetFlexibleDirection(wx.BOTH) gbSizer1.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) try: image_file = 'background.jpg' to_bmp_image = wx.Image(image_file, wx.BITMAP_TYPE_ANY).ConvertToBitmap() self.bitmap = wx.StaticBitmap(self, -1, to_bmp_image, (0, 0)) image_width = to_bmp_image.GetWidth() image_height = to_bmp_image.GetHeight() set_title = '%s %d x %d' % (image_file, to_bmp_image.GetWidth(), to_bmp_image.GetHeight()) except IOError: print('Image file %s not found' % image_file) raise SystemExit self.choose_input = wx.Button(self.bitmap, wx.ID_ANY, u"选择文件夹", wx.DefaultPosition, wx.DefaultSize, 0) gbSizer1.Add(self.choose_input, wx.GBPosition(0, 0), wx.GBSpan(1, 1), wx.ALL, 5) self.BothStart = wx.Button(self.bitmap, wx.ID_ANY, u"开始", wx.DefaultPosition, wx.DefaultSize, 0) gbSizer1.Add(self.BothStart, wx.GBPosition(0, 2), wx.GBSpan(1, 1), wx.ALL, 5) self.m_gauge2 = wx.Gauge(self.bitmap, wx.ID_ANY, 100, wx.DefaultPosition, wx.DefaultSize, wx.GA_HORIZONTAL) self.m_gauge2.Pulse() gbSizer1.Add(self.m_gauge2, wx.GBPosition(2, 1), wx.GBSpan(1, 1), wx.ALL, 5) self.SetSizer(gbSizer1) self.Layout() self.Centre(wx.BOTH)
def __init__(self, parent): wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=wx.EmptyString, pos=wx.DefaultPosition, size=wx.Size(500, 300), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) self.SetSizeHintsSz(wx.DefaultSize, wx.DefaultSize) gbSizer3 = wx.GridBagSizer(0, 0) gbSizer3.SetFlexibleDirection(wx.BOTH) gbSizer3.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) self.m_button1 = wx.Button(self, wx.ID_ANY, u"MyButton", wx.Point(-1, -1), wx.DefaultSize, 0) gbSizer3.Add(self.m_button1, wx.GBPosition(0, 0), wx.GBSpan(1, 1), wx.ALL | wx.EXPAND, 5) self.m_button2 = wx.Button(self, wx.ID_ANY, u"MyButton", wx.DefaultPosition, wx.DefaultSize, 0) gbSizer3.Add(self.m_button2, wx.GBPosition(0, 1), wx.GBSpan(1, 1), wx.ALL, 5) self.m_bpButton1 = wx.BitmapButton(self, wx.ID_ANY, wx.NullBitmap, wx.DefaultPosition, wx.DefaultSize, wx.BU_AUTODRAW) gbSizer3.Add(self.m_bpButton1, wx.GBPosition(0, 23), wx.GBSpan(1, 1), wx.ALL, 5) self.SetSizer(gbSizer3) self.Layout() self.Centre(wx.BOTH) self.Show() # funcao_test() # sat.consultar_sat() sale_data = SaleData()
def __init__( self, parent ): wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = wx.EmptyString, pos = wx.DefaultPosition, size = wx.Size( 387,180 ), style = wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL ) self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize ) bSizer1 = wx.BoxSizer( wx.VERTICAL ) self.m_staticText1 = wx.StaticText( self, wx.ID_ANY, u"MyLabel", wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticText1.Wrap( -1 ) bSizer1.Add( self.m_staticText1, 0, wx.ALL, 5 ) gbSizer4 = wx.GridBagSizer( 0, 0 ) gbSizer4.SetFlexibleDirection( wx.BOTH ) gbSizer4.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED ) self.buttonLast = wx.Button( self, wx.ID_ANY, u"MyButton", wx.DefaultPosition, wx.DefaultSize, 0 ) gbSizer4.Add( self.buttonLast, wx.GBPosition( 0, 0 ), wx.GBSpan( 1, 1 ), wx.ALL, 5 ) self.buttonKnown = wx.Button( self, wx.ID_ANY, u"MyButton", wx.DefaultPosition, wx.DefaultSize, 0 ) gbSizer4.Add( self.buttonKnown, wx.GBPosition( 0, 1 ), wx.GBSpan( 1, 1 ), wx.ALL, 5 ) self.buttonNext = wx.Button( self, wx.ID_ANY, u"MyButton", wx.DefaultPosition, wx.DefaultSize, 0 ) gbSizer4.Add( self.buttonNext, wx.GBPosition( 0, 2 ), wx.GBSpan( 1, 1 ), wx.ALL, 5 ) bSizer1.Add( gbSizer4, 1, wx.SHAPED, 5 ) self.buttonMad = wx.Button( self, wx.ID_ANY, u"MyButton", wx.DefaultPosition, wx.DefaultSize, 0 ) bSizer1.Add( self.buttonMad, 0, wx.ALL, 5 ) self.SetSizer( bSizer1 ) self.Layout() self.Centre( wx.BOTH ) # Connect Events self.buttonLast.Bind( wx.EVT_BUTTON, self.buttonLastOnButtonClick ) self.buttonKnown.Bind( wx.EVT_BUTTON, self.buttonKnownOnButtonClick ) self.buttonNext.Bind( wx.EVT_BUTTON, self.buttonNextOnButtonClick ) self.buttonMad.Bind( wx.EVT_BUTTON, self.buttonMadOnButtonClick )
def __init__( self, parent ): wx.Panel.__init__ ( self, parent, id = wx.ID_ANY, pos = wx.DefaultPosition, size = wx.Size( 500,300 ), style = wx.TAB_TRAVERSAL ) self.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_HIGHLIGHTTEXT ) ) gbSizer1 = wx.GridBagSizer( 0, 0 ) gbSizer1.SetFlexibleDirection( wx.BOTH ) gbSizer1.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED ) sbSizer1 = wx.StaticBoxSizer( wx.StaticBox( self, wx.ID_ANY, wx.EmptyString ), wx.VERTICAL ) gbSizer2 = wx.GridBagSizer( 0, 0 ) gbSizer2.SetFlexibleDirection( wx.BOTH ) gbSizer2.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED ) self.btn_campanias = wx.Button( self, wx.ID_ANY, u"Campañas", wx.DefaultPosition, wx.Size( 100,30 ), 0 ) self.btn_campanias.SetFont( wx.Font( 11, 70, 90, 90, False, wx.EmptyString ) ) gbSizer2.Add( self.btn_campanias, wx.GBPosition( 0, 0 ), wx.GBSpan( 1, 1 ), wx.ALL, 5 ) self.btn_usuarios = wx.Button( self, wx.ID_ANY, u"Usuarios", wx.DefaultPosition, wx.Size( 100,30 ), 0 ) self.btn_usuarios.SetFont( wx.Font( 11, 70, 90, 90, False, wx.EmptyString ) ) gbSizer2.Add( self.btn_usuarios, wx.GBPosition( 0, 1 ), wx.GBSpan( 1, 1 ), wx.ALL, 5 ) self.btn_clientes = wx.Button( self, wx.ID_ANY, u"Clientes", wx.DefaultPosition, wx.Size( 100,30 ), 0 ) self.btn_clientes.SetFont( wx.Font( 11, 70, 90, 90, False, wx.EmptyString ) ) gbSizer2.Add( self.btn_clientes, wx.GBPosition( 0, 2 ), wx.GBSpan( 1, 1 ), wx.ALL, 5 ) self.btn_rutas = wx.Button( self, wx.ID_ANY, u"Rutas", wx.DefaultPosition, wx.Size( 100,30 ), 0 ) self.btn_rutas.SetFont( wx.Font( 11, 70, 90, 90, False, wx.EmptyString ) ) gbSizer2.Add( self.btn_rutas, wx.GBPosition( 0, 3 ), wx.GBSpan( 1, 1 ), wx.ALL, 5 ) sbSizer1.Add( gbSizer2, 1, wx.EXPAND, 5 ) gbSizer1.Add( sbSizer1, wx.GBPosition( 0, 0 ), wx.GBSpan( 1, 1 ), wx.EXPAND|wx.TOP|wx.LEFT, 10 ) sbSizer2 = wx.StaticBoxSizer( wx.StaticBox( self, wx.ID_ANY, u"Reportes" ), wx.VERTICAL ) gbSizer3 = wx.GridBagSizer( 0, 0 ) gbSizer3.SetFlexibleDirection( wx.BOTH ) gbSizer3.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED ) self.btn_historial = wx.Button( self, wx.ID_ANY, u"Historial de Clientes", wx.DefaultPosition, wx.Size( 160,30 ), 0 ) self.btn_historial.SetFont( wx.Font( 11, 70, 90, 90, False, wx.EmptyString ) ) gbSizer3.Add( self.btn_historial, wx.GBPosition( 0, 0 ), wx.GBSpan( 1, 1 ), wx.ALL, 5 ) sbSizer2.Add( gbSizer3, 1, wx.EXPAND, 5 ) gbSizer1.Add( sbSizer2, wx.GBPosition( 1, 0 ), wx.GBSpan( 1, 1 ), wx.EXPAND|wx.TOP|wx.LEFT, 10 ) self.SetSizer( gbSizer1 ) self.Layout()
def GridAdd(self, win, row, col, row_span=1, col_span=1): """ Add a window to the wx grid at the given position. Args: win: the wx window row: the row specification (integer >= 0) col: the column specification (integer >= 0) row_span: the row span specification (integer >= 1) col_span: the column span specification (integer >= 1) """ self._grid.Add(win, wx.GBPosition(row, col), wx.GBSpan(row_span, col_span), wx.EXPAND)
def ToggleEditPanel(self, evt): sizer = self.GetSizer() if self.edit_panel.IsShown(): sizer.Detach(self.edit_panel) sizer.SetItemSpan(self.canvas, wx.GBSpan(1, 2)) self.edit_panel.Hide() else: sizer.SetItemSpan(self.canvas, wx.GBSpan(1, 1)) sizer.Add(self.edit_panel, wx.GBPosition(1, 2), flag=wx.EXPAND) self.edit_panel.Show() self.Layout()
def __init__(self, parent): wx.Panel.__init__(self, parent) self.MAX_SIZE = (128, 128) # Controls self.img_icon = wx.StaticBitmap(self, size=self.MAX_SIZE) description = wx.StaticText( self, label="Images will be scaled to fit inside a %ix%i box." % self.MAX_SIZE) btn_select = wx.Button(self, wx.ID_OPEN) btn_clear = wx.Button(self, wx.ID_CLEAR) self.Bind(wx.EVT_BUTTON, self._btn_select_on_click, btn_select) self.Bind(wx.EVT_BUTTON, self._btn_clear_on_click, btn_clear) # Layout sizer = wx.GridBagSizer(5, 5) sizer.Add(description, wx.GBPosition(0, 0), wx.GBSpan(1, 2)) sizer.Add(btn_select, wx.GBPosition(1, 0), wx.GBSpan(1, 1)) sizer.Add(btn_clear, wx.GBPosition(1, 1), wx.GBSpan(1, 1)) sizer.Add(self.img_icon, wx.GBPosition(0, 2), wx.GBSpan(2, 1)) self.SetSizerAndFit(sizer) # Data self.bmp = None
def setModeltag(show_panel, n_id): show_panel.bSSizer = wx.BoxSizer(wx.VERTICAL) modelinfo = Sql.selectSql(args=(n_id, ), sql=Sql.selectModel) show_panel.tagPanel = wx.Panel(show_panel, wx.ID_ANY, wx.DefaultPosition, (-1, 20), wx.TAB_TRAVERSAL) static_text = wx.StaticText(show_panel.tagPanel, wx.ID_ANY, u'当前模型:', (0, 0), wx.DefaultSize, 0) static_text1 = wx.StaticText(show_panel.tagPanel, wx.ID_ANY, modelinfo[0][0], (80, 0), wx.DefaultSize, 0) static_text.SetFont(wx.Font(10.5, 70, 90, 92, False, "宋体")) show_panel.bSSizer.Add(show_panel.tagPanel, 0, wx.EXPAND | wx.ALL, 2) show_panel.gbSizer.Add(show_panel.bSSizer, wx.GBPosition(0, 0), wx.GBSpan(1, 5), wx.EXPAND | wx.ALL, 0)
def __init__( self, parent ): wx.Panel.__init__ ( self, parent, id = wx.ID_ANY, pos = wx.DefaultPosition, size = wx.Size( 500,300 ), style = wx.TAB_TRAVERSAL ) self.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_WINDOWFRAME ) ) bSizer30 = wx.BoxSizer( wx.VERTICAL ) choicePortChoices = [] self.choicePort = wx.Choice( self, wx.ID_ANY, wx.DefaultPosition, wx.Size( 150,-1 ), choicePortChoices, 0 ) self.choicePort.SetSelection( 0 ) bSizer30.Add( self.choicePort, 0, 0, 5 ) self.logwindow = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.TE_MULTILINE|wx.TE_READONLY ) self.logwindow.SetFont( wx.Font( 10, 70, 90, 90, False, wx.EmptyString ) ) self.logwindow.SetForegroundColour( wx.Colour( 255, 255, 255 ) ) self.logwindow.SetBackgroundColour( wx.Colour( 0, 0, 0 ) ) bSizer30.Add( self.logwindow, 1, wx.EXPAND, 5 ) gbSizer2 = wx.GridBagSizer( 0, 0 ) gbSizer2.AddGrowableCol( 0 ) gbSizer2.SetFlexibleDirection( wx.BOTH ) gbSizer2.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED ) self.debuggingLine = wx.TextCtrl( self, wx.ID_ANY, _(">>>"), wx.DefaultPosition, wx.DefaultSize, 0 ) self.debuggingLine.SetFont( wx.Font( 10, 76, 90, 90, False, "Monospace" ) ) self.debuggingLine.SetForegroundColour( wx.Colour( 255, 255, 255 ) ) self.debuggingLine.SetBackgroundColour( wx.Colour( 0, 0, 0 ) ) gbSizer2.Add( self.debuggingLine, wx.GBPosition( 0, 0 ), wx.GBSpan( 1, 1 ), wx.EXPAND, 5 ) self.buttonSendDebug = wx.Button( self, wx.ID_ANY, _("Send"), wx.DefaultPosition, wx.DefaultSize, 0 ) gbSizer2.Add( self.buttonSendDebug, wx.GBPosition( 0, 1 ), wx.GBSpan( 1, 1 ), 0, 5 ) bSizer30.Add( gbSizer2, 0, wx.EXPAND, 5 ) self.SetSizer( bSizer30 ) self.Layout()
def InitUI(self): # 控件 logo_bm = wx.StaticBitmap(self, wx.ID_ANY, images.tee.GetBitmap()) sysname_lb = wx.StaticText(self, wx.ID_ANY, u"牙科物品出入库管理系统") sysname_lb.SetFont(wx.Font(18, 70, 90, 92, False, wx.EmptyString)) account_lb = wx.StaticText(self, wx.ID_ANY, u"账户:") password_lb = wx.StaticText(self, wx.ID_ANY, u"密码:") version_lb = wx.StaticText(self, wx.ID_ANY, u"v1.0 Created By crazeblade,20190512") self.account_tc = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, size=(150, -1)) self.account_tc.SetMaxLength(15) self.password_tc = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, size=(150, -1), style=wx.TE_PASSWORD) self.password_tc.SetMaxLength(15) logon_btn = wx.Button(self, wx.ID_ANY, '登录') self.Bind(wx.EVT_BUTTON, self.OnLogin, logon_btn) # 布局 bSizer = wx.BoxSizer(wx.VERTICAL) gbSizer = wx.GridBagSizer(20, 10) gbSizer.SetFlexibleDirection(wx.BOTH) gbSizer.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) gbSizer.Add(logo_bm, wx.GBPosition(1, 1), wx.GBSpan(4, 1), wx.ALL, 5) gbSizer.Add(sysname_lb, wx.GBPosition(1, 2), wx.GBSpan(1, 2), wx.ALL, 5) gbSizer.Add(account_lb, wx.GBPosition(2, 2), wx.GBSpan(1, 1), wx.ALL, 5) gbSizer.Add(self.account_tc, wx.GBPosition(2, 3), wx.GBSpan(1, 1), wx.ALL, 5) gbSizer.Add(password_lb, wx.GBPosition(3, 2), wx.GBSpan(1, 1), wx.ALL, 5) gbSizer.Add(self.password_tc, wx.GBPosition(3, 3), wx.GBSpan(1, 1), wx.ALL, 5) gbSizer.Add(logon_btn, wx.GBPosition(4, 3), wx.GBSpan(1, 1), wx.ALL, 5) gbSizer.AddGrowableRow(4) bSizer.Add(gbSizer, 1, wx.EXPAND, 5) bSizer.Add(version_lb, 0, wx.ALIGN_RIGHT | wx.ALL, 5) self.SetSizer(bSizer)
def initFigure(self, flag=1): # self.button_1a.Disable() global sym1 # print 'self.sym: '%(self.sym) # print 'sym1: %d'%(sym1) show_panel = self.show_panel # 清空panel for child in show_panel.GetChildren(): child.Destroy() sizer = self.show_panel.GetSizer() # sizer.Remove(self.grid_out) self.grid_out = wx.grid.Grid(show_panel) # self.sw = csw(show_panel) if (flag == 1): self.figure = Figure() self.axes = self.figure.add_subplot(111) self.figure2 = Figure() self.axes2 = self.figure2.add_subplot(111) # self.axes.set(xlabel='Number of iterations', ylabel='Consistency measure', title='Iterative metric trends') self.canvas = FigureCanvas(show_panel, -1, self.figure) self.canvas2 = FigureCanvas(show_panel, -1, self.figure2) self.canvas.SetMinSize((460, 250)) self.canvas.SetMaxSize((460, 250)) self.canvas2.SetMinSize((460, 250)) self.canvas2.SetMaxSize((460, 250)) sizer.Add(self.canvas, wx.GBPosition(2, 4), wx.GBSpan(1, 1), wx.ALL, 5) sizer.Add(self.canvas2, wx.GBPosition(2, 5), wx.GBSpan(1, 1), wx.ALL, 5) sizer.Add(self.grid_out, wx.GBPosition(1, 4), wx.GBSpan(1, 2), wx.ALL, 5)
def __do_layout(self): # do the device configuration fgs1 = wx.FlexGridSizer(2, 1, 5, 5) fgs2 = wx.FlexGridSizer(2, 2, 3, 3) gbs = wx.GridBagSizer(5, 5) gs1 = wx.GridSizer(1, 2, 0, 0) gs2 = wx.GridSizer(3, 2, 0, 0) sbs1 = wx.StaticBoxSizer(self.sb1, wx.HORIZONTAL) sbs2 = wx.StaticBoxSizer(self.sb2, wx.HORIZONTAL) sbs3 = wx.StaticBoxSizer(self.sb3, wx.HORIZONTAL) gbs.Add(self._units, wx.GBPosition(0, 0), wx.GBSpan(3, 1)) gbs.Add(self._connection, wx.GBPosition(1, 1), wx.GBSpan(4, 1)) gbs.Add(self._timezone, wx.GBPosition(3, 0), wx.GBSpan(3, 1)) fgs2.Add(self.__lblSerialDev, 0, wx.ALIGN_CENTER_VERTICAL, 0) fgs2.Add(self._devName, 0, wx.EXPAND, 0) fgs2.Add(self.__lblSerialRate, 0, wx.ALIGN_CENTER_VERTICAL, 0) fgs2.Add(self._serialRate, 0, wx.EXPAND, 0) sbs1.Add(fgs2, 1, wx.EXPAND, 0) gbs.Add(sbs1, wx.GBPosition(2, 2), wx.GBSpan(2, 1), wx.EXPAND) gbs.Add(self._compass, wx.GBPosition(6, 0), wx.GBSpan(3, 1)) gs1.Add(self.__lblSimulator, 0, wx.ALIGN_CENTER_VERTICAL, 0) gs1.Add(self._sim, 0, wx.EXPAND, 0) sbs2.Add(gs1, 1, wx.EXPAND, 0) gbs.Add(sbs2, wx.GBPosition(4, 2), wx.GBSpan(1, 1), wx.EXPAND) gs2.Add(self.__lblusbMan, 0, wx.ALIGN_CENTER_VERTICAL, 0) gs2.Add(self._usbMan, 0, wx.EXPAND, 0) gs2.Add(self.__lblusbProd, 0, wx.ALIGN_CENTER_VERTICAL, 0) gs2.Add(self._usbProd, 0, wx.EXPAND, 0) gs2.Add(self.__lblusbPoll, 0, wx.ALIGN_CENTER_VERTICAL, 0) gs2.Add(self._usbPoll, 0, wx.EXPAND, 0) sbs3.Add(gs2, 1, wx.EXPAND, 0) gbs.Add(sbs3, wx.GBPosition(5, 2), wx.GBSpan(3, 1), wx.EXPAND) self.__device.SetSizer(gbs) # do the window configuration gs3 = wx.GridSizer(1, 1, 10, 10) gs4 = wx.GridSizer(3, 1, 10, 10) sbs4 = wx.StaticBoxSizer(self.__assb, wx.HORIZONTAL) gs4.Add(self._autoCompass, flag=wx.EXPAND) gs4.Add(self._autoMap, flag=wx.EXPAND) gs4.Add(self._autoStatus, flag=wx.EXPAND) sbs4.Add(gs4, 1, wx.EXPAND) gs3.Add(sbs4, 0, wx.EXPAND) self.__window.SetSizer(gs3) # do the full window self.__notebook.AddPage(self.__device, "Device") self.__notebook.AddPage(self.__window, "Window") fgs1.Add(self.__notebook, 1, wx.EXPAND, 0) fgs1.Add(self._lock, 0, wx.ALIGN_RIGHT, 0) self.SetSizer(fgs1) fgs1.Fit(self) fgs1.AddGrowableRow(0) fgs1.AddGrowableCol(0) return
def build(self): gbs = wx.GridBagSizer(2, 1) mainPanel = wx.Panel(self) mainPanel.SetSizer(gbs) gbs.Add( ImagePanel(mainPanel), wx.GBPosition(0,0), wx.GBSpan(1, 1), flag=wx.EXPAND ) gbs.Add( ButtonsPanel(mainPanel), wx.GBPosition(1,0), wx.GBSpan(1,1), flag=wx.EXPAND ) gbs.AddGrowableCol(0, 1) gbs.AddGrowableRow(0, 1) gbs.Fit(self)
def remove_measurement_row(self, measurement_row, remove_button): if measurement_row in self.measurement_rows: idx = self.measurement_rows.index(measurement_row) measurement_row.destroy(self.m_grid) self.m_grid.Remove(remove_button) remove_button.Destroy() self.measurement_rows.remove(measurement_row) for ii in range(idx, len(self.measurement_rows)): for j in (C_CHOOSER, C_COLOR, C_SHOW, C_REMOVE): item = self.m_grid.FindItemAtPosition( wx.GBPosition(ii + 1, j)) self.m_grid.SetItemPosition(item, (ii, j)) self.layout() self.redraw()
def AddNext(self, ctrl, *args, **kwargs): # Handle the arguments, including giving everything a top padding of 6 pixels. if "flag" in kwargs: kwargs["flag"] = kwargs["flag"] | wx.ALIGN_CENTER_VERTICAL | wx.TOP else: kwargs["flag"] = wx.ALIGN_CENTER_VERTICAL | wx.TOP kwargs["border"] = 6 # Add the item. self.Parent.Sizer.Add(ctrl, wx.GBPosition(self.Row, self.Column), *args, **kwargs) # Increment the column count by the number of columns the item spans. self.Column += self.Parent.Sizer.GetItemSpan(ctrl)[1]
def __init__(self, parent): super(View, self).__init__(parent) #bbox = wx.BoxSizer(wx.VERTICAL) box = wx.GridBagSizer(10, 10) self.loginEntry = wx.TextCtrl(self, value="", style=wx.wx.TE_LEFT | wx.TE_PROCESS_ENTER) self.serveurEntry = wx.TextCtrl(self, value="", style=wx.wx.TE_LEFT | wx.TE_PROCESS_ENTER) self.buttonEnter = wx.ToggleButton(self, label="Entrer", id=wx.ID_ANY) self.buttonQuit = wx.Button(self, label="Quitter", id=wx.ID_ANY) # self.parent.Bind(wx.EVT_CHAR,self.onTabLogin,source=self.loginEntry) # self.parent.Bind(wx.EVT_COMMAND_TEXT_ENTER,self.onEnterServeur,source=self.serveurEntry) # self.parent.Bind(wx.EVT_CHAR,self.onTabServeur,source=self.serveurEntry) loginLabel = wx.StaticText(self, label="Pseudo :") serveurLabel = wx.StaticText(self, label="Adresse du serveur : ") registerlabel = wx.StaticText(self, label="Mot de passe : ") self.registerEntry = wx.TextCtrl(self, value="", style=wx.wx.TE_LEFT | wx.TE_PROCESS_ENTER) #spanTwoCol = wx.GBSpan(1,2) box.Add(loginLabel, wx.GBPosition(1, 1)) box.Add(serveurLabel, wx.GBPosition(2, 1)) box.Add(registerlabel, wx.GBPosition(3, 1)) box.Add(self.registerEntry, wx.GBPosition(3, 2)) box.Add(self.loginEntry, wx.GBPosition(1, 2)) box.Add(self.serveurEntry, wx.GBPosition(2, 2)) box.Add(self.buttonQuit, wx.GBPosition(4, 1)) box.Add(self.buttonEnter, wx.GBPosition(4, 2)) # bbox.Add(box,proportion=1) # bbox.SetSizeHints(self) # self.Add(box,proportion=1) #self.SetSizeHints(self) #self.SetSizer(bbox) self.loginEntry.Bind(wx.EVT_TEXT_ENTER, self.onEnter) self.buttonQuit.Bind(wx.EVT_BUTTON, self.onQuit, id=self.buttonQuit.GetId()) self.buttonEnter.Bind(wx.EVT_TOGGLEBUTTON, self.onConnect, id=self.buttonEnter.GetId()) self.SetSizer(box) self.Show()
def draw_table(self, i, x, y): results = self.type_result[i] # size = self.ssize[i] size_of_par = self.size_of_par[i] grid = self.tables[i] grid.SetMaxSize(wx.Size(320, 360)) grid.SetMinSize(wx.Size(320, 360)) names = self.names[i] grid.CreateGrid(28, 13) grid.EnableEditing(True) grid.EnableGridLines(True) grid.EnableDragGridSize(False) grid.SetMargins(0, 0) # Columns grid.EnableDragColMove(False) grid.EnableDragColSize(True) grid.SetColLabelSize(30) grid.SetColLabelAlignment(wx.ALIGN_CENTRE, wx.ALIGN_CENTRE) i = 0 for namei in names: grid.SetColLabelValue(i, namei) i += 1 # 设置内容 # Rows grid.EnableDragRowSize(True) grid.SetRowLabelSize(80) grid.SetRowLabelAlignment(wx.ALIGN_CENTRE, wx.ALIGN_CENTRE) # Label Appearance # Cell Defaults grid.SetDefaultCellAlignment(wx.ALIGN_LEFT, wx.ALIGN_TOP) """"设置内容""" j = 0 for result in results: i = 0 for row in result: # 截段输出 numpy 抽样结果过长 grid.SetCellValue(i, j, str(("%.3f" % row))) i = i + 1 j += 1 self.gbSizer_show.Add(grid, wx.GBPosition(x, y), wx.GBSpan(1, 3), wx.ALL, 5) return y + size_of_par
def _recreate_dvl_data(self, show_header = True): """ DataViewListCtrls aren't fully dynamic, so I recreate them every time here See the same method in forms/frame_data.py for the same solution """ if self._dvl_data is not None: self._dvl_data.Destroy() style = wx.dataview.DV_ROW_LINES if not show_header: style = style | wx.dataview.DV_NO_HEADER self._dvl_data = wx.dataview.DataViewListCtrl(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, style) self._gbs_main.Add(self._dvl_data, wx.GBPosition(2, 0), wx.GBSpan(1, 1), wx.ALL | wx.EXPAND) self.Layout()