42 lines
1.5 KiB
Python
42 lines
1.5 KiB
Python
|
from numpy import linspace, logspace, log10
|
||
|
|
||
|
from ..Qt import QtWidgets, QtCore
|
||
|
from .._py.interpol_dialog import Ui_Dialog
|
||
|
|
||
|
|
||
|
class QInterpol(QtWidgets.QDialog, Ui_Dialog):
|
||
|
ready = QtCore.pyqtSignal(dict)
|
||
|
|
||
|
def __init__(self, parent=None):
|
||
|
super().__init__(parent=parent)
|
||
|
|
||
|
self.setupUi(self)
|
||
|
|
||
|
self.on_comboBox_2_currentIndexChanged(0)
|
||
|
|
||
|
@QtCore.pyqtSlot(int)
|
||
|
def on_comboBox_2_currentIndexChanged(self, idx: int):
|
||
|
if idx == 0:
|
||
|
self.frame.hide()
|
||
|
self.frame_2.show()
|
||
|
else:
|
||
|
self.frame.show()
|
||
|
self.frame_2.hide()
|
||
|
|
||
|
def accept(self):
|
||
|
ret_dic = {'kind': self.comboBox.currentIndex(), 'ylog': self.checkBox_2.isChecked()}
|
||
|
if self.comboBox_2.currentIndex() == 0:
|
||
|
ret_dic['xaxis'] = int(self.lineEdit.text())
|
||
|
else:
|
||
|
if self.checkBox.isChecked():
|
||
|
ret_dic['xaxis'] = logspace(log10(float(self.lineEdit_2.text())),
|
||
|
log10(float(self.lineEdit_3.text())),
|
||
|
num=int(self.lineEdit_4.text()))
|
||
|
else:
|
||
|
ret_dic['xaxis'] = linspace(float(self.lineEdit_2.text()),
|
||
|
float(self.lineEdit_3.text()),
|
||
|
num=int(self.lineEdit_4.text()))
|
||
|
ret_dic['idx'] = [i.row() for i in self.listWidget.selectedIndexes()]
|
||
|
self.ready.emit(ret_dic)
|
||
|
self.close()
|