from PySide6 import QtCore, QtWidgets, QtGui import plots import PIL # Значения парметра part при построении графиков установлены на тестовый режим class TitleScreen(QtWidgets.QWidget): def __init__(self): super().__init__() self.q = QtGui.QScreen.availableGeometry(QtWidgets.QApplication.primaryScreen()) self.part1 = Part1() self.part2 = Part2() self.button = QtWidgets.QPushButton(self) self.button.setGeometry(QtCore.QRect(20, 20, 40, 40)) self.button.setText("Esc") self.text = QtWidgets.QLabel(self) self.text.setText( "
Лабораторная " "работа 3.5.1
Исследование плазмы газового " "разряда
") self.text.setGeometry(QtCore.QRect(self.q.width() // 3 - 250, self.q.height() // 2 - 50, 500, 100)) self.vline = QtWidgets.QFrame(self) self.vline.setFrameShape(QtWidgets.QFrame.VLine) self.vline.setGeometry(QtCore.QRect(2 * self.q.width() // 3, 0, 10, self.q.height() + 40)) self.hline = QtWidgets.QFrame(self) self.hline.setFrameShape(QtWidgets.QFrame.HLine) self.hline.setGeometry(QtCore.QRect(2 * self.q.width() // 3 + 5, self.q.height() // 2, self.q.width() // 3, 40)) self.label1 = QtWidgets.QLabel(self) self.label1.setText( "ЧАСТЬ " "I
Вольт-амперная характеристика газового " "разряда
") self.label1.setGeometry(QtCore.QRect(5 * self.q.width() // 6 - 150, self.q.height() // 4 - 40, 300, 80)) self.label2 = QtWidgets.QLabel(self) self.label2.setText( "ЧАСТЬ " "II
Зондовые характеристики " "плазмы
") self.label2.setGeometry(QtCore.QRect(5 * self.q.width() // 6 - 150, 3 * self.q.height() // 4 - 40, 300, 80)) self.button1 = QtWidgets.QPushButton(self) self.button1.setGeometry(QtCore.QRect(5 * self.q.width() // 6 - 40, self.q.height() // 4 + 80, 80, 40)) self.button1.setText("Начать") self.button2 = QtWidgets.QPushButton(self) self.button2.setGeometry(QtCore.QRect(5 * self.q.width() // 6 - 40, 3 * self.q.height() // 4 + 80, 80, 40)) self.button2.setText("Начать") self.button.clicked.connect(self.esc) self.button1.clicked.connect(self.open_part1) self.button2.clicked.connect(self.open_part2) @QtCore.Slot() def esc(self): self.close() def open_part1(self): self.part1.showFullScreen() self.close() def open_part2(self): self.part2.showFullScreen() self.close() class Part1(QtWidgets.QWidget): def __init__(self): super().__init__() self.n = 0 self.hint_open = False self.started = False self.q = QtGui.QScreen.availableGeometry(QtWidgets.QApplication.primaryScreen()) h = self.q.height() * 0.2 plots.empty_plot(3) self.points = QtWidgets.QLabel(self) self.points.setGeometry(QtCore.QRect(7.5 * h - 60, 3 * h - 80, 140, 20)) self.points.setText('Измеренных точек: ' + str(self.n)) self.disclaimer = QtWidgets.QLabel(self) self.disclaimer.setText('Не '
'забудьте прочитать методику<\p> и подсказку выше перед началом работы!<\p><\html>')
self.disclaimer.setGeometry(7.5 * h - 150, h, 400, 100)
self.button = QtWidgets.QPushButton(self)
self.button.setGeometry(QtCore.QRect(20, 20, 40, 40))
self.button.setText("Esc")
self.start_btn = QtWidgets.QPushButton(self)
self.start_btn.setText("Начать измерения")
self.start_btn.setGeometry(QtCore.QRect(7.5 * h - 150, 3 * h - 50, 120, 30))
self.reset_btn = QtWidgets.QPushButton(self)
self.reset_btn.setText("Сбросить")
self.reset_btn.setGeometry(QtCore.QRect(7.5 * h + 30, 3 * h - 50, 120, 30))
self.save_btn = QtWidgets.QPushButton(self)
self.save_btn.setText("Сохранить")
self.save_btn.setGeometry(QtCore.QRect(7.5 * h - 60, 3 * h, 120, 30))
self.save_btn.hide()
self.title = QtWidgets.QLabel(self)
self.title.setText(
" ЧАСТЬ "
"I Вольт-амперная характеристика газового "
"разряда Перед проведением измерений ВАХ "
"газового разряда проверьте "
"подключение вольтметра V1 и амперметра A1,"
" а также убедитесь, "
"что переключатель П1 находится в положении I. При проведении измерений медленно увеличивайте выходное"
" напряжение ВИП до достижения "
"максимального значения тока"
" через амперметр "
"А1 (не более 5 мА), затем проведите измерения "
" в обратную сторону. График "
"Iр(Uр) будет строиться автоматически, после завершения измерений можно сохранить полученные значения "
"и график. Не '
'забудьте прочитать методику<\p> и подсказку выше перед началом работы!<\p><\html>')
self.disclaimer.setGeometry(7.5 * h - 150, h, 400, 100)
self.title = QtWidgets.QLabel(self)
self.title.setText(
" ЧАСТЬ "
"II Зондовые характеристики "
"плазмы Перед проведением измерений "
"зондовых характеристик плазмы "
"проверьте подключение вольтметра V2 и амперметров A1 и А2, а также убедитесь,"
" что переключатель П1 "
"находится в положении II. Установите "
"требуемый согласно методике разрядный ток, не изменяйте его в момент проведения серии измерений. При помощи потенциометра измерьте "
"ВАХ в максимальном диапазоне, "
"учтите, что полярность можно менять "
"с помощью переключателя "
"П2 только при токе Iз= 0. График Iз(Uз) будет строиться автоматически,"
" после завершения всех серий "
"измерений можно сохранить полученные "
"значения и график.