⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wxplotpropertiesdialog.py

📁 PyChem是用Python语言编写的多元变量分析软件。它包括一个前端图形界面用于管理和保存试验数据
💻 PY
📖 第 1 页 / 共 2 页
字号:
        self.spnYmin = wxSpinButton(id=wxID_WXPLOTPROPERTIESDIALOGSPNYMIN,
              name='spnYmin', parent=self.swLoadX, pos=wxPoint(96, 231),
              size=wxSize(17, 24), style=wxSP_VERTICAL)
        self.spnYmin.SetToolTipString('')
        EVT_SPIN_UP(self.spnYmin, wxID_WXPLOTPROPERTIESDIALOGSPNYMIN,
              self.OnSpnYminSpinUp)
        EVT_SPIN_DOWN(self.spnYmin, wxID_WXPLOTPROPERTIESDIALOGSPNYMIN,
              self.OnSpnYminSpinDown)

        self.txtXmax = wxTextCtrl(id=wxID_WXPLOTPROPERTIESDIALOGTXTXMAX,
              name='txtXmax', parent=self.swLoadX, pos=wxPoint(160, 176),
              size=wxSize(48, 21), style=0, value='')
        self.txtXmax.SetToolTipString('')
        EVT_TEXT(self.txtXmax, wxID_WXPLOTPROPERTIESDIALOGTXTXMAX,
              self.OnTxtXmaxText)

        self.txtYmax = wxTextCtrl(id=wxID_WXPLOTPROPERTIESDIALOGTXTYMAX,
              name='txtYmax', parent=self.swLoadX, pos=wxPoint(160, 232),
              size=wxSize(48, 21), style=0, value='')
        self.txtYmax.SetToolTipString('')
        EVT_TEXT(self.txtYmax, wxID_WXPLOTPROPERTIESDIALOGTXTYMAX,
              self.OnTxtYmaxText)

        self.txtYmin = wxTextCtrl(id=wxID_WXPLOTPROPERTIESDIALOGTXTYMIN,
              name='txtYmin', parent=self.swLoadX, pos=wxPoint(48, 232),
              size=wxSize(48, 21), style=0, value='')
        self.txtYmin.SetToolTipString('')
        EVT_TEXT(self.txtYmin, wxID_WXPLOTPROPERTIESDIALOGTXTYMIN,
              self.OnTxtYminText)

        self.staticText10 = wxStaticText(id=wxID_WXPLOTPROPERTIESDIALOGSTATICTEXT10,
              label='Font size axes and title (pt)', name='staticText10',
              parent=self.swLoadX, pos=wxPoint(16, 120), size=wxSize(125, 13),
              style=0)
        self.staticText10.SetToolTipString('')

        self.spnFontSizeAxes = wxSpinCtrl(id=wxID_WXPLOTPROPERTIESDIALOGSPNFONTSIZEAXES,
              initial=8, max=76, min=4, name='spnFontSizeAxes',
              parent=self.swLoadX, pos=wxPoint(152, 120), size=wxSize(50, 21),
              style=wxSP_ARROW_KEYS)
        self.spnFontSizeAxes.SetToolTipString('')
        self.spnFontSizeAxes.SetValue(8)
        self.spnFontSizeAxes.SetRange(4, 76)

    def __init__(self, parent, canvas, graph):
        self._init_ctrls(parent)
        
        self.minXrange = graph[1][0]
        self.maxXrange = graph[1][1]
        self.minYrange = graph[2][0]
        self.maxYrange = graph[2][1]
        
        self.graph = graph[0]
        self.canvas = canvas
        
        self.txtXmin.SetEditable(1)
        self.txtXmax.SetEditable(1)
        self.txtYmin.SetEditable(1)
        self.txtYmax.SetEditable(1)
        
        self.Increment = (self.maxXrange - self.minXrange)/100
        
        self.txtXmin.SetValue('%.3f' %self.minXrange)
        self.txtXmax.SetValue('%.3f' %self.maxXrange)
        self.txtYmin.SetValue('%.3f' %self.minYrange)
        self.txtYmax.SetValue('%.3f' %self.maxYrange)
        
        self.txtTitle.SetValue(self.graph.getTitle())
        self.txtXlabel.SetValue(self.graph.getXLabel())
        self.txtYlabel.SetValue(self.graph.getYLabel())
        
        self.spnFontSizeAxes.SetValue(self.canvas.GetFontSizeAxis())
        
    def OnBtnOKButton(self, event):
        self.ButtonPress = 1  
        self.canvas.SetFontSizeAxis(self.spnFontSizeAxes.GetValue())
        self.canvas.SetFontSizeTitle(self.spnFontSizeAxes.GetValue())
        self.graph.setTitle(self.txtTitle.GetValue())
        self.graph.setXLabel(self.txtXlabel.GetValue())
        self.graph.setYLabel(self.txtYlabel.GetValue())
        if (float(self.txtXmin.GetValue()) < float(self.txtXmax.GetValue())) and \
        (float(self.txtYmin.GetValue()) < float(self.txtYmax.GetValue())) is True:
            self.graph = [self.graph,(float(self.txtXmin.GetValue()),float(self.txtXmax.GetValue())),\
            (float(self.txtYmin.GetValue()),float(self.txtYmax.GetValue()))]
        self.Close()
        
    def GetNewPlotParams(self):
        return self.graph
                
    def OnBtnCancelButton(self, event):
        self.ButtonPress = 0
        self.Close()
    
    def GetButtonPress(self):
        return self.ButtonPress

    def OnSpnXminSpinUp(self, event):
        curr = float(self.txtXmin.GetValue())
        curr = curr + self.Increment
        self.txtXmin.SetValue('%.3f' %curr)

    def OnSpnXminSpinDown(self, event):
        curr = float(self.txtXmin.GetValue())
        curr = curr - self.Increment
        self.txtXmin.SetValue('%.3f' %curr)

    def OnSpnXmaxSpinUp(self, event):
        curr = float(self.txtXmax.GetValue())
        curr = curr + self.Increment
        self.txtXmax.SetValue('%.3f' %curr)

    def OnSpnXmaxSpinDown(self, event):
        curr = float(self.txtXmax.GetValue())
        curr = curr - self.Increment
        self.txtXmax.SetValue('%.3f' %curr)

    def OnSpnYmaxSpinUp(self, event):
        curr = float(self.txtYmax.GetValue())
        curr = curr + self.Increment
        self.txtYmax.SetValue('%.3f' %curr)

    def OnSpnYmaxSpinDown(self, event):
        curr = float(self.txtYmax.GetValue())
        curr = curr - self.Increment
        self.txtYmax.SetValue('%.3f' %curr)

    def OnSpnYminSpinUp(self, event):
        curr = float(self.txtYmin.GetValue())
        curr = curr + self.Increment
        self.txtYmin.SetValue('%.3f' %curr)

    def OnSpnYminSpinDown(self, event):
        curr = float(self.txtYmin.GetValue())
        curr = curr - self.Increment
        self.txtYmin.SetValue('%.3f' %curr)

    def OnTxtXminText(self, event):
        event.Skip()
##        Xmin = float(self.txtXmin.GetValue())
##        Xmax = float(self.txtXmax.GetValue())
##        if Xmin >= Xmax:
##            self.txtXmin.SetValue('%.3f' %(Xmax-self.Increment))
##        if Xmin < self.canvas.GetXMaxRange()[0]:
##            self.txtXmin.SetValue('%.3f' %(self.canvas.GetXMaxRange()[0]))

    def OnTxtXmaxText(self, event):
        event.Skip()
##        Xmin = float(self.txtXmin.GetValue())
##        Xmax = float(self.txtXmax.GetValue())
##        if Xmin >= Xmax:
##            self.txtXmax.SetValue('%.3f' %(Xmin+self.Increment))
##        if Xmax > self.canvas.GetXMaxRange()[1]:
##            self.txtXmax.SetValue('%.3f' %(self.canvas.GetXMaxRange()[1]))
        
    def OnTxtYmaxText(self, event):
        event.Skip()
##        Ymin = float(self.txtYmin.GetValue())
##        Ymax = float(self.txtYmax.GetValue())
##        if Ymin >= Ymax:
##            self.txtYmin.SetValue('%.3f' %(Ymax-self.Increment))
##        if Ymax > self.canvas.GetYMaxRange()[1]:
##            self.txtYmax.SetValue('%.3f' %(self.canvas.GetYMaxRange()[1]))

    def OnTxtYminText(self, event):
        event.Skip()
##        Ymin = float(self.txtYmin.GetValue())
##        Ymax = float(self.txtYmax.GetValue())
##        if Ymin >= Ymax:
##            self.txtYmax.SetValue('%.3f' %(Ymin+self.Increment))
##        if Ymin > self.canvas.GetYMaxRange()[0]:
##            self.txtYmin.SetValue('%.3f' %(self.canvas.GetYMaxRange()[0]))
    
    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -