76 lines
2.9 KiB
Python
76 lines
2.9 KiB
Python
|
# -*- encoding: utf-8 -*-
|
||
|
from PyQt4.QtCore import *
|
||
|
from PyQt4.QtGui import *
|
||
|
import ConductivityGroupBox
|
||
|
|
||
|
|
||
|
class ConductivityWidget(QGroupBox):
|
||
|
changedTable = pyqtSignal()
|
||
|
def __init__(self, parent=None):
|
||
|
QGroupBox.__init__(self)
|
||
|
super(ConductivityWidget, self).__init__(parent)
|
||
|
self.setTitle(u"Conductivity …")
|
||
|
self.ui = ConductivityGroupBox.Ui_ConductivityGroupBox()
|
||
|
self.ui.setupUi(self)
|
||
|
self.lineEdits = [self.ui.lineEdit_1,
|
||
|
self.ui.lineEdit_2,
|
||
|
self.ui.lineEdit_3]
|
||
|
self.fixedCheckBoxes = [self.ui.checkBox_1,
|
||
|
self.ui.checkBox_2,
|
||
|
self.ui.checkBox_3]
|
||
|
for le in self.lineEdits:
|
||
|
le.editingFinished.connect(self.changedTable.emit)
|
||
|
self.signalMapper = QSignalMapper(self)
|
||
|
for i, button in enumerate([self.ui.pushButton_1,
|
||
|
self.ui.pushButton_2,
|
||
|
self.ui.pushButton_3,
|
||
|
self.ui.pushButton_4,
|
||
|
self.ui.pushButton_5,
|
||
|
self.ui.pushButton_6,
|
||
|
]):
|
||
|
self.signalMapper.setMapping(button,i)
|
||
|
button.clicked.connect(self.signalMapper.map)
|
||
|
self.signalMapper.mapped.connect(self.changeValues)
|
||
|
|
||
|
def changeValues(self, num):
|
||
|
logstep = 1.29154967 # 10 log even steps per decade
|
||
|
linstep = 0.05
|
||
|
# 0-3 down/up for d_eps and tau, respectively
|
||
|
# 4-7 down, up for a, b
|
||
|
if num == 0:
|
||
|
self.ui.lineEdit_1.setText("%.2e"%(self.ui.lineEdit_1.text().toDouble()[0]/logstep))
|
||
|
if num == 1:
|
||
|
self.ui.lineEdit_1.setText("%.2e"%(self.ui.lineEdit_1.text().toDouble()[0]*logstep))
|
||
|
if num == 2:
|
||
|
self.ui.lineEdit_2.setText("%.2e"%(self.ui.lineEdit_2.text().toDouble()[0]/logstep))
|
||
|
if num == 3:
|
||
|
self.ui.lineEdit_2.setText("%.2e"%(self.ui.lineEdit_2.text().toDouble()[0]*logstep))
|
||
|
if num == 4:
|
||
|
self.ui.lineEdit_3.setText("%.2e"%(self.ui.lineEdit_3.text().toDouble()[0]-linstep))
|
||
|
if num == 5:
|
||
|
self.ui.lineEdit_3.setText("%.2e"%(self.ui.lineEdit_3.text().toDouble()[0]+linstep))
|
||
|
self.changedTable.emit()
|
||
|
|
||
|
def fixedParameter(self):
|
||
|
return [0 if cb.isChecked() else 1 for cb in self.fixedCheckBoxes]
|
||
|
|
||
|
def setColor(self, color):
|
||
|
r,g,b = color
|
||
|
palette = self.palette()
|
||
|
palette.setColor(QPalette.Foreground, QColor(r,g,b))
|
||
|
self.setPalette(palette)
|
||
|
|
||
|
def getTable(self):
|
||
|
tmp = [i.text().toDouble()[0] # selects the number, ignores the status
|
||
|
for i in self.lineEdits ]
|
||
|
print "peakParams:",tmp
|
||
|
return tmp
|
||
|
|
||
|
def update(self):
|
||
|
self.changedTable.emit()
|
||
|
|
||
|
def updateTable(self, *args):
|
||
|
for i,arg in enumerate(args):
|
||
|
self.lineEdits[i].setText("%g"%(args[i]))
|
||
|
|