def _CreateUI(self): sizer = wx.BoxSizer(wx.VERTICAL) self._preview = wx.Control(self) self._preview.SetMinSize((-1, 10)) self._preview.SetBackgroundStyle(wx.BG_STYLE_PAINT) self._preview.Bind(wx.EVT_PAINT, self._PaintPreview) self._preview.Bind(wx.EVT_SIZE, lambda _: self._preview.Refresh()) sizer.Add(self._preview, 0, wx.EXPAND) self._pickers = [ColorPicker(self) for i in range(self._numstops)] self._pickers[0].Colour = wx.Colour(255, 255, 255) self._pickers[-1].Colour = wx.Colour(0, 0, 0) self._checks = [wx.CheckBox(self) for i in range(self._numstops)] self._pickers[self._numstops // 3].Colour = wx.YELLOW self._checks[self._numstops // 3].Value = True self._pickers[self._numstops // 3 * 2].Colour = wx.RED self._checks[self._numstops // 3 * 2].Value = True for i in (0, -1): self._checks[i].SetValue(True) self._checks[i].Disable() for i in range(self._numstops): self._pickers[i].Bind(EVT_COLOR_PICKER, self.OnColorPicked) for i in range(1, self._numstops - 1): self._checks[i].Bind(wx.EVT_CHECKBOX, self.OnCheckChanged) self._grid = wx.FlexGridSizer(2, self._numstops, 0, 1) for i in range(self._numstops): self._grid.AddGrowableCol(i, 1) self._grid.AddMany([(p, 1, wx.EXPAND) for p in self._pickers]) self._grid.AddMany([(c, 0, wx.ALIGN_CENTER) for c in self._checks]) sizer.Add(self._grid, 1, wx.EXPAND) self.SetSizer(sizer)
def __init__(self, parent, camera): super().__init__(parent, style=wx.BORDER_RAISED) self.camera = camera self.Sizer = wx.BoxSizer(wx.VERTICAL) self.button = EnableButton(self, self.camera) self.button.setState(self.camera.state) self.Sizer.Add(self.button, flag=wx.EXPAND) self.Sizer.AddSpacer(2) line_height = int(self.GetFont().GetFractionalPointSize() / 2.0) self.line = wx.Control(self, size=(-1, line_height)) self.line.SetBackgroundColour(wavelengthToColor(self.camera.wavelength or 0)) self.Sizer.Add(self.line, flag=wx.EXPAND) # If there are problems here, it's because the inline function below is # being called outside of the main thread and needs taking out and # wrapping with wx.CallAfter. camera.addWatch('wavelength', self.onWavelengthChange) self.Sizer.AddSpacer(2) if hasattr(camera, 'modes'): modebutton = wx.Button(parent, label='Mode') self.Sizer.Add(modebutton) if camera.callbacks.get('makeUI', None): self.Sizer.Add(camera.callbacks['makeUI'](self)) self.Sizer.AddSpacer(2)
def writing(self): self.xpb = pb.ProcessBar(None, '抽样中', 1000) # 循环抽样并写入所有的参数的抽样结果 生成抽样实验方案 self.count = 0 self.results = [] for p in self.param.para: self.get_Result_Of_Paras(self.count) self.count += 1 while (self.count <= 200): time.sleep(0.01) self.count += 1 self.xpb.SetProcess(self.count) self.SQLrun() self.xpb.SetProcess(self.count, 1) time.sleep(0.5) dlg = wx.MessageDialog(None, message='抽样完成!') dlg.ShowModal() # create event class # 创建用于展示结果的 事件 用来代替展示结果按键绑定的事件 使之能自动发起该事件 而不用 点击按键 ShowResultEvent, EVT_SHOW_RESULT = wx.lib.newevent.NewEvent() m_show = wx.Control() wx.PostEvent(m_show, ShowResultEvent()) m_show.Bind(EVT_SHOW_RESULT, self.show_result) self.Layout()
def __init__(self): super().__init__(None, wx.ID_ANY, 'Control example', wx.DefaultPosition, wx.Size(300, 300)) self.panel = wx.Panel(self) self.control1 = wx.Control(self.panel, wx.ID_ANY, wx.Point(50, 50), wx.Size(100, 50)) self.control1.SetBackgroundColour( wx.TheColourDatabase.Find("Spring Green")) self.control1.Bind(wx.EVT_LEFT_DOWN, self.OnControlLeftDown)
def control_factory(self, parent, action): if toolkit_object.toolkit == 'wx': import wx control = wx.Control(parent) elif toolkit_object.toolkit == 'qt4': from pyface.qt import QtGui control = QtGui.QWidget(parent) else: control = None return control
def __init__(self, parent): # pre = wx.PreToolBar() # pre.Show(False) # pre.Create(parent, -1, style=wx.TB_HORIZONTAL|wx.NO_BORDER) # self.this = pre.this # self._setOORInfo(self) wx.ToolBar.__init__(self, parent, -1, style=wx.TB_HORIZONTAL | wx.NO_BORDER) #self.spacer = wx.StaticText(self, -1, '') self.spacer = wx.Control(self, -1, style=wx.NO_BORDER) self.AddControl(self.spacer) #print self.ToolSize() size = wx.Size(16, 16)
def __init__(self, parent, lightToggle, lightPower=None, lightFilters=[]): super().__init__(parent, style=wx.BORDER_RAISED) self.light = lightToggle self.Sizer = wx.BoxSizer(wx.VERTICAL) self.button = EnableButton(self, self.light) self.button.setState(self.light.state) expCtrl = safeControls.SafeSpinCtrlDouble(self, inc=5) expCtrl.Bind(safeControls.EVT_SAFE_CONTROL_COMMIT, lambda evt: self.light.setExposureTime(evt.Value)) lightToggle.addWatch('exposureTime', expCtrl.SetValue) expCtrl.SetValue(lightToggle.exposureTime) self.Sizer.Add(self.button, flag=wx.EXPAND) self.Sizer.AddSpacer(2) line_height = int(self.GetFont().GetFractionalPointSize() / 2.0) line = wx.Control(self, size=(-1, line_height)) line.SetBackgroundColour(wavelengthToColor(self.light.wavelength)) self.Sizer.Add(line, flag=wx.EXPAND) self.Sizer.Add(wx.StaticText(self, label='Exposure / ms'), flag=wx.ALIGN_CENTER_HORIZONTAL) self.Sizer.Add(expCtrl, flag=wx.EXPAND) if lightPower is not None: self.Sizer.AddSpacer(4) self.Sizer.Add(wx.StaticText(self, label='Power (%)'), flag=wx.ALIGN_CENTER_HORIZONTAL) powCtrl = safeControls.SpinGauge( self, minValue=0.0, maxValue=100.0, fetch_current=lambda: lightPower.getPower() * 100.0) powCtrl.SetValue(lightPower.powerSetPoint * 100.0) lightPower.addWatch('powerSetPoint', lambda p: powCtrl.SetValue(p * 100.0)) powCtrl.Bind(safeControls.EVT_SAFE_CONTROL_COMMIT, lambda evt: lightPower.setPower(evt.Value / 100.0)) self.Sizer.Add(powCtrl) if lightFilters: self.Sizer.AddSpacer(4) self.Sizer.Add(wx.StaticText(self, label="Filters"), flag=wx.ALIGN_CENTER_HORIZONTAL) for f in lightFilters: self.Sizer.Add(f.makeSelector(self), flag=wx.EXPAND)
def __init__(self, *args, **kw): wx.Panel.__init__(self, *args, **kw) fgs = wx.FlexGridSizer(cols=3, hgap=10, vgap=10) for name, bdr in styles: txt = wx.TextCtrl(self, size=(100, -1), style=bdr) #| wx.TE_RICH | wx.TE_MULTILINE) label = wx.StaticText(self, -1, name) ctrl = wx.Control(self, -1, style=bdr) ctrl.SetMinSize(txt.GetSize()) ctrl.SetBackgroundColour("white") #txt.SetBackgroundColour("pink") fgs.Add(label) fgs.Add(ctrl) fgs.Add(txt) box = wx.BoxSizer() box.Add(fgs, 0, wx.ALL, 10) self.SetSizer(box) self.Fit()
def test_ControlCtors(self): c = wx.Control(self.frame) c = wx.Control(self.frame, -1, wx.Point(10,10), wx.Size(80,-1))
def test_ControlDefaultCtor(self): c = wx.Control() c.Create(self.frame)
def __init__(self,parent, size): ''' ''' super(DrawZone, self).__init__(parent, -1, size=size, style=wx.BORDER_NONE) ancho, alto = self.DoGetBestSize() self.parent=parent self._undoActive=False #No hay acción para deshacer self._isDrawing=False #Indica si se está realizando un trazo con clic sostenido self._isDraggingFigure=False #Indica si se está moviendo una figura self._figure=None self._selection=None #Figura de tipo rectangulo para indicar la selección self._selectionBmp=None #Bmp donde se guarda la selección para poder mover self._imodo=0 #Indice de modo self.modo=self._modos[self._imodo] self._kmodes=[m[-2] for k,m in self._modos.items()] self.dirs=parent.dirs self._slidesOn=False #Si hay presentación self._slides=None #lista de los slides o diapositivas self._lastClickLeft=(0,0) #Ultima posición del clic izquierdo #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% # Ingreso de texto self._txbuff='' #Buffer self._txtSize=14 self._drawTxt=wx.StaticText(self,label='',pos=(0,0)) self._drawTxt.SetFont(wx.Font( wx.FontInfo(self._txtSize).Family(wx.FONTFAMILY_SWISS) )) self._txtHistorial=[] # historial de texto self._indexHistorial=0 #Indice para el historial #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% # Barra de estado self.sbHeight=24 self.sb= wx.Control(self,size=(ancho,self.sbHeight), pos=wx.Point(0,alto-self.sbHeight),style=wx.BORDER_NONE) self._sbtxModo=wx.StaticText(self.sb, label='Modo: %s'%self.modo, pos=(44,2)) self._sbtxCmd=LineCMD(self.sb, layout='| >> ', pos=(190,2), width=490) self._sbtxInfo=wx.StaticText(self.sb, label='| Msg: ', pos=(690,2)) self._initIndicator=False # Para mostrar el color #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% # memoria de dibujo para evitar flicker self._bmpDrawCache=wx.Bitmap(ancho,alto) # para guardar la última modificación del mapa de bits self._bmpDrawUndo=wx.Bitmap(ancho,alto) self.SetStyle(1) self._lastPoint=None #Se usa para susavizar el dibujado con rectas self._lastPoint2=None #Se utiliza para que funcione bien el deshacer en modo poligono self._toolDraw=0 #Herramienta de dibujo self._penWidth=2 #Herramienta self._eraserWidth=24#Ancho del borrador dc = wx.MemoryDC() dc.SelectObject(self._bmpDrawCache) dc.SetBackground(wx.Brush(self._bgBoardColour)) dc.Clear() #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% # formula self.formula=FormulaCtrl(self,fsize=24,bcolour=self._bgBoardColour, size=(450,200)) #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% # varios self._startedControl=False self.Bind(wx.EVT_PAINT, self.OnPaint) self.Bind(wx.EVT_ERASE_BACKGROUND, self.OnEraseBackground) self.Bind(wx.EVT_KEY_UP, self.OnCommand) self.Bind(wx.EVT_CHAR, self.OnChar) self.Bind(wx.EVT_LEFT_UP, self.OnLeftClic) self.Bind(wx.EVT_RIGHT_UP, self.OnRighClic)
def setUp(self): self.frame = wx.Frame(parent=None, id=wx.ID_ANY) self.testControl = wx.Control(parent=self.frame, id=wx.ID_ANY)
def AddNewTabAsButton(self): new_tab_button = wx.Control(self) new_tab_button.isNewTabButton = True self.InsertPage(0, new_tab_button, "+", select=False)