save buttons separated

This commit is contained in:
Вадим Силаев 2022-12-11 15:57:52 +03:00
parent 7650cd707c
commit 5483d72d42

View File

@ -5,7 +5,7 @@ import pandas as pd
import fitting import fitting
# Значения парметра part при построении графиков установлены на тестовый режим # Значения параметра part при построении графиков установлены на тестовый режим
class TitleScreen(QtWidgets.QWidget): class TitleScreen(QtWidgets.QWidget):
def __init__(self): def __init__(self):
super().__init__() super().__init__()
@ -96,10 +96,15 @@ class Part1(QtWidgets.QWidget):
self.reset_btn.setText("Сбросить") self.reset_btn.setText("Сбросить")
self.reset_btn.setGeometry(QtCore.QRect(7.5 * h + 30, 3 * h - 50, 120, 30)) self.reset_btn.setGeometry(QtCore.QRect(7.5 * h + 30, 3 * h - 50, 120, 30))
self.save_btn = QtWidgets.QPushButton(self) self.save_plot_btn = QtWidgets.QPushButton(self)
self.save_btn.setText("Сохранить") self.save_plot_btn.setText("Сохранить \n график")
self.save_btn.setGeometry(QtCore.QRect(7.5 * h - 60, 3 * h, 120, 30)) self.save_plot_btn.setGeometry(QtCore.QRect(7.5 * h - 150, 3 * h, 120, 70))
self.save_btn.hide() self.save_plot_btn.hide()
self.save_values_btn = QtWidgets.QPushButton(self)
self.save_values_btn.setText("Сохранить \n данные")
self.save_values_btn.setGeometry(QtCore.QRect(7.5 * h + 30, 3 * h, 120, 70))
self.save_values_btn.hide()
self.title = QtWidgets.QLabel(self) self.title = QtWidgets.QLabel(self)
self.title.setText( self.title.setText(
@ -148,14 +153,15 @@ class Part1(QtWidgets.QWidget):
self.start_btn.clicked.connect(self.start_stop) self.start_btn.clicked.connect(self.start_stop)
self.reset_btn.clicked.connect(self.reset) self.reset_btn.clicked.connect(self.reset)
self.hint_btn.clicked.connect(self.hint) self.hint_btn.clicked.connect(self.hint)
self.save_btn.clicked.connect(self.savefile) self.save_plot_btn.clicked.connect(self.save_plot)
self.save_values_btn.clicked.connect(self.save_values)
timer = QtCore.QTimer(self) timer = QtCore.QTimer(self)
timer.timeout.connect(self.upd_plot) timer.timeout.connect(self.upd_plot)
timer.start(500) timer.start(500)
@QtCore.Slot() @QtCore.Slot()
def savefile(self): def save_plot(self):
# при замене устройства директорию надо изменить # при замене устройства директорию надо изменить
file, check = QtWidgets.QFileDialog.getSaveFileName(None, "Сохранить график 1", file, check = QtWidgets.QFileDialog.getSaveFileName(None, "Сохранить график 1",
r"C:\Users\Vadim\Desktop\plot1.jpg", "Images (*.png *.jpg)") r"C:\Users\Vadim\Desktop\plot1.jpg", "Images (*.png *.jpg)")
@ -163,6 +169,8 @@ class Part1(QtWidgets.QWidget):
plot1 = PIL.Image.open('tmpplots/tmpplot3.jpg') plot1 = PIL.Image.open('tmpplots/tmpplot3.jpg')
plot1.save(file) plot1.save(file)
def save_values(self):
# при замене устройства директорию надо изменить
file, check = QtWidgets.QFileDialog.getSaveFileName(None, "Сохранить значения", file, check = QtWidgets.QFileDialog.getSaveFileName(None, "Сохранить значения",
r"C:\Users\Vadim\Desktop\experiment1.xlsx", "Table (.xlsx)") r"C:\Users\Vadim\Desktop\experiment1.xlsx", "Table (.xlsx)")
if check: if check:
@ -203,19 +211,22 @@ class Part1(QtWidgets.QWidget):
if not self.started: if not self.started:
self.start_btn.setText("Стоп") self.start_btn.setText("Стоп")
self.started = True self.started = True
self.save_btn.hide() self.save_plot_btn.hide()
self.save_values_btn.hide()
self.hint_btn.hide() self.hint_btn.hide()
else: else:
self.start_btn.setText("Продолжить") self.start_btn.setText("Продолжить")
self.started = False self.started = False
self.save_btn.show() self.save_plot_btn.show()
self.save_values_btn.show()
self.hint_btn.show() self.hint_btn.show()
def reset(self): def reset(self):
self.started = False self.started = False
self.start_btn.setText("Начать измерения") self.start_btn.setText("Начать измерения")
self.save_btn.hide() self.save_plot_btn.hide()
self.save_values_btn.hide()
self.hint_btn.show() self.hint_btn.show()
self.n = 0 self.n = 0
plots.empty_plot(3) plots.empty_plot(3)
@ -273,10 +284,15 @@ class Part2(QtWidgets.QWidget):
self.delete_btn.setGeometry(QtCore.QRect(7.5 * h + 30, 3 * h - 50, 120, 30)) self.delete_btn.setGeometry(QtCore.QRect(7.5 * h + 30, 3 * h - 50, 120, 30))
self.delete_btn.hide() self.delete_btn.hide()
self.save_btn = QtWidgets.QPushButton(self) self.save_plot_btn = QtWidgets.QPushButton(self)
self.save_btn.setText("Сохранить") self.save_plot_btn.setText("Сохранить \n график")
self.save_btn.setGeometry(QtCore.QRect(7.5 * h - 60, 3 * h, 120, 30)) self.save_plot_btn.setGeometry(QtCore.QRect(7.5 * h - 150, 3 * h, 120, 70))
self.save_btn.hide() self.save_plot_btn.hide()
self.save_values_btn = QtWidgets.QPushButton(self)
self.save_values_btn.setText("Сохранить \n данные")
self.save_values_btn.setGeometry(QtCore.QRect(7.5 * h + 30, 3 * h, 120, 70))
self.save_values_btn.hide()
self.hint_btn = QtWidgets.QPushButton(self) self.hint_btn = QtWidgets.QPushButton(self)
self.hint_btn.setText('?') self.hint_btn.setText('?')
@ -315,7 +331,8 @@ class Part2(QtWidgets.QWidget):
self.start_btn.clicked.connect(self.start_stop) self.start_btn.clicked.connect(self.start_stop)
self.delete_btn.clicked.connect(self.delete) self.delete_btn.clicked.connect(self.delete)
self.hint_btn.clicked.connect(self.hint) self.hint_btn.clicked.connect(self.hint)
self.save_btn.clicked.connect(self.save_file) self.save_plot_btn.clicked.connect(self.save_plot)
self.save_values_btn.clicked.connect(self.save_values)
timer = QtCore.QTimer(self) timer = QtCore.QTimer(self)
timer.timeout.connect(self.upd_plot) timer.timeout.connect(self.upd_plot)
@ -335,13 +352,16 @@ class Part2(QtWidgets.QWidget):
self.i = 1.5 self.i = 1.5
self.current.setText('Текущий ток разряда: ' + str(self.i) + 'мА') self.current.setText('Текущий ток разряда: ' + str(self.i) + 'мА')
def save_file(self): def save_plot(self):
# при замене устройства директорию надо изменить
file, check = QtWidgets.QFileDialog.getSaveFileName(None, "Сохранить график 2", file, check = QtWidgets.QFileDialog.getSaveFileName(None, "Сохранить график 2",
r"C:\Users\Vadim\Desktop\plot2.jpg", "Images (*.png *.jpg)") r"C:\Users\Vadim\Desktop\plot2.jpg", "Images (*.png *.jpg)")
if check: if check:
plot1 = PIL.Image.open('tmpplots/tmpplot4.jpg') plot1 = PIL.Image.open('tmpplots/tmpplot4.jpg')
plot1.save(file) plot1.save(file)
def save_values(self):
# при замене устройства директорию надо изменить
file, check = QtWidgets.QFileDialog.getSaveFileName(None, "Сохранить значения", file, check = QtWidgets.QFileDialog.getSaveFileName(None, "Сохранить значения",
r"C:\Users\Vadim\Desktop\experiment2.xlsx", "Table (.xlsx)") r"C:\Users\Vadim\Desktop\experiment2.xlsx", "Table (.xlsx)")
if check: if check:
@ -359,10 +379,6 @@ class Part2(QtWidgets.QWidget):
k_0.append(params[1]) k_0.append(params[1])
A.append(params[2]) A.append(params[2])
#I_0.extend([[] * (len(plots.vol[3][0]) - len(plots.vol[3]))])
#k_0.extend([[] * (len(plots.vol[3][0]) - len(plots.vol[3]))])
#A.extend([[] * (len(plots.vol[3][0]) - len(plots.vol[3]))])
data.update({'I_0, мкА': I_0, 'k_0, мкА/В': k_0, 'A, мкА/В': A}) data.update({'I_0, мкА': I_0, 'k_0, мкА/В': k_0, 'A, мкА/В': A})
df = pd.DataFrame(dict([(k, pd.Series(v)) for k, v in data.items()])) df = pd.DataFrame(dict([(k, pd.Series(v)) for k, v in data.items()]))
@ -401,7 +417,8 @@ class Part2(QtWidgets.QWidget):
if not self.started: if not self.started:
self.start_btn.setText("Стоп") self.start_btn.setText("Стоп")
self.started = True self.started = True
self.save_btn.hide() self.save_plot_btn.hide()
self.save_values_btn.hide()
self.hint_btn.hide() self.hint_btn.hide()
if self.num != 0: if self.num != 0:
plots.plus_plot(4) plots.plus_plot(4)
@ -411,14 +428,16 @@ class Part2(QtWidgets.QWidget):
else: else:
self.start_btn.setText("Добавить серию") self.start_btn.setText("Добавить серию")
self.started = False self.started = False
self.save_btn.show() self.save_plot_btn.show()
self.save_values_btn.show()
self.hint_btn.show() self.hint_btn.show()
self.delete_btn.show() self.delete_btn.show()
def delete(self): def delete(self):
self.started = False self.started = False
self.start_btn.setText("Добавить серию") self.start_btn.setText("Добавить серию")
self.save_btn.hide() self.save_plot_btn.hide()
self.save_values_btn.hide()
self.hint_btn.show() self.hint_btn.show()
self.n = 0 self.n = 0
plots.minus_plot(4) plots.minus_plot(4)
@ -426,5 +445,6 @@ class Part2(QtWidgets.QWidget):
self.show_plot() self.show_plot()
self.num -= 1 self.num -= 1
if self.num == 0: if self.num == 0:
self.save_btn.hide() self.save_plot_btn.hide()
self.save_values_btn.hide()
self.delete_btn.hide() self.delete_btn.hide()