From 743f93cb4cf88abab3f31ff4ebbcc2380412da3b Mon Sep 17 00:00:00 2001 From: Moritz Grimm Date: Fri, 4 Jul 2025 15:52:40 +0200 Subject: [PATCH] All the legacy --- .../Instrument_Drivers/#BK_9131B_control.py# | 434 + .../Instrument_Drivers/.#BK_9131B_control.py | 1 + Legacy/Instrument_Drivers/.DS_Store | Bin 0 -> 6148 bytes Legacy/Instrument_Drivers/.gitignore | 13 + .../Instrument_Drivers/Agilent_304_control.py | 347 + Legacy/Instrument_Drivers/BK_9131B_control.py | 434 + Legacy/Instrument_Drivers/BK_9132B_control.py | 413 + .../Instrument_Drivers/BK_9132B_control_2.py | 414 + .../Instrument_Drivers/BK_9174B_2_control.py | 396 + Legacy/Instrument_Drivers/BK_9174B_control.py | 394 + .../Keithley_2230G_Control.py | 414 + .../Keysight_34461A_2_Control.py | 375 + .../Keysight_34461A_Control.py | 375 + .../Keysight_U2042XA_control.py | 365 + Legacy/Instrument_Drivers/LS218_control.py | 331 + Legacy/Instrument_Drivers/LS336_control.py | 374 + Legacy/Instrument_Drivers/README.md | 20 + .../Tabor_LS6081B_control.py | 279 + Legacy/Instrument_Drivers/configs/README.md | 1 + .../design_files/Agilent_304_FS_AG.ui | 2225 ++ .../design_files/Agilent_304_FS_AG_design.py | 842 + .../design_files/BK_9131B.ui | 4517 ++++ .../design_files/BK_9131B_design.py | 1648 ++ .../design_files/BK_9132B.ui | 4542 ++++ .../design_files/BK_9132B_design.py | 1686 ++ .../design_files/BK_9174B.ui | 3104 +++ .../design_files/BK_9174B_design.py | 1172 + .../design_files/Keithley_2230G.ui | 4522 ++++ .../design_files/Keithley_2230G_design.py | 1677 ++ .../design_files/Keysight_34461A.ui | 1624 ++ .../design_files/Keysight_34461A_design.py | 607 + .../design_files/Keysight_U2042XA.ui | 930 + .../design_files/Keysight_U2042XA_design.py | 428 + .../Instrument_Drivers/design_files/LS218.ui | 3781 +++ .../design_files/LS218_design.py | 1358 ++ .../Instrument_Drivers/design_files/LS336.ui | 2267 ++ .../design_files/LS336_design.py | 854 + .../design_files/Tabor_LS6081B.ui | 1093 + .../design_files/Tabor_LS6081B_design.py | 414 + .../drivers/Agilent_304_FS_AG.py | 185 + Legacy/Instrument_Drivers/drivers/BK_9132B.py | 96 + Legacy/Instrument_Drivers/drivers/BK_9174B.py | 107 + .../drivers/Keithley_2230G.py | 106 + .../drivers/Keysight_34461A.py | 90 + .../drivers/Keysight_U2042XA.py | 79 + .../drivers/Lakeshore218.py | 43 + .../drivers/Lakeshore336.py | 76 + .../drivers/Tabor_LS6081B.py | 78 + Legacy/Instrument_Drivers/global_variables.py | 93 + Legacy/Instrument_Drivers/import_txt.py | 204 + Legacy/Instrument_Drivers/requirements.txt | 10 + Legacy/TF_Control/.DS_Store | Bin 0 -> 6148 bytes Legacy/TF_Control/.gitignore | 20 + Legacy/TF_Control/AMR_calibration.py | 377 + Legacy/TF_Control/AMR_config.txt | 3 + Legacy/TF_Control/Automation_Measurement.py | 1111 + Legacy/TF_Control/BT_3D_Plot.py | 697 + .../B_Field_Compensation_control.py | 599 + Legacy/TF_Control/Belegung Netzteile.txt | 21 + Legacy/TF_Control/Main.py | 1096 + Legacy/TF_Control/README.md | 99 + Legacy/TF_Control/Result_window_control.py | 536 + .../TCP Multiple Connections - Server.vi | Bin 0 -> 28317 bytes Legacy/TF_Control/configs/AMR_config.txt | 1 + .../configs/Automation_Measurement_config.txt | 1 + .../configs/B_Field_Compensation_config.txt | 1 + .../Bext_compensation_data/Bext_Test.txt | 1 + Legacy/TF_Control/configs/Main_config.txt | 1 + Legacy/TF_Control/configs/evaporate_LN2.txt | 1 + .../configs/evaporate_LN2_config.txt | 1 + .../imc_Cernox_calibr_CRAFT_config.txt | 1 + .../configs/result_window_config.txt | 1 + Legacy/TF_Control/data_analysis/.DS_Store | Bin 0 -> 6148 bytes .../data_analysis/Analyse cooldowns.py | 909 + Legacy/TF_Control/data_analysis/Raw_data.py | 160 + .../configs/analyse_cooldowns_config.txt | 1 + .../design_files/Analyse_cooldown.ui | 924 + .../design_files/Analyse_cooldown_design.py | 546 + .../data_analysis/design_files/Raw_data.ui | 7008 ++++++ .../design_files/Raw_data_design.py | 2488 ++ .../design_files/AMR_calibration.ui | 614 + .../design_files/AMR_calibration_design.py | 260 + .../design_files/Automation_Measurement.ui | 2255 ++ .../Automation_Measurement_design.py | 929 + Legacy/TF_Control/design_files/BT_3D_Plot.ui | 10753 ++++++++ .../design_files/BT_3D_Plot_design.py | 3781 +++ .../design_files/B_Field_Compensation.ui | 2694 ++ .../B_Field_Compensation_design.py | 1031 + Legacy/TF_Control/design_files/Main.ui | 20310 ++++++++++++++++ Legacy/TF_Control/design_files/Main_design.py | 7664 ++++++ .../TF_Control/design_files/Result_window.ui | 438 + .../design_files/Result_window_design.py | 259 + .../design_files/evaporate_LN2_design.py | 513 + .../design_files/evaporate_LN2_design.ui | 1402 ++ .../design_files/imc_Cernox_calibr.ui | 873 + .../design_files/imc_Cernox_calibr_CRAFT.ui | 960 + .../imc_Cernox_calibr_CRAFT_design.py | 433 + .../design_files/imc_Cernox_calibr_design.py | 379 + Legacy/TF_Control/evaporate_LN2.py | 249 + Legacy/TF_Control/global_variables_TF.py | 97 + Legacy/TF_Control/imc-readout.vi | Bin 0 -> 35819 bytes Legacy/TF_Control/imc_Cernox_calibr_CRAFT.py | 742 + .../TF_Control/imc_Cernox_calibr_control.py | 655 + Legacy/TF_Control/points.txt | 16 + Legacy/TF_Control/requirements.txt | 20 + .../scripts/Analyze_cooldowns_CRAFT.py | 204 + Legacy/TF_Control/scripts/adjust_imc_time.py | 15 + .../scripts/analyse_cooldown_tools.py | 260 + .../scripts/calibrate_csv_raw_file.py | 193 + .../scripts/imc_csv_to_one_csv_file.py | 49 + Legacy/TF_Control/scripts/import_AMR_cal.py | 20 + Legacy/TF_Control/scripts/import_txt.py | 359 + Legacy/TF_Control/scripts/plot_raw_data.py | 63 + Legacy/TF_Control/write_LabView2GlobalVars.py | 46 + todo.org | 4 + 115 files changed, 120982 insertions(+) create mode 100644 Legacy/Instrument_Drivers/#BK_9131B_control.py# create mode 120000 Legacy/Instrument_Drivers/.#BK_9131B_control.py create mode 100644 Legacy/Instrument_Drivers/.DS_Store create mode 100644 Legacy/Instrument_Drivers/.gitignore create mode 100644 Legacy/Instrument_Drivers/Agilent_304_control.py create mode 100644 Legacy/Instrument_Drivers/BK_9131B_control.py create mode 100644 Legacy/Instrument_Drivers/BK_9132B_control.py create mode 100644 Legacy/Instrument_Drivers/BK_9132B_control_2.py create mode 100644 Legacy/Instrument_Drivers/BK_9174B_2_control.py create mode 100644 Legacy/Instrument_Drivers/BK_9174B_control.py create mode 100644 Legacy/Instrument_Drivers/Keithley_2230G_Control.py create mode 100644 Legacy/Instrument_Drivers/Keysight_34461A_2_Control.py create mode 100644 Legacy/Instrument_Drivers/Keysight_34461A_Control.py create mode 100644 Legacy/Instrument_Drivers/Keysight_U2042XA_control.py create mode 100644 Legacy/Instrument_Drivers/LS218_control.py create mode 100644 Legacy/Instrument_Drivers/LS336_control.py create mode 100644 Legacy/Instrument_Drivers/README.md create mode 100644 Legacy/Instrument_Drivers/Tabor_LS6081B_control.py create mode 100644 Legacy/Instrument_Drivers/configs/README.md create mode 100644 Legacy/Instrument_Drivers/design_files/Agilent_304_FS_AG.ui create mode 100644 Legacy/Instrument_Drivers/design_files/Agilent_304_FS_AG_design.py create mode 100644 Legacy/Instrument_Drivers/design_files/BK_9131B.ui create mode 100644 Legacy/Instrument_Drivers/design_files/BK_9131B_design.py create mode 100644 Legacy/Instrument_Drivers/design_files/BK_9132B.ui create mode 100644 Legacy/Instrument_Drivers/design_files/BK_9132B_design.py create mode 100644 Legacy/Instrument_Drivers/design_files/BK_9174B.ui create mode 100644 Legacy/Instrument_Drivers/design_files/BK_9174B_design.py create mode 100644 Legacy/Instrument_Drivers/design_files/Keithley_2230G.ui create mode 100644 Legacy/Instrument_Drivers/design_files/Keithley_2230G_design.py create mode 100644 Legacy/Instrument_Drivers/design_files/Keysight_34461A.ui create mode 100644 Legacy/Instrument_Drivers/design_files/Keysight_34461A_design.py create mode 100644 Legacy/Instrument_Drivers/design_files/Keysight_U2042XA.ui create mode 100644 Legacy/Instrument_Drivers/design_files/Keysight_U2042XA_design.py create mode 100644 Legacy/Instrument_Drivers/design_files/LS218.ui create mode 100644 Legacy/Instrument_Drivers/design_files/LS218_design.py create mode 100644 Legacy/Instrument_Drivers/design_files/LS336.ui create mode 100644 Legacy/Instrument_Drivers/design_files/LS336_design.py create mode 100644 Legacy/Instrument_Drivers/design_files/Tabor_LS6081B.ui create mode 100644 Legacy/Instrument_Drivers/design_files/Tabor_LS6081B_design.py create mode 100644 Legacy/Instrument_Drivers/drivers/Agilent_304_FS_AG.py create mode 100644 Legacy/Instrument_Drivers/drivers/BK_9132B.py create mode 100644 Legacy/Instrument_Drivers/drivers/BK_9174B.py create mode 100644 Legacy/Instrument_Drivers/drivers/Keithley_2230G.py create mode 100644 Legacy/Instrument_Drivers/drivers/Keysight_34461A.py create mode 100644 Legacy/Instrument_Drivers/drivers/Keysight_U2042XA.py create mode 100644 Legacy/Instrument_Drivers/drivers/Lakeshore218.py create mode 100644 Legacy/Instrument_Drivers/drivers/Lakeshore336.py create mode 100644 Legacy/Instrument_Drivers/drivers/Tabor_LS6081B.py create mode 100644 Legacy/Instrument_Drivers/global_variables.py create mode 100644 Legacy/Instrument_Drivers/import_txt.py create mode 100644 Legacy/Instrument_Drivers/requirements.txt create mode 100644 Legacy/TF_Control/.DS_Store create mode 100644 Legacy/TF_Control/.gitignore create mode 100644 Legacy/TF_Control/AMR_calibration.py create mode 100644 Legacy/TF_Control/AMR_config.txt create mode 100644 Legacy/TF_Control/Automation_Measurement.py create mode 100644 Legacy/TF_Control/BT_3D_Plot.py create mode 100644 Legacy/TF_Control/B_Field_Compensation_control.py create mode 100644 Legacy/TF_Control/Belegung Netzteile.txt create mode 100644 Legacy/TF_Control/Main.py create mode 100644 Legacy/TF_Control/README.md create mode 100644 Legacy/TF_Control/Result_window_control.py create mode 100644 Legacy/TF_Control/TCP Multiple Connections - Server.vi create mode 100644 Legacy/TF_Control/configs/AMR_config.txt create mode 100644 Legacy/TF_Control/configs/Automation_Measurement_config.txt create mode 100644 Legacy/TF_Control/configs/B_Field_Compensation_config.txt create mode 100644 Legacy/TF_Control/configs/Bext_compensation_data/Bext_Test.txt create mode 100644 Legacy/TF_Control/configs/Main_config.txt create mode 100644 Legacy/TF_Control/configs/evaporate_LN2.txt create mode 100644 Legacy/TF_Control/configs/evaporate_LN2_config.txt create mode 100644 Legacy/TF_Control/configs/imc_Cernox_calibr_CRAFT_config.txt create mode 100644 Legacy/TF_Control/configs/result_window_config.txt create mode 100644 Legacy/TF_Control/data_analysis/.DS_Store create mode 100644 Legacy/TF_Control/data_analysis/Analyse cooldowns.py create mode 100644 Legacy/TF_Control/data_analysis/Raw_data.py create mode 100644 Legacy/TF_Control/data_analysis/configs/analyse_cooldowns_config.txt create mode 100644 Legacy/TF_Control/data_analysis/design_files/Analyse_cooldown.ui create mode 100644 Legacy/TF_Control/data_analysis/design_files/Analyse_cooldown_design.py create mode 100644 Legacy/TF_Control/data_analysis/design_files/Raw_data.ui create mode 100644 Legacy/TF_Control/data_analysis/design_files/Raw_data_design.py create mode 100644 Legacy/TF_Control/design_files/AMR_calibration.ui create mode 100644 Legacy/TF_Control/design_files/AMR_calibration_design.py create mode 100644 Legacy/TF_Control/design_files/Automation_Measurement.ui create mode 100644 Legacy/TF_Control/design_files/Automation_Measurement_design.py create mode 100644 Legacy/TF_Control/design_files/BT_3D_Plot.ui create mode 100644 Legacy/TF_Control/design_files/BT_3D_Plot_design.py create mode 100644 Legacy/TF_Control/design_files/B_Field_Compensation.ui create mode 100644 Legacy/TF_Control/design_files/B_Field_Compensation_design.py create mode 100644 Legacy/TF_Control/design_files/Main.ui create mode 100644 Legacy/TF_Control/design_files/Main_design.py create mode 100644 Legacy/TF_Control/design_files/Result_window.ui create mode 100644 Legacy/TF_Control/design_files/Result_window_design.py create mode 100644 Legacy/TF_Control/design_files/evaporate_LN2_design.py create mode 100644 Legacy/TF_Control/design_files/evaporate_LN2_design.ui create mode 100644 Legacy/TF_Control/design_files/imc_Cernox_calibr.ui create mode 100644 Legacy/TF_Control/design_files/imc_Cernox_calibr_CRAFT.ui create mode 100644 Legacy/TF_Control/design_files/imc_Cernox_calibr_CRAFT_design.py create mode 100644 Legacy/TF_Control/design_files/imc_Cernox_calibr_design.py create mode 100644 Legacy/TF_Control/evaporate_LN2.py create mode 100644 Legacy/TF_Control/global_variables_TF.py create mode 100644 Legacy/TF_Control/imc-readout.vi create mode 100644 Legacy/TF_Control/imc_Cernox_calibr_CRAFT.py create mode 100644 Legacy/TF_Control/imc_Cernox_calibr_control.py create mode 100644 Legacy/TF_Control/points.txt create mode 100644 Legacy/TF_Control/requirements.txt create mode 100644 Legacy/TF_Control/scripts/Analyze_cooldowns_CRAFT.py create mode 100644 Legacy/TF_Control/scripts/adjust_imc_time.py create mode 100644 Legacy/TF_Control/scripts/analyse_cooldown_tools.py create mode 100644 Legacy/TF_Control/scripts/calibrate_csv_raw_file.py create mode 100644 Legacy/TF_Control/scripts/imc_csv_to_one_csv_file.py create mode 100644 Legacy/TF_Control/scripts/import_AMR_cal.py create mode 100644 Legacy/TF_Control/scripts/import_txt.py create mode 100644 Legacy/TF_Control/scripts/plot_raw_data.py create mode 100644 Legacy/TF_Control/write_LabView2GlobalVars.py create mode 100644 todo.org diff --git a/Legacy/Instrument_Drivers/#BK_9131B_control.py# b/Legacy/Instrument_Drivers/#BK_9131B_control.py# new file mode 100644 index 0000000..58af707 --- /dev/null +++ b/Legacy/Instrument_Drivers/#BK_9131B_control.py# @@ -0,0 +1,434 @@ +from PyQt6.QtGui import * +from PyQt6.QtWidgets import * +from PyQt6.QtCore import * + +import multiprocessing +import multiprocessing.managers + +import time +import traceback,sys,os +import numpy as np +import pyqtgraph as pg +import import_txt +import collections +import itertools + +# Get the current script's directory +current_dir = os.path.dirname(os.path.abspath(__file__)) +# Get the parent directory by going one level up +parent_dir = os.path.dirname(current_dir) +# Add the parent directory to sys.path +sys.path.append(parent_dir) +from drivers import BK_9132B + +from design_files.BK_9131B_design import Ui_MainWindow + + +class WorkerSignals(QObject): + ''' + Defines the signals available from a running worker thread. + Supported signals are: + finished: No data + error: tuple (exctype, value, traceback.format_exc() ) + result: object data returned from processing, anything + progress: int indicating % progress + ''' + finished = pyqtSignal() + error = pyqtSignal(tuple) + result = pyqtSignal(object) + progress = pyqtSignal(list) + + +class Worker(QRunnable): + ''' + Worker thread + Inherits from QRunnable to handler worker thread setup, signals and wrap-up. + :param callback: The function callback to run on this worker thread. Supplied args and + kwargs will be passed through to the runner. + :type callback: function + :param args: Arguments to pass to the callback function + :param kwargs: Keywords to pass to the callback function + ''' + + def __init__(self, fn, *args, **kwargs): + super(Worker, self).__init__() + + # Store constructor arguments (re-used for processing) + self.fn = fn + self.args = args + self.kwargs = kwargs + self.signals = WorkerSignals() + + # Add the callback to our kwargs + self.kwargs['progress_callback'] = self.signals.progress + + @pyqtSlot() + def run(self): + ''' + Initialise the runner function with passed args, kwargs. + ''' + + # Retrieve args/kwargs here; and fire processing using them + try: + result = self.fn(*self.args, **self.kwargs) + except: + traceback.print_exc() + exctype, value = sys.exc_info()[:2] + self.signals.error.emit((exctype, value, traceback.format_exc())) + else: + self.signals.result.emit(result) # Return the result of the processing + finally: + self.signals.finished.emit() # Done + +def get_float(Qline,default = 0): #gets value from QLineEdit and converts it to float. If text is empty or cannot be converted, it returns "default" which is 0, if not specified + try: + out = float(Qline.text()) + except: + out = default + return(out) + +class MainWindow(QMainWindow, Ui_MainWindow): + def __init__(self, *args, **kwargs): + # Get the current script's directory + self.current_dir = os.path.dirname(os.path.abspath(__file__)) + # Get the parent directory by going one level up + self.parent_dir = os.path.dirname(current_dir) + + #establish connection to global variables + try: #try to connect to global variables + manager = multiprocessing.managers.BaseManager(address=('localhost',5001), authkey=b'') + manager.connect() + manager.register('sync_BK_9131B') + self.sync_BK_9131B = manager.sync_BK_9131B() + except: #open global variables, if no connection can be made (i.e. it is not running). Then connect to it + # subprocess.call(['D:\\Python instrument drivers\\env\\Scripts\\python.exe', 'D:\\Python instrument drivers\\StandAlones\\global_variables.py']) + self.global_vars = QProcess() + self.global_vars.start(self.current_dir+"\\env\\Scripts\\python.exe", [self.current_dir+'\\global_variables.py']) + manager.connect() + manager.register('sync_BK_9131B') + self.sync_BK_9131B = manager.sync_BK_9131B() + print('!!!\nI opened global variables myself. If you close me, global variables will shut down too. Consider starting global variables in own instance for more security\n!!!') + + #fill in variables, if they are not defined in global variables + self.sync_BK_9131B.update({'setU':[0,0,0], 'setI':[0,0,0], 'OutputOn':[False, False, False], 'U':[0,0,0], 'I':[0,0,0], 'P':[0,0,0]}) + + #import Gui from QT designer file + super(MainWindow, self).__init__(*args, **kwargs) + self.setupUi(self) + + #setup plot + self.graphWidget.setBackground('w') + self.graphWidget.setTitle("Voltage, Current, Power") + self.graphWidget.setLabel('left', 'Voltage [V], Current [A], Power [W]') + self.graphWidget.setLabel('bottom', 'Time (H)') + axis = pg.DateAxisItem() + self.graphWidget.setAxisItems({'bottom':axis}) + + temp = [time.time(),time.time()-1] + pen1 = pg.mkPen(color=(255, 0, 0), width=2) + pen2 = pg.mkPen(color=(0, 0, 255), width=2) + pen3 = pg.mkPen(color=(0, 255, 0), width=2) + pen4 = pg.mkPen(color=(255, 255, 0), width=2) + pen5 = pg.mkPen(color=(255, 0, 255), width=2) + pen6 = pg.mkPen(color=(0, 255, 255), width=2) + pen7 = pg.mkPen(color=(255, 127, 127), width=2) + pen8 = pg.mkPen(color=(127, 255, 70), width=2) + pen9 = pg.mkPen(color=(255, 127, 70), width=2) + self.plot_1 = self.graphWidget.plot(temp,[1,0],pen = pen1, name = 'V Ch: 1') + self.plot_2 = self.graphWidget.plot(temp,[1,0],pen = pen2, name = 'I Ch: 1') + self.plot_3 = self.graphWidget.plot(temp,[1,0],pen = pen3, name = 'P Ch: 1') + self.plot_4 = self.graphWidget.plot(temp,[1,0],pen = pen4, name = 'V Ch: 2') + self.plot_5 = self.graphWidget.plot(temp,[1,0],pen = pen5, name = 'I Ch: 2') + self.plot_6 = self.graphWidget.plot(temp,[1,0],pen = pen6, name = 'P Ch: 2') + self.plot_7 = self.graphWidget.plot(temp,[1,0],pen = pen7, name = 'V Ch: 3') + self.plot_8 = self.graphWidget.plot(temp,[1,0],pen = pen8, name = 'I Ch: 3') + self.plot_9 = self.graphWidget.plot(temp,[1,0],pen = pen9, name = 'P Ch: 3') + self.graphWidget.addLegend() + + #set up pyQT threadpool + self.threadpool = QThreadPool() + + #define and standard threads. + worker_save = Worker(self.save) + self.threadpool.start(worker_save) + + #define signals and slots + self.actionSet_default.triggered.connect(self.set_default) + self.actionReset_default.triggered.connect(self.read_default) + self.button_connect.clicked.connect(self.start_meas) + self.SB_Nplot.editingFinished.connect(self.set_Npoints) + self.dSB_saveInterval.editingFinished.connect(self.change_timing) + self.checkBox_disableplots.stateChanged.connect(self.set_displot) + + self.checkBox_V_1.stateChanged.connect(self.plot_hide) + self.checkBox_I_1.stateChanged.connect(self.plot_hide) + self.checkBox_P_1.stateChanged.connect(self.plot_hide) + self.checkBox_V_2.stateChanged.connect(self.plot_hide) + self.checkBox_I_2.stateChanged.connect(self.plot_hide) + self.checkBox_P_2.stateChanged.connect(self.plot_hide) + self.checkBox_V_3.stateChanged.connect(self.plot_hide) + self.checkBox_I_3.stateChanged.connect(self.plot_hide) + self.checkBox_P_3.stateChanged.connect(self.plot_hide) + + self.V_set_1.editingFinished.connect(self.set_V) + self.I_set_1.editingFinished.connect(self.set_I) + self.Output_1.stateChanged.connect(self.set_Output) + self.V_set_2.editingFinished.connect(self.set_V) + self.I_set_2.editingFinished.connect(self.set_I) + self.Output_2.stateChanged.connect(self.set_Output) + self.V_set_3.editingFinished.connect(self.set_V) + self.I_set_3.editingFinished.connect(self.set_I) + self.Output_3.stateChanged.connect(self.set_Output) + + + #define constants + self.Voltage = np.zeros((1,3)) #store voltage data + self.Current = np.zeros((1,3)) #store current data + self.Power = np.zeros((1,3)) #store power data + self.t = [time.time()] #store timestamps + self.Npoints = 200 #number of point to plot + self.buffer_size = 36000 #size of ringbuffers for plotting. 36000 is roughly 1 hour, if timng_main is 0.1 s + self.buffer = collections.deque(maxlen=self.buffer_size) #ringbuffer for plot data + self.running = True #true while app is running + self.disable_plot = False #constant to disable plot to improve performance. Is changed by checkbox checkBox_disableplots + self.timing_save = 5 #save intervall [s] + self.set_old = [0,0,1] #variable to save the 'old' set values to compare them to the global variables. It differs from set_new in the first iteration. This ensures that new parameters are send to the device + self.set_new = [0,0,0] #variable to save the new set values to compare them to the old ones + self.Spinboxes_config = [self.V_set_1,self.I_set_1,self.V_set_2,self.I_set_2, + self.V_set_3,self.I_set_3,self.SB_Nplot, self.SB_Buffer_size, + self.dSB_saveInterval]#is used for config file + self.lines_config_strings = [self.line_devAdr,self.line_filePath]#is used for config file + self.checkboxes_config = [self.Output_1, self.Output_2, self.Output_3,self.checkBox_disableplots,self.checkBox_save, + self.checkBox_V_1, self.checkBox_I_1, self.checkBox_P_1, self.checkBox_V_2, self.checkBox_I_2, self.checkBox_P_2, + self.checkBox_V_3, self.checkBox_I_3, self.checkBox_P_3,]#is used for config file + + #read default values from config and set them in gui + self.read_default() + # #write values from gui to global variables. + self.set_V() + self.set_I() + self.set_Output() + #update save intervall to the gui value + self.change_timing() + + + def start_meas(self): + #Connect to device + address = self.line_devAdr.text() + self.BK = BK_9132B.BK_9132B(address) + #start thread for communication with device + self.worker = Worker(self.update_all) + self.worker.signals.progress.connect(self.update_gui) + self.threadpool.start(self.worker) + + def update_all(self, progress_callback): + #get values from device and write them to global variables. Checks if global variables changed from last iteration. Also pass it to upddate_gui with emit(T) + while self.running == True: + for i,n in enumerate(['setU', 'setI', 'OutputOn']): #get new set values from global variables and compare to old ones. + self.set_new[i] = self.sync_BK_9131B.get(n) + + if self.set_new != self.set_old: #if a button is clicked or global variables are changed the program checks which setting has been changed. + if self.set_new[0] != self.set_old[0]: #if setU is changed new setU parameters are sent to device + for CH in [1,2,3]: #for loop for all 3 channels + self.BK.set_Voltage(CH, self.set_new[0][CH-1]) #CH is element of 1-3 but setU parameters have indices of 0-2 + + if self.set_new[1] != self.set_old[1]: #if setI is changed new setI parameters are sent to device + for CH in [1,2,3]: #for loop for all 3 channels + self.BK.set_Current(CH, self.set_new[1][CH-1]) #CH is element of 1-3 but setI parameters have indices of 0-2 + + if self.set_new[2] != self.set_old[2]: #if OutputOn is changed new OutputOn parameters are sent to device + for CH in [1,2,3]: #for loop for all 3 channels + self.BK.set_Output(CH, self.set_new[2][CH-1]) #CH is element of 1-3 but OutputOn parameters have indices of 0-2 + + self.update_setValues(self.set_new) #Change GUI + + U = self.BK.read_Voltage() #read Voltage of all three channels + I = self.BK.read_Current() #read Current of all three channels + P = self.BK.read_Power() #read Power of all three channels + + #store values for save thread + self.Voltage = U + self.Current = I + self.Power = P + + #Write measurement values into global variables + self.sync_BK_9131B.update({'U':U}) + self.sync_BK_9131B.update({'I':I}) + self.sync_BK_9131B.update({'P':P}) + + #Append Ringbuffer + self.buffer.append([time.time()]+U+I+P) + + #emit signal to trigger self.update_gui + progress_callback.emit([U,I,P]) #Emits list of all three lists U,I,P + self.set_old = self.set_new[:] #List needs to be sliced so that only values are taken and not just a pointer is created + # time.sleep(0.1) + + del(self.BK) #disconnect device when self.running is set to False + + def update_gui(self, List): + #Convert List into original format + U = List[0] + I = List[1] + P = List[2] + #set numbers + self.V_1.setText(str(U[0])) + self.I_1.setText(str(I[0])) + self.P_1.setText(str(P[0])) + + self.V_2.setText(str(U[1])) + self.I_2.setText(str(I[1])) + self.P_2.setText(str(P[1])) + + self.V_3.setText(str(U[2])) + self.I_3.setText(str(I[2])) + self.P_3.setText(str(P[2])) + + #plot + #calculate index in buffer where plots start. (Needed for itertools.islice) + I_s = len(self.buffer) - self.Npoints + if I_s < 0: + I_s = 0 + + if self.disable_plot == False: + t = np.array(list(itertools.islice(self.buffer,I_s,None)))[:,0] + self.plot_1.setData(t, np.array(list(itertools.islice(self.buffer,I_s,None)))[:,1])#V1 + self.plot_2.setData(t, np.array(list(itertools.islice(self.buffer,I_s,None)))[:,4])#I1 + self.plot_3.setData(t, np.array(list(itertools.islice(self.buffer,I_s,None)))[:,7])#P1 + self.plot_4.setData(t, np.array(list(itertools.islice(self.buffer,I_s,None)))[:,2])#V2 + self.plot_5.setData(t, np.array(list(itertools.islice(self.buffer,I_s,None)))[:,5])#I2 + self.plot_6.setData(t, np.array(list(itertools.islice(self.buffer,I_s,None)))[:,8])#P2 + self.plot_7.setData(t, np.array(list(itertools.islice(self.buffer,I_s,None)))[:,3])#V3 + self.plot_8.setData(t, np.array(list(itertools.islice(self.buffer,I_s,None)))[:,6])#I3 + self.plot_9.setData(t, np.array(list(itertools.islice(self.buffer,I_s,None)))[:,9])#P3 + + + def update_setValues(self,setV): + #sets setvalues obtained from update_all in gui ['setU', 'setI', 'OutputOn'] + self.V_set_1.setValue(setV[0][0]) + self.I_set_1.setValue(setV[1][0]) + self.Output_1.setChecked(setV[2][0]) + self.V_set_2.setValue(setV[0][1]) + self.I_set_2.setValue(setV[1][1]) + self.Output_2.setChecked(setV[2][1]) + self.V_set_3.setValue(setV[0][2]) + self.I_set_3.setValue(setV[1][2]) + self.Output_3.setChecked(setV[2][2]) + + def set_V(self): + #updates the set voltage in global variables. The change will be detected by update_all and it will be passed to the device + setU = [self.V_set_1.value(), self.V_set_2.value(), self.V_set_3.value()] + print(setU) + self.sync_BK_9131B.update({'setU':setU}) + + def set_I(self): + #updates the set current in global variables. The change will be detected by update_all and it will be passed to the device + setI = [self.I_set_1.value(), self.I_set_2.value(), self.I_set_3.value()] + self.sync_BK_9131B.update({'setI':setI}) + + def set_Output(self): + #updates the set Output in global variables. The change will be detected by update_all and it will be passed to the device + setOutput = [self.Output_1.isChecked(), self.Output_2.isChecked(), self.Output_3.isChecked()] + self.sync_BK_9131B.update({'OutputOn':setOutput}) + + def change_buffer_size(self): + new_len = self.SB_Buffer_size.value() + data = list(self.buffer) + self.buffer = collections.deque(data[-new_len:], maxlen = new_len) + + def set_Npoints(self): + #sets the number of points to plot + self.Npoints = self.SB_Nplot.value() + + def set_displot(self): + #sets variable to disable plot so checkbox state does not need be read out every iteration + self.disable_plot = self.checkBox_disableplots.isChecked() + + def plot_hide(self): + #shows or hides plots according to the checkboxes next to the plot area + boxes = [self.checkBox_V_1, self.checkBox_I_1, self.checkBox_P_1, + self.checkBox_V_2, self.checkBox_I_2, self.checkBox_P_2, + self.checkBox_V_3, self.checkBox_I_3, self.checkBox_P_3] + plots = plots = [self.plot_1, self.plot_2, self.plot_3, self.plot_4, self.plot_5, + self.plot_6, self.plot_7, self.plot_8, self.plot_9] + for b,p in zip(boxes,plots): + if b.isChecked() == True: + p.show() + else: + p.hide() + + def change_timing(self): + #updates the timing which is used for "save". If no value it given, it is set to 1 s + self.timing_save = self.dSB_saveInterval.value() + + def save(self, progress_callback): + #if save checkbox is checked it writes measurement values to file specified in line.filePath. There the full path including file extension must be given. + while self.running == True: + time.sleep(self.timing_save) #wait is at beginning so first point is not corrupted when app just started. + if self.checkBox_save.isChecked() == True: + path = self.line_filePath.text() + if os.path.isfile(path) == False: + with open(path,'a') as file: + file.write('date\tV Ch:1[V]\tI Ch:1[A]\tP Ch:1[W]\tV Ch:2[V]\tI Ch:2[A]\tP Ch:2[W]\tV Ch:3[V]\tI Ch:3[A]\tP Ch:3[W]\n') + file = open(path,'a') + file.write(time.strftime("%Y-%m-%d_%H-%M-%S",time.localtime(t))+'\t') + for i in [0,1,2]: #Loop for all three channels + file.write(f"{self.Voltage[i]}\t") + file.write(f"{self.Current[i]}\t") + file.write(f"{self.Power[i]}\t") + file.write('\n') + file.close + + def set_default(self): + #saves current set values to txt file in subdirectory configs. All entries that are saved are defined in self.lines_config + #Overwrites old values in config file. + current_dir = os.path.dirname(os.path.abspath(__file__)) + path = current_dir+'\\configs\\BK9131B_config.txt' #To make shure the config file is at the right place, independent from where the program is started the location of the file is retrieved + file = open(path,'w') + for s in self.Spinboxes_config: + file.write(f"{s.value()}\t") + for l in self.lines_config_strings: + file.write(l.text()+'\t') + for c in self.checkboxes_config: + file.write(str(c.isChecked())+'\t') + file.write('\n') + file.close + + def read_default(self): + #reads default values from config file in subdirectory config and sets the values in gui. Then self.change is set to true so values are send + #to device. (If no config file exists, it does nothing.) + current_dir = os.path.dirname(os.path.abspath(__file__)) + path = current_dir+'\\configs\\BK9131B_config.txt' #To make shure the config file is read from the right place, independent from where the program is started the location of the file is retrieved + try: #exit function if config file does not exist + vals = import_txt.read_raw(path) + except: + print('no config file found on') + print(path) + return + + for s,v in zip(self.Spinboxes_config,vals[0]): + try: #give float or int, depending on dSB of SB + s.setValue(float(v)) + except TypeError: + s.setValue(int(v)) + + for l,v in zip(self.lines_config_strings,vals[0][len(self.Spinboxes_config):]): + l.setText(v) + + for c,v in zip(self.checkboxes_config,vals[0][len(self.Spinboxes_config)+len(self.lines_config_strings):]): + c.setChecked(v == 'True') + + self.change = True + + def closeEvent(self,event): #when window is closed self.running is set to False, so all threads stop + self.running = False + time.sleep(1) + event.accept() + + + +app = QApplication(sys.argv) + +window = MainWindow() +window.show() +app.exec() \ No newline at end of file diff --git a/Legacy/Instrument_Drivers/.#BK_9131B_control.py b/Legacy/Instrument_Drivers/.#BK_9131B_control.py new file mode 120000 index 0000000..a2ff79b --- /dev/null +++ b/Legacy/Instrument_Drivers/.#BK_9131B_control.py @@ -0,0 +1 @@ +moritz@Moritz-MacBook-Pro.local.707:1751220963 \ No newline at end of file diff --git a/Legacy/Instrument_Drivers/.DS_Store b/Legacy/Instrument_Drivers/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..79088bbefe0826b9a6a8c0ca867414f597865d1a GIT binary patch literal 6148 zcmeHKK~BRk5L}0%7Lh}baPtR1>JLH{UeE`C+CV`{nyM9?^9kvL=D5Xxf7*5KO_sYu@8$l^2r<)I_cXql%apCS5-v>ImOwf9B zz#M2ha3rT=UjMKA_y6r8J2MB&fq&(I8|1TmibvA5HF`K+YdzX68VBRgz literal 0 HcmV?d00001 diff --git a/Legacy/Instrument_Drivers/.gitignore b/Legacy/Instrument_Drivers/.gitignore new file mode 100644 index 0000000..337c9e2 --- /dev/null +++ b/Legacy/Instrument_Drivers/.gitignore @@ -0,0 +1,13 @@ +## list of files and file extensions that should be ignored by git +#pycache files +*pyc + +#config files +*_config.txt +*_config_*.txt + +#virtual environment +env + +#the usual messy files (ignore anything with "test" in it) +test*.* \ No newline at end of file diff --git a/Legacy/Instrument_Drivers/Agilent_304_control.py b/Legacy/Instrument_Drivers/Agilent_304_control.py new file mode 100644 index 0000000..4730aba --- /dev/null +++ b/Legacy/Instrument_Drivers/Agilent_304_control.py @@ -0,0 +1,347 @@ +from PyQt6.QtGui import * +from PyQt6.QtWidgets import * +from PyQt6.QtCore import * + +import multiprocessing +import multiprocessing.managers + +import time +import traceback +import sys +import os +from timeit import default_timer as timer +import collections +import itertools +import numpy as np +import pyqtgraph as pg +import import_txt +from random import random + +# Get the current script's directory +current_dir = os.path.dirname(os.path.abspath(__file__)) +# Get the parent directory by going one level up +parent_dir = os.path.dirname(current_dir) +# Add the parent directory to sys.path +sys.path.append(parent_dir) +from drivers import Agilent_304_FS_AG + +from design_files.Agilent_304_FS_AG_design import Ui_MainWindow + + +class WorkerSignals(QObject): + ''' + Defines the signals available from a running worker thread. + Supported signals are: + finished: No data + error: tuple (exctype, value, traceback.format_exc() ) + result: object data returned from processing, anything + progress: int indicating % progress + ''' + finished = pyqtSignal() + error = pyqtSignal(tuple) + result = pyqtSignal(object) + progress = pyqtSignal(list) + + +class Worker(QRunnable): + ''' + Worker thread + Inherits from QRunnable to handler worker thread setup, signals and wrap-up. + :param callback: The function callback to run on this worker thread. Supplied args and + kwargs will be passed through to the runner. + :type callback: function + :param args: Arguments to pass to the callback function + :param kwargs: Keywords to pass to the callback function + ''' + + def __init__(self, fn, *args, **kwargs): + super(Worker, self).__init__() + + # Store constructor arguments (re-used for processing) + self.fn = fn + self.args = args + self.kwargs = kwargs + self.signals = WorkerSignals() + + # Add the callback to our kwargs + self.kwargs['progress_callback'] = self.signals.progress + + @pyqtSlot() + def run(self): + ''' + Initialise the runner function with passed args, kwargs. + ''' + + # Retrieve args/kwargs here; and fire processing using them + try: + result = self.fn(*self.args, **self.kwargs) + except: + traceback.print_exc() + exctype, value = sys.exc_info()[:2] + self.signals.error.emit((exctype, value, traceback.format_exc())) + else: + self.signals.result.emit(result) # Return the result of the processing + finally: + self.signals.finished.emit() # Done + +def get_float(Qline,default = 0): + '''gets value from QLineEdit and converts it to float. If text is empty or + cannot be converted, it returns "default" which is 0, if not specified''' + try: + out = float(Qline.text()) + except: + out = default + return(out) + +class MainWindow(QMainWindow, Ui_MainWindow): + def __init__(self, *args, **kwargs): + # Get the current script's directory + self.current_dir = os.path.dirname(os.path.abspath(__file__)) + # Get the parent directory by going one level up + self.parent_dir = os.path.dirname(current_dir) + + #establish connection to global variables + try: #try to connect to global variables + manager = multiprocessing.managers.BaseManager(address=('localhost',5001), authkey=b'') + manager.connect() + manager.register('sync_AG_304') + self.sync_AG_304 = manager.sync_AG_304() + except: #open global variables, if no connection can be made (i.e. it is not running). Then connect to it + # subprocess.call(['D:\\Python instrument drivers\\env\\Scripts\\python.exe', 'D:\\Python instrument drivers\\StandAlones\\global_variables.py']) + self.global_vars = QProcess() + self.global_vars.start(self.current_dir+"\\env\\Scripts\\python.exe", [self.current_dir+'\\global_variables.py']) + manager.connect() + manager.register('sync_AG_304') + self.sync_AG_304 = manager.sync_AG_304() + print('!!!\nI opened global variables myself. If you close me, global variables will shut down too. Consider starting global variables in own instance for more security\n!!!') + + #fill in variables, if they are not defined in global variables + self.sync_AG_304.update({'P':0, 'T':0, 'f':0, 'Status': 'Stop'}) + + #import Gui from QT designer file + super(MainWindow, self).__init__(*args, **kwargs) + self.setupUi(self) + + #setup plot + self.graphWidget.setBackground('w') + self.graphWidget.setTitle("Pressure") + self.graphWidget.setLabel('left', 'Pressure [mnbar]') + self.graphWidget.setLabel('bottom', 'Time (H)') + axis = pg.DateAxisItem() + self.graphWidget.setAxisItems({'bottom':axis}) + self.graphWidget.setLogMode(False,True) + + temp = [time.time(),time.time()-1] + pen1 = pg.mkPen(color=(255, 0, 0), width=2) + self.plot_1 = self.graphWidget.plot(temp,[1,0],pen = pen1) + + #set up pyQT threadpool + self.threadpool = QThreadPool() + + #define and standard threads. + worker_save = Worker(self.save) + self.threadpool.start(worker_save) + + #define signals and slots + self.actionSet_default.triggered.connect(self.set_default) + self.actionReset_default.triggered.connect(self.read_default) + self.button_connect.clicked.connect(self.start_meas) + self.SB_N_points.valueChanged.connect(self.set_Npoints) + self.dSB_save_intervall.valueChanged.connect(self.change_timing) + self.checkBox_disableplots.stateChanged.connect(self.set_displot) + self.button_buffer_size.clicked.connect(self.change_buffer_size) + self.Button_start.clicked.connect(self.start_pump) + self.Button_stop.clicked.connect(self.stop_pump) + + #define constants + self.P = 0 #store Pressure data + self.start = False #start Pump? Is set to true be self.start_pump + self.stop = False #Stop Pump? Is set to true be self.stop_pump + self.Npoints = 200 #number of point to plot + self.running = True #true while app is running + self.disable_plot = False #constant to disable plot to improve performance. Is changed by checkbox checkBox_disableplots + self.timing_save = 5 #save intervall [s] + self.buffer_size = 36000 #size of ringbuffers for plotting. 36000 is roughly 1 hour, if timng_main is 0.1 s + self.buffer = collections.deque(maxlen=self.buffer_size) #ringbuffer for plot data + self.lines_config_strings = [self.line_devAdr,self.line_filePath]#is used for config file + self.Spinboxes_config = [self.SB_N_points, self.dSB_save_intervall, self.dSB_timing, + self.SB_Buffer_size]#is used for config file + self.checkboxes_config = [self.checkBox_disableplots,self.checkBox_save]#is used for config file + + #read default values from config and set them in gui + self.read_default() + #update save intervall to the gui value + self.change_timing() + + + def start_meas(self): + #Connect to device + address = self.line_devAdr.text() + self.ag = Agilent_304_FS_AG.AG_304_FS(address) + #start thread for communication with device + self.worker = Worker(self.update_all) + self.worker.signals.progress.connect(self.update_gui) + self.threadpool.start(self.worker) + + def update_all(self, progress_callback): + '''get values from device and write them to global variables.''' + while self.running == True: + start = timer() + P = self.ag.read_pressure() + T = self.ag.read_temp() + f = self.ag.read_freq() + status = self.ag.read_status() + self.P = P #store pressure as global variable for save thread + #Write measurement values into global variables + self.sync_AG_304.update({'P':P}) + self.sync_AG_304.update({'T':T}) + self.sync_AG_304.update({'f':f}) + self.sync_AG_304.update({'Status':status}) + #Append Ringbuffer + self.buffer.append([time.time(),P]) + #emit signal to trigger self.update_gui + progress_callback.emit([P,T,f,status]) + end = timer() + if self.start == True: #check if pump should start or stop + self.ag.start_pump() + time.sleep(2) + self.start = False + elif self.stop == True: + self.ag.stop_pump() + time.sleep(2) + self.stop = False + try: + time.sleep(self.dSB_timing.value()-(end-start)) + except: + print(f"Iteration took {end-start} seconds.") + + del(self.ag) #disconnect device when self.running is set to False + + def update_gui(self, List): + #Convert List into original format + P = List[0] + T = List[1] + f = List[2] + status = List[3] + #set numbers + self.line_P.setText(f"{P:.2e}") + self.line_T.setText(f"{T:.2f}") + self.line_f.setText(f"{f}") + self.line_status.setText(status) + + #plot + #calculate index in buffer where plots start. (Needed for itertools.islice) + I_s = len(self.buffer) - self.Npoints + if I_s < 0: + I_s = 0 + if self.disable_plot == False: + self.plot_1.setData(np.array(list(itertools.islice(self.buffer,I_s,None)))[:,0], + np.array(list(itertools.islice(self.buffer,I_s,None)))[:,1]) + + def start_pump(self): + '''generates prompt to make shure pump should start and, depending on + the input, it sets self.start to True. It is done this way so the controller does not + get multiple inputs at once from different threads.''' + button = QMessageBox.question(self, 'Start Pump','Start Pump?') + if button == QMessageBox.StandardButton.Yes: + print('start') + self.start = True + else: + print('no start') + + def stop_pump(self): + '''generates prompt to make shure pump should stop and, depending on + the input, it sets self.stop to True. It is done this way so the controller does not + get multiple inputs at once from different threads.''' + button = QMessageBox.question(self, 'Stop Pump','Stop Pump?') + if button == QMessageBox.StandardButton.Yes: + print('stop') + self.stop = True + else: + print('no stop') + + def change_buffer_size(self): + new_len = self.SB_Buffer_size.value() + data = list(self.buffer) + self.buffer = collections.deque(data[-new_len:], maxlen = new_len) + + def set_Npoints(self): + #sets the number of points to plot + self.Npoints = self.SB_N_points.value() + + def set_displot(self): + #sets variable to disable plot so checkbox state does not need be read out every iteration + self.disable_plot = self.checkBox_disableplots.isChecked() + + def change_timing(self): + #updates the timing which is used for "save". If no value it given, it is set to 1 s + self.timing_save = self.dSB_save_intervall.value() + + def save(self, progress_callback): + #if save checkbox is checked it writes measurement values to file specified in line.filePath. There the full path including file extension must be given. + while self.running == True: + time.sleep(self.timing_save) #wait is at beginning so first point is not corrupted when app just started. + if self.checkBox_save.isChecked() == True: + path = self.line_filePath.text() + if os.path.isfile(path) == False: + with open(path,'a') as file: + file.write('date\tP[mbar]\n') + file = open(path,'a') + t = self.buffer[len(self.buffer)-1][0] + file.write(time.strftime("%Y-%m-%d_%H-%M-%S",time.localtime(t))+'\t') + file.write(f'{self.P}\n') + file.close + + def set_default(self): + #saves current set values to txt file in subdirectory configs. All entries that are saved are defined in self.lines_config + #Overwrites old values in config file. + current_dir = os.path.dirname(os.path.abspath(__file__)) + path = current_dir+'\\configs\\AG_304_config.txt' #To make shure the config file is at the right place, independent from where the program is started the location of the file is retrieved + file = open(path,'w') + for l in self.lines_config_strings: + file.write(l.text()+'\t') + for s in self.Spinboxes_config: + file.write(f"{s.value()}\t") + for c in self.checkboxes_config: + file.write(str(c.isChecked())+'\t') + file.write('\n') + file.close + + def read_default(self): + #reads default values from config file in subdirectory config and sets the values in gui. Then self.change is set to true so values are send + #to device. (If no config file exists, it does nothing.) + current_dir = os.path.dirname(os.path.abspath(__file__)) + path = current_dir+'\\configs\\AG_304_config.txt' #To make shure the config file is read from the right place, independent from where the program is started the location of the file is retrieved + try: #exit function if config file does not exist + vals = import_txt.read_raw(path) + except: + print('no config file found on') + print(path) + return + + for l,v in zip(self.lines_config_strings,vals[0][:]): + l.setText(v) + + for s,v in zip(self.Spinboxes_config,vals[0][len(self.lines_config_strings):]): + try: #give float or int, depending on dSB of SB + s.setValue(float(v)) + except TypeError: + s.setValue(int(v)) + + for c,v in zip(self.checkboxes_config,vals[0][len(self.lines_config_strings):]): + c.setChecked(v == 'True') + + self.change = True + + def closeEvent(self,event): #when window is closed self.running is set to False, so all threads stop + self.running = False + time.sleep(1) + event.accept() + + + +app = QApplication(sys.argv) + +window = MainWindow() +window.show() +app.exec() \ No newline at end of file diff --git a/Legacy/Instrument_Drivers/BK_9131B_control.py b/Legacy/Instrument_Drivers/BK_9131B_control.py new file mode 100644 index 0000000..0b332e2 --- /dev/null +++ b/Legacy/Instrument_Drivers/BK_9131B_control.py @@ -0,0 +1,434 @@ +from PyQt6.QtGui import * +from PyQt6.QtWidgets import * +from PyQt6.QtCore import * + +import multiprocessing +import multiprocessing.managers + +import time +import traceback,sys,os +import numpy as np +import pyqtgraph as pg +import import_txt +import collections +import itertools + +# Get the current script's directory +current_dir = os.path.dirname(os.path.abspath(__file__)) +# Get the parent directory by going one level up +parent_dir = os.path.dirname(current_dir) +# Add the parent directory to sys.path +sys.path.append(parent_dir) +from drivers import BK_9132B + +from design_files.BK_9131B_design import Ui_MainWindow + + +class WorkerSignals(QObject): + ''' + Defines the signals available from a running worker thread. + Supported signals are: + finished: No data + error: tuple (exctype, value, traceback.format_exc() ) + result: object data returned from processing, anything + progress: int indicating % progress + ''' + finished = pyqtSignal() + error = pyqtSignal(tuple) + result = pyqtSignal(object) + progress = pyqtSignal(list) + + +class Worker(QRunnable): + ''' + Worker thread + Inherits from QRunnable to handler worker thread setup, signals and wrap-up. + :param callback: The function callback to run on this worker thread. Supplied args and + kwargs will be passed through to the runner. + :type callback: function + :param args: Arguments to pass to the callback function + :param kwargs: Keywords to pass to the callback function + ''' + + def __init__(self, fn, *args, **kwargs): + super(Worker, self).__init__() + + # Store constructor arguments (re-used for processing) + self.fn = fn + self.args = args + self.kwargs = kwargs + self.signals = WorkerSignals() + + # Add the callback to our kwargs + self.kwargs['progress_callback'] = self.signals.progress + + @pyqtSlot() + def run(self): + ''' + Initialise the runner function with passed args, kwargs. + ''' + + # Retrieve args/kwargs here; and fire processing using them + try: + result = self.fn(*self.args, **self.kwargs) + except: + traceback.print_exc() + exctype, value = sys.exc_info()[:2] + self.signals.error.emit((exctype, value, traceback.format_exc())) + else: + self.signals.result.emit(result) # Return the result of the processing + finally: + self.signals.finished.emit() # Done + +def get_float(Qline,default = 0): #gets value from QLineEdit and converts it to float. If text is empty or cannot be converted, it returns "default" which is 0, if not specified + try: + out = float(Qline.text()) + except: + out = default + return(out) + +class MainWindow(QMainWindow, Ui_MainWindow): + def __init__(self, *args, **kwargs): + # Get the current script's directory + self.current_dir = os.path.dirname(os.path.abspath(__file__)) + # Get the parent directory by going one level up + self.parent_dir = os.path.dirname(current_dir) + + #establish connection to global variables + try: #try to connect to global variables + manager = multiprocessing.managers.BaseManager(address=('localhost',5001), authkey=b'') + manager.connect() + manager.register('sync_BK_9131B') + self.sync_BK_9131B = manager.sync_BK_9131B() + except: #open global variables, if no connection can be made (i.e. it is not running). Then connect to it + # subprocess.call(['D:\\Python instrument drivers\\env\\Scripts\\python.exe', 'D:\\Python instrument drivers\\StandAlones\\global_variables.py']) + self.global_vars = QProcess() + self.global_vars.start(self.current_dir+"\\env\\Scripts\\python.exe", [self.current_dir+'\\global_variables.py']) + manager.connect() + manager.register('sync_BK_9131B') + self.sync_BK_9131B = manager.sync_BK_9131B() + print('!!!\nI opened global variables myself. If you close me, global variables will shut down too. Consider starting global variables in own instance for more security\n!!!') + + #fill in variables, if they are not defined in global variables + self.sync_BK_9131B.update({'setU':[0,0,0], 'setI':[0,0,0], 'OutputOn':[False, False, False], 'U':[0,0,0], 'I':[0,0,0], 'P':[0,0,0]}) + + #import Gui from QT designer file + super(MainWindow, self).__init__(*args, **kwargs) + self.setupUi(self) + + #setup plot + self.graphWidget.setBackground('w') + self.graphWidget.setTitle("Voltage, Current, Power") + self.graphWidget.setLabel('left', 'Voltage [V], Current [A], Power [W]') + self.graphWidget.setLabel('bottom', 'Time (H)') + axis = pg.DateAxisItem() + self.graphWidget.setAxisItems({'bottom':axis}) + + temp = [time.time(),time.time()-1] + pen1 = pg.mkPen(color=(255, 0, 0), width=2) + pen2 = pg.mkPen(color=(0, 0, 255), width=2) + pen3 = pg.mkPen(color=(0, 255, 0), width=2) + pen4 = pg.mkPen(color=(255, 255, 0), width=2) + pen5 = pg.mkPen(color=(255, 0, 255), width=2) + pen6 = pg.mkPen(color=(0, 255, 255), width=2) + pen7 = pg.mkPen(color=(255, 127, 127), width=2) + pen8 = pg.mkPen(color=(127, 255, 70), width=2) + pen9 = pg.mkPen(color=(255, 127, 70), width=2) + self.plot_1 = self.graphWidget.plot(temp,[1,0],pen = pen1, name = 'V Ch: 1') + self.plot_2 = self.graphWidget.plot(temp,[1,0],pen = pen2, name = 'I Ch: 1') + self.plot_3 = self.graphWidget.plot(temp,[1,0],pen = pen3, name = 'P Ch: 1') + self.plot_4 = self.graphWidget.plot(temp,[1,0],pen = pen4, name = 'V Ch: 2') + self.plot_5 = self.graphWidget.plot(temp,[1,0],pen = pen5, name = 'I Ch: 2') + self.plot_6 = self.graphWidget.plot(temp,[1,0],pen = pen6, name = 'P Ch: 2') + self.plot_7 = self.graphWidget.plot(temp,[1,0],pen = pen7, name = 'V Ch: 3') + self.plot_8 = self.graphWidget.plot(temp,[1,0],pen = pen8, name = 'I Ch: 3') + self.plot_9 = self.graphWidget.plot(temp,[1,0],pen = pen9, name = 'P Ch: 3') + self.graphWidget.addLegend() + + #set up pyQT threadpool + self.threadpool = QThreadPool() + + #define and standard threads. + worker_save = Worker(self.save) + self.threadpool.start(worker_save) + + #define signals and slots + self.actionSet_default.triggered.connect(self.set_default) + self.actionReset_default.triggered.connect(self.read_default) + self.button_connect.clicked.connect(self.start_meas) + self.SB_Nplot.editingFinished.connect(self.set_Npoints) + self.dSB_saveInterval.editingFinished.connect(self.change_timing) + self.checkBox_disableplots.stateChanged.connect(self.set_displot) + + self.checkBox_V_1.stateChanged.connect(self.plot_hide) + self.checkBox_I_1.stateChanged.connect(self.plot_hide) + self.checkBox_P_1.stateChanged.connect(self.plot_hide) + self.checkBox_V_2.stateChanged.connect(self.plot_hide) + self.checkBox_I_2.stateChanged.connect(self.plot_hide) + self.checkBox_P_2.stateChanged.connect(self.plot_hide) + self.checkBox_V_3.stateChanged.connect(self.plot_hide) + self.checkBox_I_3.stateChanged.connect(self.plot_hide) + self.checkBox_P_3.stateChanged.connect(self.plot_hide) + + self.V_set_1.editingFinished.connect(self.set_V) + self.I_set_1.editingFinished.connect(self.set_I) + self.Output_1.stateChanged.connect(self.set_Output) + self.V_set_2.editingFinished.connect(self.set_V) + self.I_set_2.editingFinished.connect(self.set_I) + self.Output_2.stateChanged.connect(self.set_Output) + self.V_set_3.editingFinished.connect(self.set_V) + self.I_set_3.editingFinished.connect(self.set_I) + self.Output_3.stateChanged.connect(self.set_Output) + + + #define constants + self.Voltage = np.zeros((1,3)) #store voltage data + self.Current = np.zeros((1,3)) #store current data + self.Power = np.zeros((1,3)) #store power data + self.t = [time.time()] #store timestamps + self.Npoints = 200 #number of point to plot + self.buffer_size = 36000 #size of ringbuffers for plotting. 36000 is roughly 1 hour, if timng_main is 0.1 s + self.buffer = collections.deque(maxlen=self.buffer_size) #ringbuffer for plot data + self.running = True #true while app is running + self.disable_plot = False #constant to disable plot to improve performance. Is changed by checkbox checkBox_disableplots + self.timing_save = 5 #save intervall [s] + self.set_old = [0,0,1] #variable to save the 'old' set values to compare them to the global variables. It differs from set_new in the first iteration. This ensures that new parameters are send to the device + self.set_new = [0,0,0] #variable to save the new set values to compare them to the old ones + self.Spinboxes_config = [self.V_set_1,self.I_set_1,self.V_set_2,self.I_set_2, + self.V_set_3,self.I_set_3,self.SB_Nplot, self.SB_Buffer_size, + self.dSB_saveInterval]#is used for config file + self.lines_config_strings = [self.line_devAdr,self.line_filePath]#is used for config file + self.checkboxes_config = [self.Output_1, self.Output_2, self.Output_3,self.checkBox_disableplots,self.checkBox_save, + self.checkBox_V_1, self.checkBox_I_1, self.checkBox_P_1, self.checkBox_V_2, self.checkBox_I_2, self.checkBox_P_2, + self.checkBox_V_3, self.checkBox_I_3, self.checkBox_P_3,]#is used for config file + + #read default values from config and set them in gui + self.read_default() + # #write values from gui to global variables. + self.set_V() + self.set_I() + self.set_Output() + #update save intervall to the gui value + self.change_timing() + + + def start_meas(self): + #Connect to device + address = self.line_devAdr.text() + self.BK = BK_9132B.BK_9132B(address) + #start thread for communication with device + self.worker = Worker(self.update_all) + self.worker.signals.progress.connect(self.update_gui) + self.threadpool.start(self.worker) + + def update_all(self, progress_callback): + #get values from device and write them to global variables. Checks if global variables changed from last iteration. Also pass it to upddate_gui with emit(T) + while self.running == True: + for i,n in enumerate(['setU', 'setI', 'OutputOn']): #get new set values from global variables and compare to old ones. + self.set_new[i] = self.sync_BK_9131B.get(n) + + if self.set_new != self.set_old: #if a button is clicked or global variables are changed the program checks which setting has been changed. + if self.set_new[0] != self.set_old[0]: #if setU is changed new setU parameters are sent to device + for CH in [1,2,3]: #for loop for all 3 channels + self.BK.set_Voltage(CH, self.set_new[0][CH-1]) #CH is element of 1-3 but setU parameters have indices of 0-2 + + if self.set_new[1] != self.set_old[1]: #if setI is changed new setI parameters are sent to device + for CH in [1,2,3]: #for loop for all 3 channels + self.BK.set_Current(CH, self.set_new[1][CH-1]) #CH is element of 1-3 but setI parameters have indices of 0-2 + + if self.set_new[2] != self.set_old[2]: #if OutputOn is changed new OutputOn parameters are sent to device + for CH in [1,2,3]: #for loop for all 3 channels + self.BK.set_Output(CH, self.set_new[2][CH-1]) #CH is element of 1-3 but OutputOn parameters have indices of 0-2 + + self.update_setValues(self.set_new) #Change GUI + + U = self.BK.read_Voltage() #read Voltage of all three channels + I = self.BK.read_Current() #read Current of all three channels + P = self.BK.read_Power() #read Power of all three channels + + #store values for save thread + self.Voltage = U + self.Current = I + self.Power = P + + #Write measurement values into global variables + self.sync_BK_9131B.update({'U':U}) + self.sync_BK_9131B.update({'I':I}) + self.sync_BK_9131B.update({'P':P}) + + #Append Ringbuffer + self.buffer.append([time.time()]+U+I+P) + + #emit signal to trigger self.update_gui + progress_callback.emit([U,I,P]) #Emits list of all three lists U,I,P + self.set_old = self.set_new[:] #List needs to be sliced so that only values are taken and not just a pointer is created + # time.sleep(0.1) + + del(self.BK) #disconnect device when self.running is set to False + + def update_gui(self, List): + #Convert List into original format + U = List[0] + I = List[1] + P = List[2] + #set numbers + self.V_1.setText(str(U[0])) + self.I_1.setText(str(I[0])) + self.P_1.setText(str(P[0])) + + self.V_2.setText(str(U[1])) + self.I_2.setText(str(I[1])) + self.P_2.setText(str(P[1])) + + self.V_3.setText(str(U[2])) + self.I_3.setText(str(I[2])) + self.P_3.setText(str(P[2])) + + #plot + #calculate index in buffer where plots start. (Needed for itertools.islice) + I_s = len(self.buffer) - self.Npoints + if I_s < 0: + I_s = 0 + + if self.disable_plot == False: + t = np.array(list(itertools.islice(self.buffer,I_s,None)))[:,0] + self.plot_1.setData(t, np.array(list(itertools.islice(self.buffer,I_s,None)))[:,1])#V1 + self.plot_2.setData(t, np.array(list(itertools.islice(self.buffer,I_s,None)))[:,4])#I1 + self.plot_3.setData(t, np.array(list(itertools.islice(self.buffer,I_s,None)))[:,7])#P1 + self.plot_4.setData(t, np.array(list(itertools.islice(self.buffer,I_s,None)))[:,2])#V2 + self.plot_5.setData(t, np.array(list(itertools.islice(self.buffer,I_s,None)))[:,5])#I2 + self.plot_6.setData(t, np.array(list(itertools.islice(self.buffer,I_s,None)))[:,8])#P2 + self.plot_7.setData(t, np.array(list(itertools.islice(self.buffer,I_s,None)))[:,3])#V3 + self.plot_8.setData(t, np.array(list(itertools.islice(self.buffer,I_s,None)))[:,6])#I3 + self.plot_9.setData(t, np.array(list(itertools.islice(self.buffer,I_s,None)))[:,9])#P3 + + + def update_setValues(self,setV): + #sets setvalues obtained from update_all in gui ['setU', 'setI', 'OutputOn'] + self.V_set_1.setValue(setV[0][0]) + self.I_set_1.setValue(setV[1][0]) + self.Output_1.setChecked(setV[2][0]) + self.V_set_2.setValue(setV[0][1]) + self.I_set_2.setValue(setV[1][1]) + self.Output_2.setChecked(setV[2][1]) + self.V_set_3.setValue(setV[0][2]) + self.I_set_3.setValue(setV[1][2]) + self.Output_3.setChecked(setV[2][2]) + + def set_V(self): + #updates the set voltage in global variables. The change will be detected by update_all and it will be passed to the device + setU = [self.V_set_1.value(), self.V_set_2.value(), self.V_set_3.value()] + print(setU) + self.sync_BK_9131B.update({'setU':setU}) + + def set_I(self): + #updates the set current in global variables. The change will be detected by update_all and it will be passed to the device + setI = [self.I_set_1.value(), self.I_set_2.value(), self.I_set_3.value()] + self.sync_BK_9131B.update({'setI':setI}) + + def set_Output(self): + #updates the set Output in global variables. The change will be detected by update_all and it will be passed to the device + setOutput = [self.Output_1.isChecked(), self.Output_2.isChecked(), self.Output_3.isChecked()] + self.sync_BK_9131B.update({'OutputOn':setOutput}) + + def change_buffer_size(self): + new_len = self.SB_Buffer_size.value() + data = list(self.buffer) + self.buffer = collections.deque(data[-new_len:], maxlen = new_len) + + def set_Npoints(self): + #sets the number of points to plot + self.Npoints = self.SB_Nplot.value() + + def set_displot(self): + #sets variable to disable plot so checkbox state does not need be read out every iteration + self.disable_plot = self.checkBox_disableplots.isChecked() + + def plot_hide(self): + #shows or hides plots according to the checkboxes next to the plot area + boxes = [self.checkBox_V_1, self.checkBox_I_1, self.checkBox_P_1, + self.checkBox_V_2, self.checkBox_I_2, self.checkBox_P_2, + self.checkBox_V_3, self.checkBox_I_3, self.checkBox_P_3] + plots = plots = [self.plot_1, self.plot_2, self.plot_3, self.plot_4, self.plot_5, + self.plot_6, self.plot_7, self.plot_8, self.plot_9] + for b,p in zip(boxes,plots): + if b.isChecked() == True: + p.show() + else: + p.hide() + + def change_timing(self): + #updates the timing which is used for "save". If no value it given, it is set to 1 s + self.timing_save = self.dSB_saveInterval.value() + + def save(self, progress_callback): + #if save checkbox is checked it writes measurement values to file specified in line.filePath. There the full path including file extension must be given. + while self.running == True: + time.sleep(self.timing_save) #wait is at beginning so first point is not corrupted when app just started. + if self.checkBox_save.isChecked() == True: + path = self.line_filePath.text() + if os.path.isfile(path) == False: + with open(path,'a') as file: + file.write('date\tV Ch:1[V]\tI Ch:1[A]\tP Ch:1[W]\tV Ch:2[V]\tI Ch:2[A]\tP Ch:2[W]\tV Ch:3[V]\tI Ch:3[A]\tP Ch:3[W]\n') + file = open(path,'a') + file.write(time.strftime("%Y-%m-%d_%H-%M-%S",time.localtime(t))+'\t') + for i in [0,1,2]: #Loop for all three channels + file.write(f"{self.Voltage[i]}\t") + file.write(f"{self.Current[i]}\t") + file.write(f"{self.Power[i]}\t") + file.write('\n') + file.close + + def set_default(self): + #saves current set values to txt file in subdirectory configs. All entries that are saved are defined in self.lines_config + #Overwrites old values in config file. + current_dir = os.path.dirname(os.path.abspath(__file__)) + path = current_dir+'\\configs\\BK9131B_config.txt' #To make shure the config file is at the right place, independent from where the program is started the location of the file is retrieved + file = open(path,'w') + for s in self.Spinboxes_config: + file.write(f"{s.value()}\t") + for l in self.lines_config_strings: + file.write(l.text()+'\t') + for c in self.checkboxes_config: + file.write(str(c.isChecked())+'\t') + file.write('\n') + file.close + + def read_default(self): + #reads default values from config file in subdirectory config and sets the values in gui. Then self.change is set to true so values are send + #to device. (If no config file exists, it does nothing.) + current_dir = os.path.dirname(os.path.abspath(__file__)) + path = current_dir+'\\configs\\BK9131B_config.txt' #To make shure the config file is read from the right place, independent from where the program is started the location of the file is retrieved + try: #exit function if config file does not exist + vals = import_txt.read_raw(path) + except: + print('no config file found on') + print(path) + return + + for s,v in zip(self.Spinboxes_config,vals[0]): + try: #give float or int, depending on dSB of SB + s.setValue(float(v)) + except TypeError: + s.setValue(int(v)) + + for l,v in zip(self.lines_config_strings,vals[0][len(self.Spinboxes_config):]): + l.setText(v) + + for c,v in zip(self.checkboxes_config,vals[0][len(self.Spinboxes_config)+len(self.lines_config_strings):]): + c.setChecked(v == 'True') + + self.change = True + + def closeEvent(self,event): #when window is closed self.running is set to False, so all threads stop + self.running = False + time.sleep(1) + event.accept() + + + +app = QApplication(sys.argv) + +window = MainWindow() +window.show() +app.exec() \ No newline at end of file diff --git a/Legacy/Instrument_Drivers/BK_9132B_control.py b/Legacy/Instrument_Drivers/BK_9132B_control.py new file mode 100644 index 0000000..674fb11 --- /dev/null +++ b/Legacy/Instrument_Drivers/BK_9132B_control.py @@ -0,0 +1,413 @@ +from PyQt6.QtGui import * +from PyQt6.QtWidgets import * +from PyQt6.QtCore import * + +import multiprocessing +import multiprocessing.managers + +import time +import traceback,sys,os +import numpy as np +import pyqtgraph as pg +import import_txt + +# Get the current script's directory +current_dir = os.path.dirname(os.path.abspath(__file__)) +# Get the parent directory by going one level up +parent_dir = os.path.dirname(current_dir) +# Add the parent directory to sys.path +sys.path.append(parent_dir) +from drivers import BK_9132B + +from design_files.BK_9132B_design import Ui_MainWindow + + +class WorkerSignals(QObject): + ''' + Defines the signals available from a running worker thread. + Supported signals are: + finished: No data + error: tuple (exctype, value, traceback.format_exc() ) + result: object data returned from processing, anything + progress: int indicating % progress + ''' + finished = pyqtSignal() + error = pyqtSignal(tuple) + result = pyqtSignal(object) + progress = pyqtSignal(list) + + +class Worker(QRunnable): + ''' + Worker thread + Inherits from QRunnable to handler worker thread setup, signals and wrap-up. + :param callback: The function callback to run on this worker thread. Supplied args and + kwargs will be passed through to the runner. + :type callback: function + :param args: Arguments to pass to the callback function + :param kwargs: Keywords to pass to the callback function + ''' + + def __init__(self, fn, *args, **kwargs): + super(Worker, self).__init__() + + # Store constructor arguments (re-used for processing) + self.fn = fn + self.args = args + self.kwargs = kwargs + self.signals = WorkerSignals() + + # Add the callback to our kwargs + self.kwargs['progress_callback'] = self.signals.progress + + @pyqtSlot() + def run(self): + ''' + Initialise the runner function with passed args, kwargs. + ''' + + # Retrieve args/kwargs here; and fire processing using them + try: + result = self.fn(*self.args, **self.kwargs) + except: + traceback.print_exc() + exctype, value = sys.exc_info()[:2] + self.signals.error.emit((exctype, value, traceback.format_exc())) + else: + self.signals.result.emit(result) # Return the result of the processing + finally: + self.signals.finished.emit() # Done + +def get_float(Qline,default = 0): #gets value from QLineEdit and converts it to float. If text is empty or cannot be converted, it returns "default" which is 0, if not specified + try: + out = float(Qline.text()) + except: + out = default + return(out) + +class MainWindow(QMainWindow, Ui_MainWindow): + def __init__(self, *args, **kwargs): + # Get the current script's directory + self.current_dir = os.path.dirname(os.path.abspath(__file__)) + # Get the parent directory by going one level up + self.parent_dir = os.path.dirname(current_dir) + + #establish connection to global variables + try: #try to connect to global variables + manager = multiprocessing.managers.BaseManager(address=('localhost',5001), authkey=b'') + manager.connect() + manager.register('sync_BK_9132B') + self.sync_BK_9132B = manager.sync_BK_9132B() + except: #open global variables, if no connection can be made (i.e. it is not running). Then connect to it + # subprocess.call(['D:\\Python instrument drivers\\env\\Scripts\\python.exe', 'D:\\Python instrument drivers\\StandAlones\\global_variables.py']) + self.global_vars = QProcess() + self.global_vars.start(self.current_dir+"\\env\\Scripts\\python.exe", [self.current_dir+'\\global_variables.py']) + manager.connect() + manager.register('sync_BK_9132B') + self.sync_BK_9132B = manager.sync_BK_9132B() + print('!!!\nI opened global variables myself. If you close me, global variables will shut down too. Consider starting global variables in own instance for more security\n!!!') + + #fill in variables, if they are not defined in global variables + self.sync_BK_9132B.update({'setU':[0,0,0], 'setI':[0,0,0], 'OutputOn':[False, False, False], 'U':[0,0,0], 'I':[0,0,0], 'P':[0,0,0]}) + + #import Gui from QT designer file + super(MainWindow, self).__init__(*args, **kwargs) + self.setupUi(self) + + #setup plot + self.graphWidget.setBackground('w') + self.graphWidget.setTitle("Voltage, Current, Power") + self.graphWidget.setLabel('left', 'Voltage [V], Current [A], Power [W]') + self.graphWidget.setLabel('bottom', 'Time (H)') + axis = pg.DateAxisItem() + self.graphWidget.setAxisItems({'bottom':axis}) + + temp = [time.time(),time.time()-1] + pen1 = pg.mkPen(color=(255, 0, 0), width=2) + pen2 = pg.mkPen(color=(0, 0, 255), width=2) + pen3 = pg.mkPen(color=(0, 255, 0), width=2) + pen4 = pg.mkPen(color=(255, 255, 0), width=2) + pen5 = pg.mkPen(color=(255, 0, 255), width=2) + pen6 = pg.mkPen(color=(0, 255, 255), width=2) + pen7 = pg.mkPen(color=(255, 127, 127), width=2) + pen8 = pg.mkPen(color=(127, 255, 70), width=2) + pen9 = pg.mkPen(color=(255, 127, 70), width=2) + self.plot_1 = self.graphWidget.plot(temp,[1,0],pen = pen1, name = 'V Ch: 1') + self.plot_2 = self.graphWidget.plot(temp,[1,0],pen = pen2, name = 'I Ch: 1') + self.plot_3 = self.graphWidget.plot(temp,[1,0],pen = pen3, name = 'P Ch: 1') + self.plot_4 = self.graphWidget.plot(temp,[1,0],pen = pen4, name = 'V Ch: 2') + self.plot_5 = self.graphWidget.plot(temp,[1,0],pen = pen5, name = 'I Ch: 2') + self.plot_6 = self.graphWidget.plot(temp,[1,0],pen = pen6, name = 'P Ch: 2') + self.plot_7 = self.graphWidget.plot(temp,[1,0],pen = pen7, name = 'V Ch: 3') + self.plot_8 = self.graphWidget.plot(temp,[1,0],pen = pen8, name = 'I Ch: 3') + self.plot_9 = self.graphWidget.plot(temp,[1,0],pen = pen9, name = 'P Ch: 3') + self.graphWidget.addLegend() + + #set up pyQT threadpool + self.threadpool = QThreadPool() + + #define and standard threads. + worker_save = Worker(self.save) + self.threadpool.start(worker_save) + + #define signals and slots + self.actionSet_default.triggered.connect(self.set_default) + self.actionReset_default.triggered.connect(self.read_default) + self.button_connect.clicked.connect(self.start_meas) + self.line_Nplot.editingFinished.connect(self.set_Npoints) + self.line_saveInterval.editingFinished.connect(self.change_timing) + self.checkBox_disableplots.stateChanged.connect(self.set_displot) + + self.checkBox_V_1.stateChanged.connect(self.plot_hide) + self.checkBox_I_1.stateChanged.connect(self.plot_hide) + self.checkBox_P_1.stateChanged.connect(self.plot_hide) + self.checkBox_V_2.stateChanged.connect(self.plot_hide) + self.checkBox_I_2.stateChanged.connect(self.plot_hide) + self.checkBox_P_2.stateChanged.connect(self.plot_hide) + self.checkBox_V_3.stateChanged.connect(self.plot_hide) + self.checkBox_I_3.stateChanged.connect(self.plot_hide) + self.checkBox_P_3.stateChanged.connect(self.plot_hide) + + self.V_set_1.editingFinished.connect(self.set_V) + self.I_set_1.editingFinished.connect(self.set_I) + self.Output_1.stateChanged.connect(self.set_Output) + self.V_set_2.editingFinished.connect(self.set_V) + self.I_set_2.editingFinished.connect(self.set_I) + self.Output_2.stateChanged.connect(self.set_Output) + self.V_set_3.editingFinished.connect(self.set_V) + self.I_set_3.editingFinished.connect(self.set_I) + self.Output_3.stateChanged.connect(self.set_Output) + + + #define constants + self.Voltage = np.zeros((1,3)) #store voltage data + self.Current = np.zeros((1,3)) #store current data + self.Power = np.zeros((1,3)) #store power data + self.t = [time.time()] #store timestamps + self.Npoints = 200 #number of point to plot + self.running = True #true while app is running + self.disable_plot = False #constant to disable plot to improve performance. Is changed by checkbox checkBox_disableplots + self.timing_save = 5 #save intervall [s] + self.set_old = [0,0,1] #variable to save the 'old' set values to compare them to the global variables. It differs from set_new in the first iteration. This ensures that new parameters are send to the device + self.set_new = [0,0,0] #variable to save the new set values to compare them to the old ones + self.lines_config_float = [self.V_set_1,self.I_set_1,self.V_set_2,self.I_set_2,self.V_set_3,self.I_set_3,self.line_Nplot]#is used for config file + self.lines_config_strings = [self.line_devAdr,self.line_filePath,self.line_saveInterval]#is used for config file + self.checkboxes_config = [self.Output_1, self.Output_2, self.Output_3,self.checkBox_disableplots,self.checkBox_save, + self.checkBox_V_1, self.checkBox_I_1, self.checkBox_P_1, self.checkBox_V_2, self.checkBox_I_2, self.checkBox_P_2, + self.checkBox_V_3, self.checkBox_I_3, self.checkBox_P_3,]#is used for config file + + #read default values from config and set them in gui + self.read_default() + # #write values from gui to global variables. + self.set_V() + self.set_I() + self.set_Output() + #update save intervall to the gui value + self.change_timing() + + + def start_meas(self): + #Connect to device + address = self.line_devAdr.text() + self.BK = BK_9132B.BK_9132B(address) + #start thread for communication with device + self.worker = Worker(self.update_all) + self.worker.signals.progress.connect(self.update_gui) + self.threadpool.start(self.worker) + + def update_all(self, progress_callback): + #get values from device and write them to global variables. Checks if global variables changed from last iteration. Also pass it to upddate_gui with emit(T) + while self.running == True: + for i,n in enumerate(['setU', 'setI', 'OutputOn']): #get new set values from global variables and compare to old ones. + self.set_new[i] = self.sync_BK_9132B.get(n) + + if self.set_new != self.set_old: #if a button is clicked or global variables are changed the program checks which setting has been changed. + if self.set_new[0] != self.set_old[0]: #if setU is changed new setU parameters are sent to device + for CH in [1,2,3]: #for loop for all 3 channels + self.BK.set_Voltage(CH, self.set_new[0][CH-1]) #CH is element of 1-3 but setU parameters have indices of 0-2 + + if self.set_new[1] != self.set_old[1]: #if setI is changed new setI parameters are sent to device + for CH in [1,2,3]: #for loop for all 3 channels + self.BK.set_Current(CH, self.set_new[1][CH-1]) #CH is element of 1-3 but setI parameters have indices of 0-2 + + if self.set_new[2] != self.set_old[2]: #if OutputOn is changed new OutputOn parameters are sent to device + for CH in [1,2,3]: #for loop for all 3 channels + self.BK.set_Output(CH, self.set_new[2][CH-1]) #CH is element of 1-3 but OutputOn parameters have indices of 0-2 + + self.update_setValues(self.set_new) #Change GUI + + U = self.BK.read_Voltage() #read Voltage of all three channels + I = self.BK.read_Current() #read Current of all three channels + P = self.BK.read_Power() #read Power of all three channels + #Write measurement values into global variables + self.sync_BK_9132B.update({'U':U}) + self.sync_BK_9132B.update({'I':I}) + self.sync_BK_9132B.update({'P':P}) + progress_callback.emit([U,I,P]) #Emits list of all three lists U,I,P + self.set_old = self.set_new[:] #List needs to be sliced so that only values are taken and not just a pointer is created + # time.sleep(0.1) + + del(self.BK) #disconnect device when self.running is set to False + + def update_gui(self, List): + #Convert List into original format + U = List[0] + I = List[1] + P = List[2] + #set numbers + self.V_1.setText(str(U[0])) + self.I_1.setText(str(I[0])) + self.P_1.setText(str(P[0])) + + self.V_2.setText(str(U[1])) + self.I_2.setText(str(I[1])) + self.P_2.setText(str(P[1])) + + self.V_3.setText(str(U[2])) + self.I_3.setText(str(I[2])) + self.P_3.setText(str(P[2])) + + #Create database for plotting + self.Voltage = np.vstack([self.Voltage, np.array(U)]) + self.Current = np.vstack([self.Current, np.array(I)]) + self.Power = np.vstack([self.Power, np.array(P)]) + # x = range(len(self.Temperature)) + self.t.append(time.time()) + + #plot + if self.disable_plot == False: + self.plot_1.setData(self.t[-self.Npoints:],self.Voltage[-self.Npoints:,0]) + self.plot_2.setData(self.t[-self.Npoints:],self.Current[-self.Npoints:,0]) + self.plot_3.setData(self.t[-self.Npoints:],self.Power[-self.Npoints:,0]) + self.plot_4.setData(self.t[-self.Npoints:],self.Voltage[-self.Npoints:,1]) + self.plot_5.setData(self.t[-self.Npoints:],self.Current[-self.Npoints:,1]) + self.plot_6.setData(self.t[-self.Npoints:],self.Power[-self.Npoints:,1]) + self.plot_7.setData(self.t[-self.Npoints:],self.Voltage[-self.Npoints:,2]) + self.plot_8.setData(self.t[-self.Npoints:],self.Current[-self.Npoints:,2]) + self.plot_9.setData(self.t[-self.Npoints:],self.Power[-self.Npoints:,2]) + + def update_setValues(self,setV): + #sets setvalues obtained from update_all in gui ['setU', 'setI', 'OutputOn'] + self.V_set_1.setText(f"{setV[0][0]}") + self.I_set_1.setText(f"{setV[1][0]}") + self.Output_1.setChecked(setV[2][0]) + self.V_set_2.setText(f"{setV[0][1]}") + self.I_set_2.setText(f"{setV[1][1]}") + self.Output_2.setChecked(setV[2][1]) + self.V_set_3.setText(f"{setV[0][2]}") + self.I_set_3.setText(f"{setV[1][2]}") + self.Output_3.setChecked(setV[2][2]) + + def set_V(self): + #updates the set voltage in global variables. The change will be detected by update_all and it will be passed to the device + setU = [get_float(self.V_set_1), get_float(self.V_set_2), get_float(self.V_set_3)] + self.sync_BK_9132B.update({'setU':setU}) + + def set_I(self): + #updates the set current in global variables. The change will be detected by update_all and it will be passed to the device + setI = [get_float(self.I_set_1), get_float(self.I_set_2), get_float(self.I_set_3)] + self.sync_BK_9132B.update({'setI':setI}) + + def set_Output(self): + #updates the set Output in global variables. The change will be detected by update_all and it will be passed to the device + setOutput = [self.Output_1.isChecked(), self.Output_2.isChecked(), self.Output_3.isChecked()] + self.sync_BK_9132B.update({'OutputOn':setOutput}) + + + + def set_Npoints(self): + #sets the number of points to plot + self.Npoints = int(self.line_Nplot.text()) + + def set_displot(self): + #sets variable to disable plot so checkbox state does not need be read out every iteration + self.disable_plot = self.checkBox_disableplots.isChecked() + + def plot_hide(self): + #shows or hides plots according to the checkboxes next to the plot area + boxes = [self.checkBox_V_1, self.checkBox_I_1, self.checkBox_P_1, + self.checkBox_V_2, self.checkBox_I_2, self.checkBox_P_2, + self.checkBox_V_3, self.checkBox_I_3, self.checkBox_P_3] + plots = plots = [self.plot_1, self.plot_2, self.plot_3, self.plot_4, self.plot_5, + self.plot_6, self.plot_7, self.plot_8, self.plot_9] + for b,p in zip(boxes,plots): + if b.isChecked() == True: + p.show() + else: + p.hide() + + def change_timing(self): + #updates the timing which is used for "save". If no value it given, it is set to 1 s + self.timing_save = get_float(self.line_saveInterval,1) + + def save(self, progress_callback): + #if save checkbox is checked it writes measurement values to file specified in line.filePath. There the full path including file extension must be given. + while self.running == True: + time.sleep(self.timing_save) #wait is at beginning so first point is not corrupted when app just started. + if self.checkBox_save.isChecked() == True: + path = self.line_filePath.text() + if os.path.isfile(path) == False: + with open(path,'a') as file: + file.write('date\tV Ch:1[V]\tI Ch:1[A]\tP Ch:1[W]\tV Ch:2[V]\tI Ch:2[A]\tP Ch:2[W]\tV Ch:3[V]\tI Ch:3[A]\tP Ch:3[W]\n') + file = open(path,'a') + file.write(time.strftime("%Y-%m-%d_%H-%M-%S",time.localtime(self.t[-1]))+'\t') + for i in [0,1,2]: #Loop for all three channels + file.write(f"{self.Voltage[-1,i]}\t") + file.write(f"{self.Current[-1,i]}\t") + file.write(f"{self.Power[-1,i]}\t") + file.write('\n') + file.close + + def set_default(self): + #saves current set values to txt file in subdirectory configs. All entries that are saved are defined in self.lines_config + #Overwrites old values in config file. + current_dir = os.path.dirname(os.path.abspath(__file__)) + path = current_dir+'\\configs\\BK9132B_config.txt' #To make shure the config file is at the right place, independent from where the program is started the location of the file is retrieved + file = open(path,'w') + for l in self.lines_config_float: + temp = f"{get_float(l)}" + file.write(temp+'\t') + for l in self.lines_config_strings: + file.write(l.text()+'\t') + for c in self.checkboxes_config: + file.write(str(c.isChecked())+'\t') + file.write('\n') + file.close + + def read_default(self): + #reads default values from config file in subdirectory config and sets the values in gui. Then self.change is set to true so values are send + #to device. (If no config file exists, it does nothing.) + current_dir = os.path.dirname(os.path.abspath(__file__)) + path = current_dir+'\\configs\\BK9132B_config.txt' #To make shure the config file is read from the right place, independent from where the program is started the location of the file is retrieved + try: #exit function if config file does not exist + vals = import_txt.read_raw(path) + except: + print('no config file found on') + print(path) + return + formats = ['.2f', '.2f', '.2f','.2f','.2f','.0f'] + + for l,v,f in zip(self.lines_config_float,vals[0],formats): + v = float(v) #convert string in txt to float, so number can be formatted according to "formats" when it's set + l.setText(format(v,f)) + + for l,v in zip(self.lines_config_strings,vals[0][len(self.lines_config_float):]): + l.setText(v) + + for c,v in zip(self.checkboxes_config,vals[0][len(self.lines_config_float)+len(self.lines_config_strings):]): + c.setChecked(v == 'True') + + self.change = True + + def closeEvent(self,event): #when window is closed self.running is set to False, so all threads stop + self.running = False + time.sleep(1) + event.accept() + + + +app = QApplication(sys.argv) + +window = MainWindow() +window.show() +app.exec() \ No newline at end of file diff --git a/Legacy/Instrument_Drivers/BK_9132B_control_2.py b/Legacy/Instrument_Drivers/BK_9132B_control_2.py new file mode 100644 index 0000000..0daa6c1 --- /dev/null +++ b/Legacy/Instrument_Drivers/BK_9132B_control_2.py @@ -0,0 +1,414 @@ +from PyQt6.QtGui import * +from PyQt6.QtWidgets import * +from PyQt6.QtCore import * + +import multiprocessing +import multiprocessing.managers + +import time +import traceback,sys,os +import numpy as np +import pyqtgraph as pg +import import_txt + +# Get the current script's directory +current_dir = os.path.dirname(os.path.abspath(__file__)) +# Get the parent directory by going one level up +parent_dir = os.path.dirname(current_dir) +# Add the parent directory to sys.path +sys.path.append(parent_dir) +from drivers import BK_9132B + +from design_files.BK_9132B_design import Ui_MainWindow + + +class WorkerSignals(QObject): + ''' + Defines the signals available from a running worker thread. + Supported signals are: + finished: No data + error: tuple (exctype, value, traceback.format_exc() ) + result: object data returned from processing, anything + progress: int indicating % progress + ''' + finished = pyqtSignal() + error = pyqtSignal(tuple) + result = pyqtSignal(object) + progress = pyqtSignal(list) + + +class Worker(QRunnable): + ''' + Worker thread + Inherits from QRunnable to handler worker thread setup, signals and wrap-up. + :param callback: The function callback to run on this worker thread. Supplied args and + kwargs will be passed through to the runner. + :type callback: function + :param args: Arguments to pass to the callback function + :param kwargs: Keywords to pass to the callback function + ''' + + def __init__(self, fn, *args, **kwargs): + super(Worker, self).__init__() + + # Store constructor arguments (re-used for processing) + self.fn = fn + self.args = args + self.kwargs = kwargs + self.signals = WorkerSignals() + + # Add the callback to our kwargs + self.kwargs['progress_callback'] = self.signals.progress + + @pyqtSlot() + def run(self): + ''' + Initialise the runner function with passed args, kwargs. + ''' + + # Retrieve args/kwargs here; and fire processing using them + try: + result = self.fn(*self.args, **self.kwargs) + except: + traceback.print_exc() + exctype, value = sys.exc_info()[:2] + self.signals.error.emit((exctype, value, traceback.format_exc())) + else: + self.signals.result.emit(result) # Return the result of the processing + finally: + self.signals.finished.emit() # Done + +def get_float(Qline,default = 0): #gets value from QLineEdit and converts it to float. If text is empty or cannot be converted, it returns "default" which is 0, if not specified + try: + out = float(Qline.text()) + except: + out = default + return(out) + +class MainWindow(QMainWindow, Ui_MainWindow): + def __init__(self, *args, **kwargs): + # Get the current script's directory + self.current_dir = os.path.dirname(os.path.abspath(__file__)) + # Get the parent directory by going one level up + self.parent_dir = os.path.dirname(current_dir) + + #establish connection to global variables + try: #try to connect to global variables + manager = multiprocessing.managers.BaseManager(address=('localhost',5001), authkey=b'') + manager.connect() + manager.register('sync_BK_9132B_2') + self.sync_BK_9132B = manager.sync_BK_9132B_2() + except: #open global variables, if no connection can be made (i.e. it is not running). Then connect to it + # subprocess.call(['D:\\Python instrument drivers\\env\\Scripts\\python.exe', 'D:\\Python instrument drivers\\StandAlones\\global_variables.py']) + self.global_vars = QProcess() + self.global_vars.start(self.current_dir+"\\env\\Scripts\\python.exe", [self.current_dir+'\\global_variables.py']) + manager.connect() + manager.register('sync_BK_9132B_2') + self.sync_BK_9132B = manager.sync_BK_9132B_2() + print('!!!\nI opened global variables myself. If you close me, global variables will shut down too. Consider starting global variables in own instance for more security\n!!!') + + #fill in variables, if they are not defined in global variables + self.sync_BK_9132B.update({'setU':[0,0,0], 'setI':[0,0,0], 'OutputOn':[False, False, False], 'U':[0,0,0], 'I':[0,0,0], 'P':[0,0,0]}) + + #import Gui from QT designer file + super(MainWindow, self).__init__(*args, **kwargs) + self.setupUi(self) + self.label_device.setText('Device 2') #change label to "device 2" to indicate which device is controlled + + #setup plot + self.graphWidget.setBackground('w') + self.graphWidget.setTitle("Voltage, Current, Power") + self.graphWidget.setLabel('left', 'Voltage [V], Current [A], Power [W]') + self.graphWidget.setLabel('bottom', 'Time (H)') + axis = pg.DateAxisItem() + self.graphWidget.setAxisItems({'bottom':axis}) + + temp = [time.time(),time.time()-1] + pen1 = pg.mkPen(color=(255, 0, 0), width=2) + pen2 = pg.mkPen(color=(0, 0, 255), width=2) + pen3 = pg.mkPen(color=(0, 255, 0), width=2) + pen4 = pg.mkPen(color=(255, 255, 0), width=2) + pen5 = pg.mkPen(color=(255, 0, 255), width=2) + pen6 = pg.mkPen(color=(0, 255, 255), width=2) + pen7 = pg.mkPen(color=(255, 127, 127), width=2) + pen8 = pg.mkPen(color=(127, 255, 70), width=2) + pen9 = pg.mkPen(color=(255, 127, 70), width=2) + self.plot_1 = self.graphWidget.plot(temp,[1,0],pen = pen1, name = 'V Ch: 1') + self.plot_2 = self.graphWidget.plot(temp,[1,0],pen = pen2, name = 'I Ch: 1') + self.plot_3 = self.graphWidget.plot(temp,[1,0],pen = pen3, name = 'P Ch: 1') + self.plot_4 = self.graphWidget.plot(temp,[1,0],pen = pen4, name = 'V Ch: 2') + self.plot_5 = self.graphWidget.plot(temp,[1,0],pen = pen5, name = 'I Ch: 2') + self.plot_6 = self.graphWidget.plot(temp,[1,0],pen = pen6, name = 'P Ch: 2') + self.plot_7 = self.graphWidget.plot(temp,[1,0],pen = pen7, name = 'V Ch: 3') + self.plot_8 = self.graphWidget.plot(temp,[1,0],pen = pen8, name = 'I Ch: 3') + self.plot_9 = self.graphWidget.plot(temp,[1,0],pen = pen9, name = 'P Ch: 3') + self.graphWidget.addLegend() + + #set up pyQT threadpool + self.threadpool = QThreadPool() + + #define and standard threads. + worker_save = Worker(self.save) + self.threadpool.start(worker_save) + + #define signals and slots + self.actionSet_default.triggered.connect(self.set_default) + self.actionReset_default.triggered.connect(self.read_default) + self.button_connect.clicked.connect(self.start_meas) + self.line_Nplot.editingFinished.connect(self.set_Npoints) + self.line_saveInterval.editingFinished.connect(self.change_timing) + self.checkBox_disableplots.stateChanged.connect(self.set_displot) + + self.checkBox_V_1.stateChanged.connect(self.plot_hide) + self.checkBox_I_1.stateChanged.connect(self.plot_hide) + self.checkBox_P_1.stateChanged.connect(self.plot_hide) + self.checkBox_V_2.stateChanged.connect(self.plot_hide) + self.checkBox_I_2.stateChanged.connect(self.plot_hide) + self.checkBox_P_2.stateChanged.connect(self.plot_hide) + self.checkBox_V_3.stateChanged.connect(self.plot_hide) + self.checkBox_I_3.stateChanged.connect(self.plot_hide) + self.checkBox_P_3.stateChanged.connect(self.plot_hide) + + self.V_set_1.editingFinished.connect(self.set_V) + self.I_set_1.editingFinished.connect(self.set_I) + self.Output_1.stateChanged.connect(self.set_Output) + self.V_set_2.editingFinished.connect(self.set_V) + self.I_set_2.editingFinished.connect(self.set_I) + self.Output_2.stateChanged.connect(self.set_Output) + self.V_set_3.editingFinished.connect(self.set_V) + self.I_set_3.editingFinished.connect(self.set_I) + self.Output_3.stateChanged.connect(self.set_Output) + + + #define constants + self.Voltage = np.zeros((1,3)) #store voltage data + self.Current = np.zeros((1,3)) #store current data + self.Power = np.zeros((1,3)) #store power data + self.t = [time.time()] #store timestamps + self.Npoints = 200 #number of point to plot + self.running = True #true while app is running + self.disable_plot = False #constant to disable plot to improve performance. Is changed by checkbox checkBox_disableplots + self.timing_save = 5 #save intervall [s] + self.set_old = [0,0,1] #variable to save the 'old' set values to compare them to the global variables. It differs from set_new in the first iteration. This ensures that new parameters are send to the device + self.set_new = [0,0,0] #variable to save the new set values to compare them to the old ones + self.lines_config_float = [self.V_set_1,self.I_set_1,self.V_set_2,self.I_set_2,self.V_set_3,self.I_set_3,self.line_Nplot]#is used for config file + self.lines_config_strings = [self.line_devAdr,self.line_filePath,self.line_saveInterval]#is used for config file + self.checkboxes_config = [self.Output_1, self.Output_2, self.Output_3,self.checkBox_disableplots,self.checkBox_save, + self.checkBox_V_1, self.checkBox_I_1, self.checkBox_P_1, self.checkBox_V_2, self.checkBox_I_2, self.checkBox_P_2, + self.checkBox_V_3, self.checkBox_I_3, self.checkBox_P_3,]#is used for config file + + #read default values from config and set them in gui + self.read_default() + # #write values from gui to global variables. + self.set_V() + self.set_I() + self.set_Output() + #update save intervall to the gui value + self.change_timing() + + + def start_meas(self): + #Connect to device + address = self.line_devAdr.text() + self.BK = BK_9132B.BK_9132B(address) + #start thread for communication with device + self.worker = Worker(self.update_all) + self.worker.signals.progress.connect(self.update_gui) + self.threadpool.start(self.worker) + + def update_all(self, progress_callback): + #get values from device and write them to global variables. Checks if global variables changed from last iteration. Also pass it to upddate_gui with emit(T) + while self.running == True: + for i,n in enumerate(['setU', 'setI', 'OutputOn']): #get new set values from global variables and compare to old ones. + self.set_new[i] = self.sync_BK_9132B.get(n) + + if self.set_new != self.set_old: #if a button is clicked or global variables are changed the program checks which setting has been changed. + if self.set_new[0] != self.set_old[0]: #if setU is changed new setU parameters are sent to device + for CH in [1,2,3]: #for loop for all 3 channels + self.BK.set_Voltage(CH, self.set_new[0][CH-1]) #CH is element of 1-3 but setU parameters have indices of 0-2 + + if self.set_new[1] != self.set_old[1]: #if setI is changed new setI parameters are sent to device + for CH in [1,2,3]: #for loop for all 3 channels + self.BK.set_Current(CH, self.set_new[1][CH-1]) #CH is element of 1-3 but setI parameters have indices of 0-2 + + if self.set_new[2] != self.set_old[2]: #if OutputOn is changed new OutputOn parameters are sent to device + for CH in [1,2,3]: #for loop for all 3 channels + self.BK.set_Output(CH, self.set_new[2][CH-1]) #CH is element of 1-3 but OutputOn parameters have indices of 0-2 + + self.update_setValues(self.set_new) #Change GUI + + U = self.BK.read_Voltage() #read Voltage of all three channels + I = self.BK.read_Current() #read Current of all three channels + P = self.BK.read_Power() #read Power of all three channels + #Write measurement values into global variables + self.sync_BK_9132B.update({'U':U}) + self.sync_BK_9132B.update({'I':I}) + self.sync_BK_9132B.update({'P':P}) + progress_callback.emit([U,I,P]) #Emits list of all three lists U,I,P + self.set_old = self.set_new[:] #List needs to be sliced so that only values are taken and not just a pointer is created + # time.sleep(0.1) + + del(self.BK) #disconnect device when self.running is set to False + + def update_gui(self, List): + #Convert List into original format + U = List[0] + I = List[1] + P = List[2] + #set numbers + self.V_1.setText(str(U[0])) + self.I_1.setText(str(I[0])) + self.P_1.setText(str(P[0])) + + self.V_2.setText(str(U[1])) + self.I_2.setText(str(I[1])) + self.P_2.setText(str(P[1])) + + self.V_3.setText(str(U[2])) + self.I_3.setText(str(I[2])) + self.P_3.setText(str(P[2])) + + #Create database for plotting + self.Voltage = np.vstack([self.Voltage, np.array(U)]) + self.Current = np.vstack([self.Current, np.array(I)]) + self.Power = np.vstack([self.Power, np.array(P)]) + # x = range(len(self.Temperature)) + self.t.append(time.time()) + + #plot + if self.disable_plot == False: + self.plot_1.setData(self.t[-self.Npoints:],self.Voltage[-self.Npoints:,0]) + self.plot_2.setData(self.t[-self.Npoints:],self.Current[-self.Npoints:,0]) + self.plot_3.setData(self.t[-self.Npoints:],self.Power[-self.Npoints:,0]) + self.plot_4.setData(self.t[-self.Npoints:],self.Voltage[-self.Npoints:,1]) + self.plot_5.setData(self.t[-self.Npoints:],self.Current[-self.Npoints:,1]) + self.plot_6.setData(self.t[-self.Npoints:],self.Power[-self.Npoints:,1]) + self.plot_7.setData(self.t[-self.Npoints:],self.Voltage[-self.Npoints:,2]) + self.plot_8.setData(self.t[-self.Npoints:],self.Current[-self.Npoints:,2]) + self.plot_9.setData(self.t[-self.Npoints:],self.Power[-self.Npoints:,2]) + + def update_setValues(self,setV): + #sets setvalues obtained from update_all in gui ['setU', 'setI', 'OutputOn'] + self.V_set_1.setText(f"{setV[0][0]}") + self.I_set_1.setText(f"{setV[1][0]}") + self.Output_1.setChecked(setV[2][0]) + self.V_set_2.setText(f"{setV[0][1]}") + self.I_set_2.setText(f"{setV[1][1]}") + self.Output_2.setChecked(setV[2][1]) + self.V_set_3.setText(f"{setV[0][2]}") + self.I_set_3.setText(f"{setV[1][2]}") + self.Output_3.setChecked(setV[2][2]) + + def set_V(self): + #updates the set voltage in global variables. The change will be detected by update_all and it will be passed to the device + setU = [get_float(self.V_set_1), get_float(self.V_set_2), get_float(self.V_set_3)] + self.sync_BK_9132B.update({'setU':setU}) + + def set_I(self): + #updates the set current in global variables. The change will be detected by update_all and it will be passed to the device + setI = [get_float(self.I_set_1), get_float(self.I_set_2), get_float(self.I_set_3)] + self.sync_BK_9132B.update({'setI':setI}) + + def set_Output(self): + #updates the set Output in global variables. The change will be detected by update_all and it will be passed to the device + setOutput = [self.Output_1.isChecked(), self.Output_2.isChecked(), self.Output_3.isChecked()] + self.sync_BK_9132B.update({'OutputOn':setOutput}) + + + + def set_Npoints(self): + #sets the number of points to plot + self.Npoints = int(self.line_Nplot.text()) + + def set_displot(self): + #sets variable to disable plot so checkbox state does not need be read out every iteration + self.disable_plot = self.checkBox_disableplots.isChecked() + + def plot_hide(self): + #shows or hides plots according to the checkboxes next to the plot area + boxes = [self.checkBox_V_1, self.checkBox_I_1, self.checkBox_P_1, + self.checkBox_V_2, self.checkBox_I_2, self.checkBox_P_2, + self.checkBox_V_3, self.checkBox_I_3, self.checkBox_P_3] + plots = plots = [self.plot_1, self.plot_2, self.plot_3, self.plot_4, self.plot_5, + self.plot_6, self.plot_7, self.plot_8, self.plot_9] + for b,p in zip(boxes,plots): + if b.isChecked() == True: + p.show() + else: + p.hide() + + def change_timing(self): + #updates the timing which is used for "save". If no value it given, it is set to 1 s + self.timing_save = get_float(self.line_saveInterval,1) + + def save(self, progress_callback): + #if save checkbox is checked it writes measurement values to file specified in line.filePath. There the full path including file extension must be given. + while self.running == True: + time.sleep(self.timing_save) #wait is at beginning so first point is not corrupted when app just started. + if self.checkBox_save.isChecked() == True: + path = self.line_filePath.text() + if os.path.isfile(path) == False: + with open(path,'a') as file: + file.write('date\tV Ch:1[V]\tI Ch:1[A]\tP Ch:1[W]\tV Ch:2[V]\tI Ch:2[A]\tP Ch:2[W]\tV Ch:3[V]\tI Ch:3[A]\tP Ch:3[W]\n') + file = open(path,'a') + file.write(time.strftime("%Y-%m-%d_%H-%M-%S",time.localtime(self.t[-1]))+'\t') + for i in [0,1,2]: #Loop for all three channels + file.write(f"{self.Voltage[-1,i]}\t") + file.write(f"{self.Current[-1,i]}\t") + file.write(f"{self.Power[-1,i]}\t") + file.write('\n') + file.close + + def set_default(self): + #saves current set values to txt file in subdirectory configs. All entries that are saved are defined in self.lines_config + #Overwrites old values in config file. + current_dir = os.path.dirname(os.path.abspath(__file__)) + path = current_dir+'\\configs\\BK9132B_2_config.txt' #To make shure the config file is at the right place, independent from where the program is started the location of the file is retrieved + file = open(path,'w') + for l in self.lines_config_float: + temp = f"{get_float(l)}" + file.write(temp+'\t') + for l in self.lines_config_strings: + file.write(l.text()+'\t') + for c in self.checkboxes_config: + file.write(str(c.isChecked())+'\t') + file.write('\n') + file.close + + def read_default(self): + #reads default values from config file in subdirectory config and sets the values in gui. Then self.change is set to true so values are send + #to device. (If no config file exists, it does nothing.) + current_dir = os.path.dirname(os.path.abspath(__file__)) + path = current_dir+'\\configs\\BK9132B_2_config.txt' #To make shure the config file is read from the right place, independent from where the program is started the location of the file is retrieved + try: #exit function if config file does not exist + vals = import_txt.read_raw(path) + except: + print('no config file found on') + print(path) + return + formats = ['.2f', '.2f', '.2f','.2f','.2f','.0f'] + + for l,v,f in zip(self.lines_config_float,vals[0],formats): + v = float(v) #convert string in txt to float, so number can be formatted according to "formats" when it's set + l.setText(format(v,f)) + + for l,v in zip(self.lines_config_strings,vals[0][len(self.lines_config_float):]): + l.setText(v) + + for c,v in zip(self.checkboxes_config,vals[0][len(self.lines_config_float)+len(self.lines_config_strings):]): + c.setChecked(v == 'True') + + self.change = True + + def closeEvent(self,event): #when window is closed self.running is set to False, so all threads stop + self.running = False + time.sleep(1) + event.accept() + + + +app = QApplication(sys.argv) + +window = MainWindow() +window.show() +app.exec() \ No newline at end of file diff --git a/Legacy/Instrument_Drivers/BK_9174B_2_control.py b/Legacy/Instrument_Drivers/BK_9174B_2_control.py new file mode 100644 index 0000000..f4a604c --- /dev/null +++ b/Legacy/Instrument_Drivers/BK_9174B_2_control.py @@ -0,0 +1,396 @@ +from PyQt6.QtGui import * +from PyQt6.QtWidgets import * +from PyQt6.QtCore import * + +import multiprocessing +import multiprocessing.managers + +import time +import traceback,sys,os +import numpy as np +import pyqtgraph as pg +import import_txt + +# Get the current script's directory +current_dir = os.path.dirname(os.path.abspath(__file__)) +# Get the parent directory by going one level up +parent_dir = os.path.dirname(current_dir) +# Add the parent directory to sys.path +sys.path.append(parent_dir) +from drivers import BK_9174B + +from design_files.BK_9174B_design import Ui_MainWindow + + +class WorkerSignals(QObject): + ''' + Defines the signals available from a running worker thread. + Supported signals are: + finished: No data + error: tuple (exctype, value, traceback.format_exc() ) + result: object data returned from processing, anything + progress: int indicating % progress + ''' + finished = pyqtSignal() + error = pyqtSignal(tuple) + result = pyqtSignal(object) + progress = pyqtSignal(list) + + +class Worker(QRunnable): + ''' + Worker thread + Inherits from QRunnable to handler worker thread setup, signals and wrap-up. + :param callback: The function callback to run on this worker thread. Supplied args and + kwargs will be passed through to the runner. + :type callback: function + :param args: Arguments to pass to the callback function + :param kwargs: Keywords to pass to the callback function + ''' + + def __init__(self, fn, *args, **kwargs): + super(Worker, self).__init__() + + # Store constructor arguments (re-used for processing) + self.fn = fn + self.args = args + self.kwargs = kwargs + self.signals = WorkerSignals() + + # Add the callback to our kwargs + self.kwargs['progress_callback'] = self.signals.progress + + @pyqtSlot() + def run(self): + ''' + Initialise the runner function with passed args, kwargs. + ''' + + # Retrieve args/kwargs here; and fire processing using them + try: + result = self.fn(*self.args, **self.kwargs) + except: + traceback.print_exc() + exctype, value = sys.exc_info()[:2] + self.signals.error.emit((exctype, value, traceback.format_exc())) + else: + self.signals.result.emit(result) # Return the result of the processing + finally: + self.signals.finished.emit() # Done + +def get_float(Qline,default = 0): #gets value from QLineEdit and converts it to float. If text is empty or cannot be converted, it returns "default" which is 0, if not specified + try: + out = float(Qline.text()) + except: + out = default + return(out) + +class MainWindow(QMainWindow, Ui_MainWindow): + def __init__(self, *args, **kwargs): + # Get the current script's directory + self.current_dir = os.path.dirname(os.path.abspath(__file__)) + # Get the parent directory by going one level up + self.parent_dir = os.path.dirname(current_dir) + + #establish connection to global variables + try: #try to connect to global variables + manager = multiprocessing.managers.BaseManager(address=('localhost',5001), authkey=b'') + manager.connect() + manager.register('sync_BK_9174B_2') + self.sync_BK_9174B = manager.sync_BK_9174B_2() + except: #open global variables, if no connection can be made (i.e. it is not running). Then connect to it + # subprocess.call(['D:\\Python instrument drivers\\env\\Scripts\\python.exe', 'D:\\Python instrument drivers\\StandAlones\\global_variables.py']) + self.global_vars = QProcess() + self.global_vars.start(self.current_dir+"\\env\\Scripts\\python.exe", [self.current_dir+'\\global_variables.py']) + manager.connect() + manager.register('sync_BK_9174B_2') + self.sync_BK_9174B = manager.sync_BK_9174B_2() + print('!!!\nI opened global variables myself. If you close me, global variables will shut down too. Consider starting global variables in own instance for more security\n!!!') + + #fill in variables, if they are not defined in global variables + self.sync_BK_9174B.update({'setU':[0,0], 'setI':[0,0], 'OutputOn':[False, False], 'U':[0,0], 'I':[0,0], 'P':[0,0]}) + + #import Gui from QT designer file + super(MainWindow, self).__init__(*args, **kwargs) + self.setupUi(self) + self.label_device.setText('Device 2') #change label to "device 2" to indicate which device is controlled + + + #setup plot + self.graphWidget.setBackground('w') + self.graphWidget.setTitle("Voltage, Current, Power") + self.graphWidget.setLabel('left', 'Voltage [V], Current [A], Power [W]') + self.graphWidget.setLabel('bottom', 'Time (H)') + axis = pg.DateAxisItem() + self.graphWidget.setAxisItems({'bottom':axis}) + + temp = [time.time(),time.time()-1] + pen1 = pg.mkPen(color=(255, 0, 0), width=2) + pen2 = pg.mkPen(color=(0, 0, 255), width=2) + pen3 = pg.mkPen(color=(0, 255, 0), width=2) + pen4 = pg.mkPen(color=(255, 255, 0), width=2) + pen5 = pg.mkPen(color=(255, 0, 255), width=2) + pen6 = pg.mkPen(color=(0, 255, 255), width=2) + self.plot_1 = self.graphWidget.plot(temp,[1,0],pen = pen1, name = 'V Ch: 1') + self.plot_2 = self.graphWidget.plot(temp,[1,0],pen = pen2, name = 'I Ch: 1') + self.plot_3 = self.graphWidget.plot(temp,[1,0],pen = pen3, name = 'P Ch: 1') + self.plot_4 = self.graphWidget.plot(temp,[1,0],pen = pen4, name = 'V Ch: 2') + self.plot_5 = self.graphWidget.plot(temp,[1,0],pen = pen5, name = 'I Ch: 2') + self.plot_6 = self.graphWidget.plot(temp,[1,0],pen = pen6, name = 'P Ch: 2') + self.graphWidget.addLegend() + + #set up pyQT threadpool + self.threadpool = QThreadPool() + + #define and standard threads. + worker_save = Worker(self.save) + self.threadpool.start(worker_save) + + #define signals and slots + self.actionSet_default.triggered.connect(self.set_default) + self.actionReset_default.triggered.connect(self.read_default) + self.button_connect.clicked.connect(self.start_meas) + self.line_Nplot.editingFinished.connect(self.set_Npoints) + self.line_saveInterval.editingFinished.connect(self.change_timing) + self.checkBox_disableplots.stateChanged.connect(self.set_displot) + + self.checkBox_V_1.stateChanged.connect(self.plot_hide) + self.checkBox_I_1.stateChanged.connect(self.plot_hide) + self.checkBox_P_1.stateChanged.connect(self.plot_hide) + self.checkBox_V_2.stateChanged.connect(self.plot_hide) + self.checkBox_I_2.stateChanged.connect(self.plot_hide) + self.checkBox_P_2.stateChanged.connect(self.plot_hide) + + self.V_set_1.editingFinished.connect(self.set_V) + self.I_set_1.editingFinished.connect(self.set_I) + self.Output_1.stateChanged.connect(self.set_Output) + self.V_set_2.editingFinished.connect(self.set_V) + self.I_set_2.editingFinished.connect(self.set_I) + self.Output_2.stateChanged.connect(self.set_Output) + + + #define constants + self.Voltage = np.zeros((1,2)) #store voltage data + self.Current = np.zeros((1,2)) #store current data + self.Power = np.zeros((1,2)) #store power data + self.t = [time.time()] #store timestamps + self.Npoints = 200 #number of point to plot + self.running = True #true while app is running + self.disable_plot = False #constant to disable plot to improve performance. Is changed by checkbox checkBox_disableplots + self.timing_save = 5 #save intervall [s] + self.set_old = [0,0,1] #variable to save the 'old' set values to compare them to the global variables. It differs from set_new in the first iteration. This ensures that new parameters are send to the device + self.set_new = [0,0,0] #variable to save the new set values to compare them to the old ones + self.lines_config_float = [self.V_set_1,self.I_set_1,self.V_set_2,self.I_set_2,self.line_Nplot]#is used for config file + self.lines_config_strings = [self.line_devAdr,self.line_filePath,self.line_saveInterval]#is used for config file + self.checkboxes_config = [self.Output_1, self.Output_2,self.checkBox_disableplots,self.checkBox_save, + self.checkBox_V_1, self.checkBox_I_1, self.checkBox_P_1, self.checkBox_V_2, self.checkBox_I_2, self.checkBox_P_2]#is used for config file + + #read default values from config and set them in gui + self.read_default() + # #write values from gui to global variables. + self.set_V() + self.set_I() + self.set_Output() + #update save intervall to the gui value + self.change_timing() + + + + def start_meas(self): + #Connect to device + address = self.line_devAdr.text() + self.BK = BK_9174B.BK_9174B(address) + #start thread for communication with device + self.worker = Worker(self.update_all) + self.worker.signals.progress.connect(self.update_gui) + self.threadpool.start(self.worker) + + #set voltage slew rate values. At the moment 0.5 V/ms is an arbitrary value + self.BK.set_Voltage_slewrate(1, 0.5) + self.BK.set_Voltage_slewrate(2, 0.5) + + def update_all(self, progress_callback): + #get values from device and write them to global variables. Checks if global variables changed from last iteration. Also pass it to upddate_gui with emit(T) + while self.running == True: + for i,n in enumerate(['setU', 'setI', 'OutputOn']): #get new set values from global variables and compare to old ones. + self.set_new[i] = self.sync_BK_9174B.get(n) + + if self.set_new != self.set_old: #if a button is clicked or global variables are changed the program checks which setting has been changed. + if self.set_new[0] != self.set_old[0]: #if setU is changed new setU parameters are sent to device + for CH in [1,2]: #for loop for both channels + self.BK.set_Voltage(CH, self.set_new[0][CH-1]) #CH is element of [1,2] but setU parameters have indices of [0,1] + + if self.set_new[1] != self.set_old[1]: #if setI is changed new setI parameters are sent to device + for CH in [1,2]: #for loop for both channels + self.BK.set_Current(CH, self.set_new[1][CH-1]) #CH is element of [1,2] but setI parameters have indices of [0,1] + + if self.set_new[2] != self.set_old[2]: #if OutputOn is changed new OutputOn parameters are sent to device + for CH in [1,2]: #for loop for both channels + self.BK.set_Output(CH, self.set_new[2][CH-1]) #CH is element of [1,2] but OutputOn parameters have indices of [0,1] + + self.update_setValues(self.set_new) #Change GUI + + U = self.BK.read_Voltage() #read Voltage of both channels + I = self.BK.read_Current() #read Current of both channels + P = [np.round(U[0]*I[0],4),np.round(U[1]*I[1],4)] #calculates power by P=U*I and rounds to 4 digits + #Write measurement values into global variables + self.sync_BK_9174B.update({'U':U}) + self.sync_BK_9174B.update({'I':I}) + self.sync_BK_9174B.update({'P':P}) + progress_callback.emit([U,I,P]) #Emits list of all three lists U,I,P + self.set_old = self.set_new[:] #List needs to be sliced so that only values are taken and not just a pointer is created + # time.sleep(0.1) + + del(self.BK) #disconnect device when self.running is set to False + + def update_gui(self, List): + #Convert List into original format + U = List[0] + I = List[1] + P = List[2] + #set numbers + self.V_1.setText(str(U[0])) + self.I_1.setText(str(I[0])) + self.P_1.setText(str(P[0])) + + self.V_2.setText(str(U[1])) + self.I_2.setText(str(I[1])) + self.P_2.setText(str(P[1])) + + #Create database for plotting + self.Voltage = np.vstack([self.Voltage, np.array(U)]) + self.Current = np.vstack([self.Current, np.array(I)]) + self.Power = np.vstack([self.Power, np.array(P)]) + # x = range(len(self.Temperature)) + self.t.append(time.time()) + + #plot + if self.disable_plot == False: + self.plot_1.setData(self.t[-self.Npoints:],self.Voltage[-self.Npoints:,0]) + self.plot_2.setData(self.t[-self.Npoints:],self.Current[-self.Npoints:,0]) + self.plot_3.setData(self.t[-self.Npoints:],self.Power[-self.Npoints:,0]) + self.plot_4.setData(self.t[-self.Npoints:],self.Voltage[-self.Npoints:,1]) + self.plot_5.setData(self.t[-self.Npoints:],self.Current[-self.Npoints:,1]) + self.plot_6.setData(self.t[-self.Npoints:],self.Power[-self.Npoints:,1]) + + def update_setValues(self,setV): + #sets setvalues obtained from update_all in gui ['setU', 'setI', 'OutputOn'] + self.V_set_1.setText(f"{setV[0][0]}") + self.I_set_1.setText(f"{setV[1][0]}") + self.Output_1.setChecked(setV[2][0]) + self.V_set_2.setText(f"{setV[0][1]}") + self.I_set_2.setText(f"{setV[1][1]}") + self.Output_2.setChecked(setV[2][1]) + + def set_V(self): + #updates the set voltage in global variables. The change will be detected by update_all and it will be passed to the device + setU = [get_float(self.V_set_1), get_float(self.V_set_2)] + self.sync_BK_9174B.update({'setU':setU}) + + def set_I(self): + #updates the set current in global variables. The change will be detected by update_all and it will be passed to the device + setI = [get_float(self.I_set_1), get_float(self.I_set_2)] + self.sync_BK_9174B.update({'setI':setI}) + + def set_Output(self): + #updates the set Output in global variables. The change will be detected by update_all and it will be passed to the device + setOutput = [self.Output_1.isChecked(), self.Output_2.isChecked()] + self.sync_BK_9174B.update({'OutputOn':setOutput}) + + + + def set_Npoints(self): + #sets the number of points to plot + self.Npoints = int(self.line_Nplot.text()) + + def set_displot(self): + #sets variable to disable plot so checkbox state does not need be read out every iteration + self.disable_plot = self.checkBox_disableplots.isChecked() + + def plot_hide(self): + #shows or hides plots according to the checkboxes next to the plot area + boxes = [self.checkBox_V_1, self.checkBox_I_1, self.checkBox_P_1, + self.checkBox_V_2, self.checkBox_I_2, self.checkBox_P_2] + plots = plots = [self.plot_1, self.plot_2, self.plot_3, self.plot_4, self.plot_5, + self.plot_6] + for b,p in zip(boxes,plots): + if b.isChecked() == True: + p.show() + else: + p.hide() + + def change_timing(self): + #updates the timing which is used for "save". If no value it given, it is set to 1 s + self.timing_save = get_float(self.line_saveInterval,1) + + def save(self, progress_callback): + #if save checkbox is checked it writes measurement values to file specified in line.filePath. There the full path including file extension must be given. + while self.running == True: + time.sleep(self.timing_save) #wait is at beginning so first point is not corrupted when app just started. + if self.checkBox_save.isChecked() == True: + path = self.line_filePath.text() + if os.path.isfile(path) == False: + with open(path,'a') as file: + file.write('date\tV Ch:1[V]\tI Ch:1[A]\tP Ch:1[W]\tV Ch:2[V]\tI Ch:2[A]\tP Ch:2[W]\n') + file = open(path,'a') + file.write(time.strftime("%Y-%m-%d_%H-%M-%S",time.localtime(self.t[-1]))+'\t') + for i in [0,1]: #Loop for both channels + file.write(f"{self.Voltage[-1,i]}\t") + file.write(f"{self.Current[-1,i]}\t") + file.write(f"{self.Power[-1,i]}\t") + file.write('\n') + file.close + + def set_default(self): + #saves current set values to txt file in subdirectory configs. All entries that are saved are defined in self.lines_config + #Overwrites old values in config file. + current_dir = os.path.dirname(os.path.abspath(__file__)) + path = current_dir+'\\configs\\BK9174B_2_config.txt' #To make shure the config file is at the right place, independent from where the program is started the location of the file is retrieved + file = open(path,'w') + for l in self.lines_config_float: + temp = f"{get_float(l)}" + file.write(temp+'\t') + for l in self.lines_config_strings: + file.write(l.text()+'\t') + for c in self.checkboxes_config: + file.write(str(c.isChecked())+'\t') + file.write('\n') + file.close + + def read_default(self): + #reads default values from config file in subdirectory config and sets the values in gui. Then self.change is set to true so values are send + #to device. (If no config file exists, it does nothing.) + current_dir = os.path.dirname(os.path.abspath(__file__)) + path = current_dir+'\\configs\\BK9174B_2_config.txt' #To make shure the config file is read from the right place, independent from where the program is started the location of the file is retrieved + try: #exit function if config file does not exist + vals = import_txt.read_raw(path) + except: + print('no config file found on') + print(path) + return + formats = ['.2f', '.2f', '.2f','.2f','.2f','.0f'] + + for l,v,f in zip(self.lines_config_float,vals[0],formats): + v = float(v) #convert string in txt to float, so number can be formatted according to "formats" when it's set + l.setText(format(v,f)) + + for l,v in zip(self.lines_config_strings,vals[0][len(self.lines_config_float):]): + l.setText(v) + + for c,v in zip(self.checkboxes_config,vals[0][len(self.lines_config_float)+len(self.lines_config_strings):]): + c.setChecked(v == 'True') + + self.change = True + + def closeEvent(self,event): #when window is closed self.running is set to False, so all threads stop + self.running = False + time.sleep(1) + event.accept() + + + +app = QApplication(sys.argv) + +window = MainWindow() +window.show() +app.exec() \ No newline at end of file diff --git a/Legacy/Instrument_Drivers/BK_9174B_control.py b/Legacy/Instrument_Drivers/BK_9174B_control.py new file mode 100644 index 0000000..b991dcd --- /dev/null +++ b/Legacy/Instrument_Drivers/BK_9174B_control.py @@ -0,0 +1,394 @@ +from PyQt6.QtGui import * +from PyQt6.QtWidgets import * +from PyQt6.QtCore import * + +import multiprocessing +import multiprocessing.managers + +import time +import traceback,sys,os +import numpy as np +import pyqtgraph as pg +import import_txt + +# Get the current script's directory +current_dir = os.path.dirname(os.path.abspath(__file__)) +# Get the parent directory by going one level up +parent_dir = os.path.dirname(current_dir) +# Add the parent directory to sys.path +sys.path.append(parent_dir) +from drivers import BK_9174B + +from design_files.BK_9174B_design import Ui_MainWindow + + +class WorkerSignals(QObject): + ''' + Defines the signals available from a running worker thread. + Supported signals are: + finished: No data + error: tuple (exctype, value, traceback.format_exc() ) + result: object data returned from processing, anything + progress: int indicating % progress + ''' + finished = pyqtSignal() + error = pyqtSignal(tuple) + result = pyqtSignal(object) + progress = pyqtSignal(list) + + +class Worker(QRunnable): + ''' + Worker thread + Inherits from QRunnable to handler worker thread setup, signals and wrap-up. + :param callback: The function callback to run on this worker thread. Supplied args and + kwargs will be passed through to the runner. + :type callback: function + :param args: Arguments to pass to the callback function + :param kwargs: Keywords to pass to the callback function + ''' + + def __init__(self, fn, *args, **kwargs): + super(Worker, self).__init__() + + # Store constructor arguments (re-used for processing) + self.fn = fn + self.args = args + self.kwargs = kwargs + self.signals = WorkerSignals() + + # Add the callback to our kwargs + self.kwargs['progress_callback'] = self.signals.progress + + @pyqtSlot() + def run(self): + ''' + Initialise the runner function with passed args, kwargs. + ''' + + # Retrieve args/kwargs here; and fire processing using them + try: + result = self.fn(*self.args, **self.kwargs) + except: + traceback.print_exc() + exctype, value = sys.exc_info()[:2] + self.signals.error.emit((exctype, value, traceback.format_exc())) + else: + self.signals.result.emit(result) # Return the result of the processing + finally: + self.signals.finished.emit() # Done + +def get_float(Qline,default = 0): #gets value from QLineEdit and converts it to float. If text is empty or cannot be converted, it returns "default" which is 0, if not specified + try: + out = float(Qline.text()) + except: + out = default + return(out) + +class MainWindow(QMainWindow, Ui_MainWindow): + def __init__(self, *args, **kwargs): + # Get the current script's directory + self.current_dir = os.path.dirname(os.path.abspath(__file__)) + # Get the parent directory by going one level up + self.parent_dir = os.path.dirname(current_dir) + + #establish connection to global variables + try: #try to connect to global variables + manager = multiprocessing.managers.BaseManager(address=('localhost',5001), authkey=b'') + manager.connect() + manager.register('sync_BK_9174B') + self.sync_BK_9174B = manager.sync_BK_9174B() + except: #open global variables, if no connection can be made (i.e. it is not running). Then connect to it + # subprocess.call(['D:\\Python instrument drivers\\env\\Scripts\\python.exe', 'D:\\Python instrument drivers\\StandAlones\\global_variables.py']) + self.global_vars = QProcess() + self.global_vars.start(self.current_dir+"\\env\\Scripts\\python.exe", [self.current_dir+'\\global_variables.py']) + manager.connect() + manager.register('sync_BK_9174B') + self.sync_BK_9174B = manager.sync_BK_9174B() + print('!!!\nI opened global variables myself. If you close me, global variables will shut down too. Consider starting global variables in own instance for more security\n!!!') + + #fill in variables, if they are not defined in global variables + self.sync_BK_9174B.update({'setU':[0,0], 'setI':[0,0], 'OutputOn':[False, False], 'U':[0,0], 'I':[0,0], 'P':[0,0]}) + + #import Gui from QT designer file + super(MainWindow, self).__init__(*args, **kwargs) + self.setupUi(self) + + #setup plot + self.graphWidget.setBackground('w') + self.graphWidget.setTitle("Voltage, Current, Power") + self.graphWidget.setLabel('left', 'Voltage [V], Current [A], Power [W]') + self.graphWidget.setLabel('bottom', 'Time (H)') + axis = pg.DateAxisItem() + self.graphWidget.setAxisItems({'bottom':axis}) + + temp = [time.time(),time.time()-1] + pen1 = pg.mkPen(color=(255, 0, 0), width=2) + pen2 = pg.mkPen(color=(0, 0, 255), width=2) + pen3 = pg.mkPen(color=(0, 255, 0), width=2) + pen4 = pg.mkPen(color=(255, 255, 0), width=2) + pen5 = pg.mkPen(color=(255, 0, 255), width=2) + pen6 = pg.mkPen(color=(0, 255, 255), width=2) + self.plot_1 = self.graphWidget.plot(temp,[1,0],pen = pen1, name = 'V Ch: 1') + self.plot_2 = self.graphWidget.plot(temp,[1,0],pen = pen2, name = 'I Ch: 1') + self.plot_3 = self.graphWidget.plot(temp,[1,0],pen = pen3, name = 'P Ch: 1') + self.plot_4 = self.graphWidget.plot(temp,[1,0],pen = pen4, name = 'V Ch: 2') + self.plot_5 = self.graphWidget.plot(temp,[1,0],pen = pen5, name = 'I Ch: 2') + self.plot_6 = self.graphWidget.plot(temp,[1,0],pen = pen6, name = 'P Ch: 2') + self.graphWidget.addLegend() + + #set up pyQT threadpool + self.threadpool = QThreadPool() + + #define and standard threads. + worker_save = Worker(self.save) + self.threadpool.start(worker_save) + + #define signals and slots + self.actionSet_default.triggered.connect(self.set_default) + self.actionReset_default.triggered.connect(self.read_default) + self.button_connect.clicked.connect(self.start_meas) + self.line_Nplot.editingFinished.connect(self.set_Npoints) + self.line_saveInterval.editingFinished.connect(self.change_timing) + self.checkBox_disableplots.stateChanged.connect(self.set_displot) + + self.checkBox_V_1.stateChanged.connect(self.plot_hide) + self.checkBox_I_1.stateChanged.connect(self.plot_hide) + self.checkBox_P_1.stateChanged.connect(self.plot_hide) + self.checkBox_V_2.stateChanged.connect(self.plot_hide) + self.checkBox_I_2.stateChanged.connect(self.plot_hide) + self.checkBox_P_2.stateChanged.connect(self.plot_hide) + + self.V_set_1.editingFinished.connect(self.set_V) + self.I_set_1.editingFinished.connect(self.set_I) + self.Output_1.stateChanged.connect(self.set_Output) + self.V_set_2.editingFinished.connect(self.set_V) + self.I_set_2.editingFinished.connect(self.set_I) + self.Output_2.stateChanged.connect(self.set_Output) + + + #define constants + self.Voltage = np.zeros((1,2)) #store voltage data + self.Current = np.zeros((1,2)) #store current data + self.Power = np.zeros((1,2)) #store power data + self.t = [time.time()] #store timestamps + self.Npoints = 200 #number of point to plot + self.running = True #true while app is running + self.disable_plot = False #constant to disable plot to improve performance. Is changed by checkbox checkBox_disableplots + self.timing_save = 5 #save intervall [s] + self.set_old = [0,0,1] #variable to save the 'old' set values to compare them to the global variables. It differs from set_new in the first iteration. This ensures that new parameters are send to the device + self.set_new = [0,0,0] #variable to save the new set values to compare them to the old ones + self.lines_config_float = [self.V_set_1,self.I_set_1,self.V_set_2,self.I_set_2,self.line_Nplot]#is used for config file + self.lines_config_strings = [self.line_devAdr,self.line_filePath,self.line_saveInterval]#is used for config file + self.checkboxes_config = [self.Output_1, self.Output_2,self.checkBox_disableplots,self.checkBox_save, + self.checkBox_V_1, self.checkBox_I_1, self.checkBox_P_1, self.checkBox_V_2, self.checkBox_I_2, self.checkBox_P_2]#is used for config file + + #read default values from config and set them in gui + self.read_default() + # #write values from gui to global variables. + self.set_V() + self.set_I() + self.set_Output() + #update save intervall to the gui value + self.change_timing() + + + + def start_meas(self): + #Connect to device + address = self.line_devAdr.text() + self.BK = BK_9174B.BK_9174B(address) + #start thread for communication with device + self.worker = Worker(self.update_all) + self.worker.signals.progress.connect(self.update_gui) + self.threadpool.start(self.worker) + + #set voltage slew rate values. At the moment 0.5 V/ms is an arbitrary value + self.BK.set_Voltage_slewrate(1, 0.5) + self.BK.set_Voltage_slewrate(2, 0.5) + + def update_all(self, progress_callback): + #get values from device and write them to global variables. Checks if global variables changed from last iteration. Also pass it to upddate_gui with emit(T) + while self.running == True: + for i,n in enumerate(['setU', 'setI', 'OutputOn']): #get new set values from global variables and compare to old ones. + self.set_new[i] = self.sync_BK_9174B.get(n) + + if self.set_new != self.set_old: #if a button is clicked or global variables are changed the program checks which setting has been changed. + if self.set_new[0] != self.set_old[0]: #if setU is changed new setU parameters are sent to device + for CH in [1,2]: #for loop for both channels + self.BK.set_Voltage(CH, self.set_new[0][CH-1]) #CH is element of [1,2] but setU parameters have indices of [0,1] + + if self.set_new[1] != self.set_old[1]: #if setI is changed new setI parameters are sent to device + for CH in [1,2]: #for loop for both channels + self.BK.set_Current(CH, self.set_new[1][CH-1]) #CH is element of [1,2] but setI parameters have indices of [0,1] + + if self.set_new[2] != self.set_old[2]: #if OutputOn is changed new OutputOn parameters are sent to device + for CH in [1,2]: #for loop for both channels + self.BK.set_Output(CH, self.set_new[2][CH-1]) #CH is element of [1,2] but OutputOn parameters have indices of [0,1] + + self.update_setValues(self.set_new) #Change GUI + + U = self.BK.read_Voltage() #read Voltage of both channels + I = self.BK.read_Current() #read Current of both channels + P = [np.round(U[0]*I[0],4),np.round(U[1]*I[1],4)] #calculates power by P=U*I and rounds to 4 digits + #Write measurement values into global variables + self.sync_BK_9174B.update({'U':U}) + self.sync_BK_9174B.update({'I':I}) + self.sync_BK_9174B.update({'P':P}) + progress_callback.emit([U,I,P]) #Emits list of all three lists U,I,P + self.set_old = self.set_new[:] #List needs to be sliced so that only values are taken and not just a pointer is created + # time.sleep(0.1) + + del(self.BK) #disconnect device when self.running is set to False + + def update_gui(self, List): + #Convert List into original format + U = List[0] + I = List[1] + P = List[2] + #set numbers + self.V_1.setText(str(U[0])) + self.I_1.setText(str(I[0])) + self.P_1.setText(str(P[0])) + + self.V_2.setText(str(U[1])) + self.I_2.setText(str(I[1])) + self.P_2.setText(str(P[1])) + + #Create database for plotting + self.Voltage = np.vstack([self.Voltage, np.array(U)]) + self.Current = np.vstack([self.Current, np.array(I)]) + self.Power = np.vstack([self.Power, np.array(P)]) + # x = range(len(self.Temperature)) + self.t.append(time.time()) + + #plot + if self.disable_plot == False: + self.plot_1.setData(self.t[-self.Npoints:],self.Voltage[-self.Npoints:,0]) + self.plot_2.setData(self.t[-self.Npoints:],self.Current[-self.Npoints:,0]) + self.plot_3.setData(self.t[-self.Npoints:],self.Power[-self.Npoints:,0]) + self.plot_4.setData(self.t[-self.Npoints:],self.Voltage[-self.Npoints:,1]) + self.plot_5.setData(self.t[-self.Npoints:],self.Current[-self.Npoints:,1]) + self.plot_6.setData(self.t[-self.Npoints:],self.Power[-self.Npoints:,1]) + + def update_setValues(self,setV): + #sets setvalues obtained from update_all in gui ['setU', 'setI', 'OutputOn'] + self.V_set_1.setText(f"{setV[0][0]}") + self.I_set_1.setText(f"{setV[1][0]}") + self.Output_1.setChecked(setV[2][0]) + self.V_set_2.setText(f"{setV[0][1]}") + self.I_set_2.setText(f"{setV[1][1]}") + self.Output_2.setChecked(setV[2][1]) + + def set_V(self): + #updates the set voltage in global variables. The change will be detected by update_all and it will be passed to the device + setU = [get_float(self.V_set_1), get_float(self.V_set_2)] + self.sync_BK_9174B.update({'setU':setU}) + + def set_I(self): + #updates the set current in global variables. The change will be detected by update_all and it will be passed to the device + setI = [get_float(self.I_set_1), get_float(self.I_set_2)] + self.sync_BK_9174B.update({'setI':setI}) + + def set_Output(self): + #updates the set Output in global variables. The change will be detected by update_all and it will be passed to the device + setOutput = [self.Output_1.isChecked(), self.Output_2.isChecked()] + self.sync_BK_9174B.update({'OutputOn':setOutput}) + + + + def set_Npoints(self): + #sets the number of points to plot + self.Npoints = int(self.line_Nplot.text()) + + def set_displot(self): + #sets variable to disable plot so checkbox state does not need be read out every iteration + self.disable_plot = self.checkBox_disableplots.isChecked() + + def plot_hide(self): + #shows or hides plots according to the checkboxes next to the plot area + boxes = [self.checkBox_V_1, self.checkBox_I_1, self.checkBox_P_1, + self.checkBox_V_2, self.checkBox_I_2, self.checkBox_P_2] + plots = plots = [self.plot_1, self.plot_2, self.plot_3, self.plot_4, self.plot_5, + self.plot_6] + for b,p in zip(boxes,plots): + if b.isChecked() == True: + p.show() + else: + p.hide() + + def change_timing(self): + #updates the timing which is used for "save". If no value it given, it is set to 1 s + self.timing_save = get_float(self.line_saveInterval,1) + + def save(self, progress_callback): + #if save checkbox is checked it writes measurement values to file specified in line.filePath. There the full path including file extension must be given. + while self.running == True: + time.sleep(self.timing_save) #wait is at beginning so first point is not corrupted when app just started. + if self.checkBox_save.isChecked() == True: + path = self.line_filePath.text() + if os.path.isfile(path) == False: + with open(path,'a') as file: + file.write('date\tV Ch:1[V]\tI Ch:1[A]\tP Ch:1[W]\tV Ch:2[V]\tI Ch:2[A]\tP Ch:2[W]\n') + file = open(path,'a') + file.write(time.strftime("%Y-%m-%d_%H-%M-%S",time.localtime(self.t[-1]))+'\t') + for i in [0,1]: #Loop for both channels + file.write(f"{self.Voltage[-1,i]}\t") + file.write(f"{self.Current[-1,i]}\t") + file.write(f"{self.Power[-1,i]}\t") + file.write('\n') + file.close + + def set_default(self): + #saves current set values to txt file in subdirectory configs. All entries that are saved are defined in self.lines_config + #Overwrites old values in config file. + current_dir = os.path.dirname(os.path.abspath(__file__)) + path = current_dir+'\\configs\\BK9174B_config.txt' #To make shure the config file is at the right place, independent from where the program is started the location of the file is retrieved + file = open(path,'w') + for l in self.lines_config_float: + temp = f"{get_float(l)}" + file.write(temp+'\t') + for l in self.lines_config_strings: + file.write(l.text()+'\t') + for c in self.checkboxes_config: + file.write(str(c.isChecked())+'\t') + file.write('\n') + file.close + + def read_default(self): + #reads default values from config file in subdirectory config and sets the values in gui. Then self.change is set to true so values are send + #to device. (If no config file exists, it does nothing.) + current_dir = os.path.dirname(os.path.abspath(__file__)) + path = current_dir+'\\configs\\BK9174B_config.txt' #To make shure the config file is read from the right place, independent from where the program is started the location of the file is retrieved + try: #exit function if config file does not exist + vals = import_txt.read_raw(path) + except: + print('no config file found on') + print(path) + return + formats = ['.2f', '.2f', '.2f','.2f','.2f','.0f'] + + for l,v,f in zip(self.lines_config_float,vals[0],formats): + v = float(v) #convert string in txt to float, so number can be formatted according to "formats" when it's set + l.setText(format(v,f)) + + for l,v in zip(self.lines_config_strings,vals[0][len(self.lines_config_float):]): + l.setText(v) + + for c,v in zip(self.checkboxes_config,vals[0][len(self.lines_config_float)+len(self.lines_config_strings):]): + c.setChecked(v == 'True') + + self.change = True + + def closeEvent(self,event): #when window is closed self.running is set to False, so all threads stop + self.running = False + time.sleep(1) + event.accept() + + + +app = QApplication(sys.argv) + +window = MainWindow() +window.show() +app.exec() \ No newline at end of file diff --git a/Legacy/Instrument_Drivers/Keithley_2230G_Control.py b/Legacy/Instrument_Drivers/Keithley_2230G_Control.py new file mode 100644 index 0000000..f6273de --- /dev/null +++ b/Legacy/Instrument_Drivers/Keithley_2230G_Control.py @@ -0,0 +1,414 @@ +from PyQt6.QtGui import * +from PyQt6.QtWidgets import * +from PyQt6.QtCore import * + +import multiprocessing +import multiprocessing.managers + +import time +import traceback,sys,os +import numpy as np +import pyqtgraph as pg +import import_txt + +# Get the current script's directory +current_dir = os.path.dirname(os.path.abspath(__file__)) +# Get the parent directory by going one level up +parent_dir = os.path.dirname(current_dir) +# Add the parent directory to sys.path +sys.path.append(parent_dir) +from drivers import Keithley_2230G + +from design_files.Keithley_2230G_design import Ui_MainWindow + + +class WorkerSignals(QObject): + ''' + Defines the signals available from a running worker thread. + Supported signals are: + finished: No data + error: tuple (exctype, value, traceback.format_exc() ) + result: object data returned from processing, anything + progress: int indicating % progress + ''' + finished = pyqtSignal() + error = pyqtSignal(tuple) + result = pyqtSignal(object) + progress = pyqtSignal(list) + + +class Worker(QRunnable): + ''' + Worker thread + Inherits from QRunnable to handler worker thread setup, signals and wrap-up. + :param callback: The function callback to run on this worker thread. Supplied args and + kwargs will be passed through to the runner. + :type callback: function + :param args: Arguments to pass to the callback function + :param kwargs: Keywords to pass to the callback function + ''' + + def __init__(self, fn, *args, **kwargs): + super(Worker, self).__init__() + + # Store constructor arguments (re-used for processing) + self.fn = fn + self.args = args + self.kwargs = kwargs + self.signals = WorkerSignals() + + # Add the callback to our kwargs + self.kwargs['progress_callback'] = self.signals.progress + + @pyqtSlot() + def run(self): + ''' + Initialise the runner function with passed args, kwargs. + ''' + + # Retrieve args/kwargs here; and fire processing using them + try: + result = self.fn(*self.args, **self.kwargs) + except: + traceback.print_exc() + exctype, value = sys.exc_info()[:2] + self.signals.error.emit((exctype, value, traceback.format_exc())) + else: + self.signals.result.emit(result) # Return the result of the processing + finally: + self.signals.finished.emit() # Done + +def get_float(Qline,default = 0): #gets value from QLineEdit and converts it to float. If text is empty or cannot be converted, it returns "default" which is 0, if not specified + try: + out = float(Qline.text()) + except: + out = default + return(out) + +class MainWindow(QMainWindow, Ui_MainWindow): + def __init__(self, *args, **kwargs): + # Get the current script's directory + self.current_dir = os.path.dirname(os.path.abspath(__file__)) + # Get the parent directory by going one level up + self.parent_dir = os.path.dirname(current_dir) + + #establish connection to global variables + try: #try to connect to global variables + manager = multiprocessing.managers.BaseManager(address=('localhost',5001), authkey=b'') + manager.connect() + manager.register('sync_Keithley_2230G') + self.sync_Keithley_2230G = manager.sync_Keithley_2230G() + except: #open global variables, if no connection can be made (i.e. it is not running). Then connect to it + # subprocess.call(['D:\\Python instrument drivers\\env\\Scripts\\python.exe', 'D:\\Python instrument drivers\\StandAlones\\global_variables.py']) + self.global_vars = QProcess() + self.global_vars.start(self.current_dir+"\\env\\Scripts\\python.exe", [self.current_dir+'\\global_variables.py']) + manager.connect() + manager.register('sync_Keithley_2230G') + self.sync_Keithley_2230G = manager.sync_Keithley_2230G() + print('!!!\nI opened global variables myself. If you close me, global variables will shut down too. Consider starting global variables in own instance for more security\n!!!') + + #fill in variables, if they are not defined in global variables + self.sync_Keithley_2230G.update({'setU':[0,0,0], 'setI':[0,0,0], 'OutputOn':[False, False, False], 'U':[0,0,0], 'I':[0,0,0], 'P':[0,0,0]}) + + #import Gui from QT designer file + super(MainWindow, self).__init__(*args, **kwargs) + self.setupUi(self) + + #setup plot + self.graphWidget.setBackground('w') + self.graphWidget.setTitle("Voltage, Current, Power") + self.graphWidget.setLabel('left', 'Voltage [V], Current [A], Power [W]') + self.graphWidget.setLabel('bottom', 'Time (H)') + axis = pg.DateAxisItem() + self.graphWidget.setAxisItems({'bottom':axis}) + + temp = [time.time(),time.time()-1] + pen1 = pg.mkPen(color=(255, 0, 0), width=2) + pen2 = pg.mkPen(color=(0, 0, 255), width=2) + pen3 = pg.mkPen(color=(0, 255, 0), width=2) + pen4 = pg.mkPen(color=(255, 255, 0), width=2) + pen5 = pg.mkPen(color=(255, 0, 255), width=2) + pen6 = pg.mkPen(color=(0, 255, 255), width=2) + pen7 = pg.mkPen(color=(255, 127, 127), width=2) + pen8 = pg.mkPen(color=(127, 255, 70), width=2) + pen9 = pg.mkPen(color=(255, 127, 70), width=2) + self.plot_1 = self.graphWidget.plot(temp,[1,0],pen = pen1, name = 'V Ch: 1') + self.plot_2 = self.graphWidget.plot(temp,[1,0],pen = pen2, name = 'I Ch: 1') + self.plot_3 = self.graphWidget.plot(temp,[1,0],pen = pen3, name = 'P Ch: 1') + self.plot_4 = self.graphWidget.plot(temp,[1,0],pen = pen4, name = 'V Ch: 2') + self.plot_5 = self.graphWidget.plot(temp,[1,0],pen = pen5, name = 'I Ch: 2') + self.plot_6 = self.graphWidget.plot(temp,[1,0],pen = pen6, name = 'P Ch: 2') + self.plot_7 = self.graphWidget.plot(temp,[1,0],pen = pen7, name = 'V Ch: 3') + self.plot_8 = self.graphWidget.plot(temp,[1,0],pen = pen8, name = 'I Ch: 3') + self.plot_9 = self.graphWidget.plot(temp,[1,0],pen = pen9, name = 'P Ch: 3') + self.graphWidget.addLegend() + + #set up pyQT threadpool + self.threadpool = QThreadPool() + + #define and standard threads. + worker_save = Worker(self.save) + self.threadpool.start(worker_save) + + #define signals and slots + self.actionSet_default.triggered.connect(self.set_default) + self.actionReset_default.triggered.connect(self.read_default) + self.button_connect.clicked.connect(self.start_meas) + self.line_Nplot.editingFinished.connect(self.set_Npoints) + self.line_saveInterval.editingFinished.connect(self.change_timing) + self.checkBox_disableplots.stateChanged.connect(self.set_displot) + + self.checkBox_V_1.stateChanged.connect(self.plot_hide) + self.checkBox_I_1.stateChanged.connect(self.plot_hide) + self.checkBox_P_1.stateChanged.connect(self.plot_hide) + self.checkBox_V_2.stateChanged.connect(self.plot_hide) + self.checkBox_I_2.stateChanged.connect(self.plot_hide) + self.checkBox_P_2.stateChanged.connect(self.plot_hide) + self.checkBox_V_3.stateChanged.connect(self.plot_hide) + self.checkBox_I_3.stateChanged.connect(self.plot_hide) + self.checkBox_P_3.stateChanged.connect(self.plot_hide) + + self.V_set_1.editingFinished.connect(self.set_V) + self.I_set_1.editingFinished.connect(self.set_I) + self.Output_1.stateChanged.connect(self.set_Output) + self.V_set_2.editingFinished.connect(self.set_V) + self.I_set_2.editingFinished.connect(self.set_I) + self.Output_2.stateChanged.connect(self.set_Output) + self.V_set_3.editingFinished.connect(self.set_V) + self.I_set_3.editingFinished.connect(self.set_I) + self.Output_3.stateChanged.connect(self.set_Output) + + + #define constants + self.Voltage = np.zeros((1,3)) #store voltage data + self.Current = np.zeros((1,3)) #store current data + self.Power = np.zeros((1,3)) #store power data + self.t = [time.time()] #store timestamps + self.Npoints = 200 #number of point to plot + self.running = True #true while app is running + self.disable_plot = False #constant to disable plot to improve performance. Is changed by checkbox checkBox_disableplots + self.timing_save = 5 #save intervall [s] + self.set_old = [0,0,1] #variable to save the 'old' set values to compare them to the global variables. It differs from set_new in the first iteration. This ensures that new parameters are send to the device + self.set_new = [0,0,0] #variable to save the new set values to compare them to the old ones + self.lines_config_float = [self.V_set_1,self.I_set_1,self.V_set_2,self.I_set_2,self.V_set_3,self.I_set_3,self.line_Nplot]#is used for config file + self.lines_config_strings = [self.line_devAdr,self.line_filePath,self.line_saveInterval]#is used for config file + self.checkboxes_config = [self.Output_1, self.Output_2, self.Output_3,self.checkBox_disableplots,self.checkBox_save, + self.checkBox_V_1, self.checkBox_I_1, self.checkBox_P_1, self.checkBox_V_2, self.checkBox_I_2, self.checkBox_P_2, + self.checkBox_V_3, self.checkBox_I_3, self.checkBox_P_3,]#is used for config file + + #read default values from config and set them in gui + self.read_default() + # #write values from gui to global variables. + self.set_V() + self.set_I() + self.set_Output() + #update save intervall to the gui value + self.change_timing() + + + def start_meas(self): + #Connect to device + address = self.line_devAdr.text() + self.KL = Keithley_2230G.Keithley_2230G(address) + #start thread for communication with device + self.worker = Worker(self.update_all) + self.worker.signals.progress.connect(self.update_gui) + self.threadpool.start(self.worker) + + def update_all(self, progress_callback): + #get values from device and write them to global variables. Checks if global variables changed from last iteration. Also pass it to upddate_gui with emit(T) + while self.running == True: + for i,n in enumerate(['setU', 'setI', 'OutputOn']): #get new set values from global variables and compare to old ones. + self.set_new[i] = self.sync_Keithley_2230G.get(n) + + if self.set_new != self.set_old: #if a button is clicked or global variables are changed the program checks which setting has been changed. + if self.set_new[0] != self.set_old[0]: #if setU is changed new setU parameters are sent to device + for CH in [1,2,3]: #for loop for all 3 channels + self.KL.set_Voltage(CH, self.set_new[0][CH-1]) #CH is element of 1-3 but setU parameters have indices of 0-2 + + if self.set_new[1] != self.set_old[1]: #if setI is changed new setI parameters are sent to device + for CH in [1,2,3]: #for loop for all 3 channels + self.KL.set_Current(CH, self.set_new[1][CH-1]) #CH is element of 1-3 but setI parameters have indices of 0-2 + + if self.set_new[2] != self.set_old[2]: #if OutputOn is changed new OutputOn parameters are sent to device + for CH in [1,2,3]: #for loop for all 3 channels + self.KL.set_Output(CH, self.set_new[2][CH-1]) #CH is element of 1-3 but OutputOn parameters have indices of 0-2 + + self.update_setValues(self.set_new) #Change GUI + + U = self.KL.read_Voltage() #read Voltage of all three channels + I = self.KL.read_Current() #read Current of all three channels + P = self.KL.read_Power() #read Power of all three channels + # P = [np.round(U[0]*I[0],4),np.round(U[1]*I[1],4),np.round(U[2]*I[2],4)] #calculates power by P=U*I and rounds to 4 digits + #Write measurement values into global variables + self.sync_Keithley_2230G.update({'U':U}) + self.sync_Keithley_2230G.update({'I':I}) + self.sync_Keithley_2230G.update({'P':P}) + progress_callback.emit([U,I,P]) #Emits list of all three lists U,I,P + self.set_old = self.set_new[:] #List needs to be sliced so that only values are taken and not just a pointer is created + # time.sleep(0.1) + + del(self.KL) #disconnect device when self.running is set to False + + def update_gui(self, List): + #Convert List into original format + U = List[0] + I = List[1] + P = List[2] + #set numbers + self.V_1.setText(str(U[0])) + self.I_1.setText(str(I[0])) + self.P_1.setText(str(P[0])) + + self.V_2.setText(str(U[1])) + self.I_2.setText(str(I[1])) + self.P_2.setText(str(P[1])) + + self.V_3.setText(str(U[2])) + self.I_3.setText(str(I[2])) + self.P_3.setText(str(P[2])) + + #Create database for plotting + self.Voltage = np.vstack([self.Voltage, np.array(U)]) + self.Current = np.vstack([self.Current, np.array(I)]) + self.Power = np.vstack([self.Power, np.array(P)]) + # x = range(len(self.Temperature)) + self.t.append(time.time()) + + #plot + if self.disable_plot == False: + self.plot_1.setData(self.t[-self.Npoints:],self.Voltage[-self.Npoints:,0]) + self.plot_2.setData(self.t[-self.Npoints:],self.Current[-self.Npoints:,0]) + self.plot_3.setData(self.t[-self.Npoints:],self.Power[-self.Npoints:,0]) + self.plot_4.setData(self.t[-self.Npoints:],self.Voltage[-self.Npoints:,1]) + self.plot_5.setData(self.t[-self.Npoints:],self.Current[-self.Npoints:,1]) + self.plot_6.setData(self.t[-self.Npoints:],self.Power[-self.Npoints:,1]) + self.plot_7.setData(self.t[-self.Npoints:],self.Voltage[-self.Npoints:,2]) + self.plot_8.setData(self.t[-self.Npoints:],self.Current[-self.Npoints:,2]) + self.plot_9.setData(self.t[-self.Npoints:],self.Power[-self.Npoints:,2]) + + def update_setValues(self,setV): + #sets setvalues obtained from update_all in gui ['setU', 'setI', 'OutputOn'] + self.V_set_1.setText(f"{setV[0][0]}") + self.I_set_1.setText(f"{setV[1][0]}") + self.Output_1.setChecked(setV[2][0]) + self.V_set_2.setText(f"{setV[0][1]}") + self.I_set_2.setText(f"{setV[1][1]}") + self.Output_2.setChecked(setV[2][1]) + self.V_set_3.setText(f"{setV[0][2]}") + self.I_set_3.setText(f"{setV[1][2]}") + self.Output_3.setChecked(setV[2][2]) + + def set_V(self): + #updates the set voltage in global variables. The change will be detected by update_all and it will be passed to the device + setU = [get_float(self.V_set_1), get_float(self.V_set_2), get_float(self.V_set_3)] + self.sync_Keithley_2230G.update({'setU':setU}) + + def set_I(self): + #updates the set current in global variables. The change will be detected by update_all and it will be passed to the device + setI = [get_float(self.I_set_1), get_float(self.I_set_2), get_float(self.I_set_3)] + self.sync_Keithley_2230G.update({'setI':setI}) + + def set_Output(self): + #updates the set Output in global variables. The change will be detected by update_all and it will be passed to the device + setOutput = [self.Output_1.isChecked(), self.Output_2.isChecked(), self.Output_3.isChecked()] + self.sync_Keithley_2230G.update({'OutputOn':setOutput}) + + + + def set_Npoints(self): + #sets the number of points to plot + self.Npoints = int(self.line_Nplot.text()) + + def set_displot(self): + #sets variable to disable plot so checkbox state does not need be read out every iteration + self.disable_plot = self.checkBox_disableplots.isChecked() + + def plot_hide(self): + #shows or hides plots according to the checkboxes next to the plot area + boxes = [self.checkBox_V_1, self.checkBox_I_1, self.checkBox_P_1, + self.checkBox_V_2, self.checkBox_I_2, self.checkBox_P_2, + self.checkBox_V_3, self.checkBox_I_3, self.checkBox_P_3] + plots = plots = [self.plot_1, self.plot_2, self.plot_3, self.plot_4, self.plot_5, + self.plot_6, self.plot_7, self.plot_8, self.plot_9] + for b,p in zip(boxes,plots): + if b.isChecked() == True: + p.show() + else: + p.hide() + + def change_timing(self): + #updates the timing which is used for "save". If no value it given, it is set to 1 s + self.timing_save = get_float(self.line_saveInterval,1) + + def save(self, progress_callback): + #if save checkbox is checked it writes measurement values to file specified in line.filePath. There the full path including file extension must be given. + while self.running == True: + time.sleep(self.timing_save) #wait is at beginning so first point is not corrupted when app just started. + if self.checkBox_save.isChecked() == True: + path = self.line_filePath.text() + if os.path.isfile(path) == False: + with open(path,'a') as file: + file.write('date\tV Ch:1[V]\tI Ch:1[A]\tP Ch:1[W]\tV Ch:2[V]\tI Ch:2[A]\tP Ch:2[W]\tV Ch:3[V]\tI Ch:3[A]\tP Ch:3[W]\n') + file = open(path,'a') + file.write(time.strftime("%Y-%m-%d_%H-%M-%S",time.localtime(self.t[-1]))+'\t') + for i in [0,1,2]: #Loop for all three channels + file.write(f"{self.Voltage[-1,i]}\t") + file.write(f"{self.Current[-1,i]}\t") + file.write(f"{self.Power[-1,i]}\t") + file.write('\n') + file.close + + def set_default(self): + #saves current set values to txt file in subdirectory configs. All entries that are saved are defined in self.lines_config + #Overwrites old values in config file. + current_dir = os.path.dirname(os.path.abspath(__file__)) + path = current_dir+'\\configs\\Keithley_2230G_config.txt' #To make shure the config file is at the right place, independent from where the program is started the location of the file is retrieved + file = open(path,'w') + for l in self.lines_config_float: + temp = f"{get_float(l)}" + file.write(temp+'\t') + for l in self.lines_config_strings: + file.write(l.text()+'\t') + for c in self.checkboxes_config: + file.write(str(c.isChecked())+'\t') + file.write('\n') + file.close + + def read_default(self): + #reads default values from config file in subdirectory config and sets the values in gui. Then self.change is set to true so values are send + #to device. (If no config file exists, it does nothing.) + current_dir = os.path.dirname(os.path.abspath(__file__)) + path = current_dir+'\\configs\\Keithley_2230G_config.txt' #To make shure the config file is read from the right place, independent from where the program is started the location of the file is retrieved + try: #exit function if config file does not exist + vals = import_txt.read_raw(path) + except: + print('no config file found on') + print(path) + return + formats = ['.2f', '.2f', '.2f','.2f','.2f','.0f'] + + for l,v,f in zip(self.lines_config_float,vals[0],formats): + v = float(v) #convert string in txt to float, so number can be formatted according to "formats" when it's set + l.setText(format(v,f)) + + for l,v in zip(self.lines_config_strings,vals[0][len(self.lines_config_float):]): + l.setText(v) + + for c,v in zip(self.checkboxes_config,vals[0][len(self.lines_config_float)+len(self.lines_config_strings):]): + c.setChecked(v == 'True') + + self.change = True + + def closeEvent(self,event): #when window is closed self.running is set to False, so all threads stop + self.running = False + time.sleep(1) + event.accept() + + + +app = QApplication(sys.argv) + +window = MainWindow() +window.show() +app.exec() \ No newline at end of file diff --git a/Legacy/Instrument_Drivers/Keysight_34461A_2_Control.py b/Legacy/Instrument_Drivers/Keysight_34461A_2_Control.py new file mode 100644 index 0000000..9970e47 --- /dev/null +++ b/Legacy/Instrument_Drivers/Keysight_34461A_2_Control.py @@ -0,0 +1,375 @@ +from PyQt6.QtGui import * +from PyQt6.QtWidgets import * +from PyQt6.QtCore import * + +import multiprocessing +import multiprocessing.managers + +import time +from datetime import datetime +import traceback, sys, os, subprocess +import numpy as np +import pyqtgraph as pg + +# Get the current script's directory +current_dir = os.path.dirname(os.path.abspath(__file__)) +# Get the parent directory by going one level up +parent_dir = os.path.dirname(current_dir) +# Add the parent directory to sys.path +sys.path.append(parent_dir) +from drivers import Keysight_34461A +import import_txt + +from design_files.Keysight_34461A_design import Ui_MainWindow + + +class WorkerSignals(QObject): + ''' + Defines the signals available from a running worker thread. + Supported signals are: + finished: No data + error: tuple (exctype, value, traceback.format_exc() ) + result: object data returned from processing, anything + progress: int indicating % progress + ''' + finished = pyqtSignal() + error = pyqtSignal(tuple) + result = pyqtSignal(object) + progress = pyqtSignal(list) + + +class Worker(QRunnable): + ''' + Worker thread + Inherits from QRunnable to handler worker thread setup, signals and wrap-up. + :param callback: The function callback to run on this worker thread. Supplied args and + kwargs will be passed through to the runner. + :type callback: function + :param args: Arguments to pass to the callback function + :param kwargs: Keywords to pass to the callback function + ''' + + def __init__(self, fn, *args, **kwargs): + super(Worker, self).__init__() + + # Store constructor arguments (re-used for processing) + self.fn = fn + self.args = args + self.kwargs = kwargs + self.signals = WorkerSignals() + + # Add the callback to our kwargs + self.kwargs['progress_callback'] = self.signals.progress + + @pyqtSlot() + def run(self): + ''' + Initialise the runner function with passed args, kwargs. + ''' + + # Retrieve args/kwargs here; and fire processing using them + try: + result = self.fn(*self.args, **self.kwargs) + except: + traceback.print_exc() + exctype, value = sys.exc_info()[:2] + self.signals.error.emit((exctype, value, traceback.format_exc())) + else: + self.signals.result.emit(result) # Return the result of the processing + finally: + self.signals.finished.emit() # Done + +def get_float(Qline,default = 0): #gets value from QLineEdit and converts it to float. If text is empty or cannot be converted, it returns "default" which is 0, if not specified + try: + out = float(Qline.text()) + except: + out = default + return(out) + +class MainWindow(QMainWindow, Ui_MainWindow): + def __init__(self, *args, **kwargs): + # Get the current script's directory + self.current_dir = os.path.dirname(os.path.abspath(__file__)) + # Get the parent directory by going one level up + self.parent_dir = os.path.dirname(current_dir) + + #establish connection to global variables + try: #try to connect to global variables + manager = multiprocessing.managers.BaseManager(address=('localhost',5001), authkey=b'') + manager.connect() + manager.register('sync_K_34461A_2') + self.sync_K_34461A = manager.sync_K_34461A_2() + except: #open global variables, if no connection can be made (i.e. it is not running). Then connect to it + # subprocess.call(['D:\\Python instrument drivers\\env\\Scripts\\python.exe', 'D:\\Python instrument drivers\\StandAlones\\global_variables.py']) + self.global_vars = QProcess() + self.global_vars.start(self.current_dir+"\\env\\Scripts\\python.exe", [self.current_dir+'\\global_variables.py']) + manager.connect() + manager.register('sync_K_34461A_2') + self.sync_K_34461A = manager.sync_K_34461A_2() + print('!!!\nI opened global variables myself. If you close me, global variables will shut down too. Consider starting global variables in own instance for more security\n!!!') + + #Set default values in global variables. V (Value) is the measurement data, mode specifies current or voltage measurement (0 = voltage, 1 = current) + self.sync_K_34461A.update({'V':0, 'mode':0, 'sensor':['TC','R']}) + + #import Gui from QT designer file + super(MainWindow, self).__init__(*args, **kwargs) + self.setupUi(self) + + #setup plot + self.graphWidget.setBackground('w') + self.graphWidget.setLabel('left', 'Voltage [V]') + self.graphWidget.setLabel('bottom', 'Time (H)') + axis = pg.DateAxisItem() + self.graphWidget.setAxisItems({'bottom':axis}) + + temp = [time.time(),time.time()-1] + pen1 = pg.mkPen(color=(255, 0, 0), width=2) + self.plot_P = self.graphWidget.plot(temp,[1,0],pen = pen1, name = 'Voltage') + + + #set up pyQT threadpool + self.threadpool = QThreadPool() + + #start standard threads + worker_save = Worker(self.save) + self.threadpool.start(worker_save) + + #define signals and slots + self.actionSet_default.triggered.connect(self.set_default) + self.actionReset_default.triggered.connect(self.read_default) + self.button_connect.clicked.connect(self.start_meas) + self.line_Nplot.editingFinished.connect(self.set_Npoints) + self.line_saveInterval.editingFinished.connect(self.change_timing) + self.checkBox_disableplots.stateChanged.connect(self.set_displot) + self.comboBox_Plot.currentIndexChanged.connect(self.change_plot) + self.comboBox_Plot.currentIndexChanged.connect(self.change_mode) + self.comboBox_sensor.currentIndexChanged.connect(self.change_sensor) + + #define constants + self.measure = 0 #which measurement should be taken. 0 = voltage, 1 = current + self.Values = np.zeros((1)) #store Voltage or Current data + self.t = [time.time()] #store timestamps + self.t1 = [datetime.now()] #store timestamps with higher precision + self.last_save = self.t1[-1] #timestamp of last write-to-file event + self.Npoints = 200 #number of point to plot + self.running = True #true while app is running + self.disable_plot = False #constant to disable plot to improve performance. Is changed by checkbox checkBox_disableplots + self.timing_save = 1 #save intervall + self.lines_config_float = [self.line_Nplot,self.line_saveInterval] #is used for config file + self.lines_config_strings = [self.line_devAdr,self.line_filePath] #is used for config file + self.checkboxes_config = [self.checkBox_disableplots,self.checkBox_save] #is used for config file + + + #read default values from config and set them in gui + self.read_default() + #write current gui values to global vars + self.change_mode() + #update save intervall + self.change_timing() + + def start_meas(self): + #Connect to device and configure it to measure what is selected in comboBox_Plot. Also sets the correct mode in global variables and chooses correct plot layout + address = self.line_devAdr.text() + self.MM = Keysight_34461A.Keysight34461A(address) + if self.comboBox_Plot.currentIndex() == 0: + self.MM.configure() #measure Voltage + self.sync_K_34461A.update({'mode':0}) #sets mode in global variables to the one set in gui + self.change_plot(0) #setup plot to show voltage + elif self.comboBox_Plot.currentIndex() == 1: + self.MM.configure(VoC = 'CURR', DC = 'DC') #measure current + self.sync_K_34461A.update({'mode':1}) #sets mode in global variables to the one set in gui + self.change_plot(1) #setup plot to show current + elif self.comboBox_Plot.currentIndex() == 2: + self.MM.configure_temp(Sensor='TC',Type='R') + self.sync_K_34461A.update({'mode':2}) #sets mode in global variables to the one set in gui + self.change_plot(1) #setup plot to show current + + self.MM.initiate_measurement() #start measurement + #start thread for communication with device + self.worker = Worker(self.update_Value) + self.worker.signals.progress.connect(self.update_gui) + self.threadpool.start(self.worker) + + def update_Value(self, progress_callback): + #gets new measurement. If "mode" in global variables changed from last iteration the new measurement mode is set. + self.mode_old = self.sync_K_34461A.get('mode') #is needed to compare measurement mode in global variables from preveous iteration to the one in current iteration + self.sensor_old = self.sync_K_34461A.get('mode') #is needed to compare sensor type in global variables from preveous iteration to the one in current iteration + while self.running == True: + self.mode_new = self.sync_K_34461A.get('mode') #up to date measurement mode in global variabels + self.sensor_new = self.sync_K_34461A.get('sensor') + if self.mode_new != self.mode_old or self.sensor_new != self.sensor_old: #if measurement mode or sensor type was changed in gui, the device is re-configured + print(self.mode_new) + print(self.sensor_new) + self.comboBox_Plot.setCurrentIndex(self.mode_new) + self.MM.stop_measurement() #stop measurement so measurement mode can be changed + if self.mode_new == 0: + self.MM.configure() #measure Voltage + self.MM.initiate_measurement() #restart measurement + elif self.mode_new == 1: + self.MM.configure(VoC = 'CURR', DC = 'DC') #measure current + self.MM.initiate_measurement() #restart measurement + elif self.mode_new == 2: + self.MM.configure_temp(Sensor=self.sensor_new[0],Type=self.sensor_new[1]) #measure tmperaure + self.MM.initiate_measurement() #restart measurement + + Val = self.MM.read() + self.sync_K_34461A.update({'V':Val}) + progress_callback.emit([Val]) + self.mode_old = self.mode_new #store measurement mode from this iteration in mode_old so it can be compared to the new global variables in the next iteration + self.sensor_old = self.sensor_new #strore sensor type from this iteration in sensor_old so it can be compared to the new global variables in the next iteration + time.sleep(0.5) + + del(self.MM) #disconnect device when self.running is set to False + + + def update_gui(self,V): + #set numbers depending on what is plotted + if self.mode_new == 0: + self.line_V.setText(f"{V[0]:.3e}") + elif self.mode_new == 1: + self.line_A.setText(f"{V[0]:.3e}") + elif self.mode_new == 2: + self.line_Temp.setText(f"{V[0]:.3e}") + #Create database for plotting + self.Values = np.vstack([self.Values, np.array(V[0])]) + self.t.append(time.time()) + self.t1.append(datetime.now()) + #plot + if self.disable_plot == False: + self.plot_P.setData(self.t[-self.Npoints:],self.Values[-self.Npoints:,0]) + + + def change_plot(self,I): #changes plot axis labels, and resets stored data for plotting + if I == 0: + self.graphWidget.setLabel('left', 'Voltage [V]') + self.Values = np.zeros((1)) #reset Voltage or Current data + self.t = [time.time()] #reset timestamps + self.line_Temp.setText('NaN') #set text in 'temperature' field to NaN, to indicate it is not measured + self.line_A.setText('NaN') # set text in 'current' field to NaN, to indicate it is not measured + elif I == 1: + self.graphWidget.setLabel('left', 'Current [A]') + self.Values = np.zeros((1)) #reset Voltage or Current data + self.t = [time.time()] #reset timestamps + self.line_Temp.setText('NaN') #set text in 'temperature' field to NaN, to indicate it is not measured + self.line_V.setText('NaN') # set text in 'voltage' field to NaN, to indicate it is not measured + elif I == 2: + self.graphWidget.setLabel('left', 'Temperaure [C°]') + self.Values = np.zeros((1)) #reset Voltage or Current data + self.t = [time.time()] #reset timestamps + self.line_V.setText('NaN') # set text in 'voltage' field to NaN, to indicate it is not measured + self.line_A.setText('NaN') # set text in 'Current' field to NaN, to indicate it is not measured + + def change_mode(self): + #updates "mode" in global variables. This is detected by "update_Value" and the device is set to the correct mode + self.sync_K_34461A.update({'mode':self.comboBox_Plot.currentIndex()}) + + def change_sensor(self,I): + #updates "sensor" in global variables. "update_Value" and the device is set to the correct mode + if I == 0: #assign the correct sensor types to selected Index (Manual p.251) + self.sync_K_34461A.update({'sensor':['RTD','85']}) + elif I == 1: + self.sync_K_34461A.update({'sensor':['FRTD','82']}) + elif I == 2: + self.sync_K_34461A.update({'sensor':['FTH','5000']}) + elif I == 3: + self.sync_K_34461A.update({'sensor':['THER','5000']}) + elif I == 4: + self.sync_K_34461A.update({'sensor':['TC','E']}) + elif I == 5: + self.sync_K_34461A.update({'sensor':['TC','J']}) + elif I == 6: + self.sync_K_34461A.update({'sensor':['TC','K']}) + elif I == 7: + self.sync_K_34461A.update({'sensor':['TC','N']}) + elif I == 8: + self.sync_K_34461A.update({'sensor':['TC','R']}) + elif I == 9: + self.sync_K_34461A.update({'sensor':['TC','T']}) + + def change_timing(self): + #updates the timing which is used for "save". If no value it given, it is set to 1 s + self.timing_save = get_float(self.line_saveInterval,1) + + def save(self, progress_callback): + #if save checkbox is checked it writes measurement values to file specified in line.filePath. There the full path including file extension must be given. + while self.running == True: + time.sleep(self.timing_save) #wait is at beginning so first point is not corrupted when app just started. + if self.checkBox_save.isChecked() == True and self.t1[-1] > self.last_save: + #write only, if there is a new timestamp + path = self.line_filePath.text() + if os.path.isfile(path) == False: + with open(path,'a') as file: + file.write('date\tVoltage[V]\tCurrent[A]\tTemperature[°C]\n') + file = open(path,'a') + #file.write(time.strftime("%Y-%m-%d_%H-%M-%S",time.localtime(self.t[-1]))+'\t') + file.write(self.t1[-1].strftime("%Y-%m-%d_%H-%M-%S.%f")+'\t') + if self.mode_new == 0: + file.write(f"{self.sync_K_34461A.get('V')}\t0\t0\n") + elif self.mode_new == 1: + file.write(f"0\t{self.sync_K_34461A.get('V')}\t0\n") + elif self.mode_new == 2: + file.write(f"0\t0\t{self.sync_K_34461A.get('V')}\n") + self.last_save = self.t1[-1] + file.close + + + def set_Npoints(self): + #sets the number of points to plot + self.Npoints = int(self.line_Nplot.text()) + + def set_displot(self): + #sets variable to disable plot so checkbox state does not need be read out every iteration + self.disable_plot = self.checkBox_disableplots.isChecked() + + def set_default(self): + #saves current set values to txt file in subdirectory configs. All entries that are saved are defined in self.lines_config + #Additionally measurement mode is saved. Overwrites old values in config file. + path = self.current_dir+'\\configs\\Keysight_34461A_config_2.txt' #To make shure the config file is at the right place, independent from where the program is started the location of the file is retrieved + file = open(path,'w') + for l in self.lines_config_float: + temp = f"{get_float(l)}" + file.write(temp+'\t') + for l in self.lines_config_strings: + file.write(l.text()+'\t') + for c in self.checkboxes_config: + file.write(str(c.isChecked())+'\t') + file.write(str(self.comboBox_Plot.currentIndex())+'\t') + file.write(str(self.comboBox_sensor.currentIndex())) + file.write('\n') + file.close + + def read_default(self): + #reads default values from config file in subdirectory config and sets the values in gui. Then self.change is set to true so values are send + #to device. (If no config file exists, it does nothing.) + path = self.current_dir+'\\configs\\Keysight_34461A_config_2.txt' #To make shure the config file is read from the right place, independent from where the program is started the location of the file is retrieved + try: #exit function if config file does not exist + vals = import_txt.read_raw(path) + except: + return + formats = ['.0f','.2f'] + + for l,v,f in zip(self.lines_config_float,vals[0],formats): + v = float(v) #convert string in txt to float, so number can be formatted according to "formats" when it's set + l.setText(format(v,f)) + + for l,v in zip(self.lines_config_strings,vals[0][len(self.lines_config_float):]): + l.setText(v) + + for c,v in zip(self.checkboxes_config,vals[0][len(self.lines_config_float)+len(self.lines_config_strings):]): + c.setChecked(v == 'True') + + self.comboBox_Plot.setCurrentIndex(int(vals[0][-2])) + self.comboBox_sensor.setCurrentIndex(int(vals[0][-1])) + self.change = True + + + def closeEvent(self,event): #when window is closed self.running is set to False, so all threads stop. + self.running = False + time.sleep(1) #make shure threads have enough time to close + event.accept() + +app = QApplication(sys.argv) + +window = MainWindow() +window.show() +app.exec() \ No newline at end of file diff --git a/Legacy/Instrument_Drivers/Keysight_34461A_Control.py b/Legacy/Instrument_Drivers/Keysight_34461A_Control.py new file mode 100644 index 0000000..4728679 --- /dev/null +++ b/Legacy/Instrument_Drivers/Keysight_34461A_Control.py @@ -0,0 +1,375 @@ +from PyQt6.QtGui import * +from PyQt6.QtWidgets import * +from PyQt6.QtCore import * + +import multiprocessing +import multiprocessing.managers + +import time +from datetime import datetime +import traceback, sys, os, subprocess +import numpy as np +import pyqtgraph as pg + +# Get the current script's directory +current_dir = os.path.dirname(os.path.abspath(__file__)) +# Get the parent directory by going one level up +parent_dir = os.path.dirname(current_dir) +# Add the parent directory to sys.path +sys.path.append(parent_dir) +from drivers import Keysight_34461A +import import_txt + +from design_files.Keysight_34461A_design import Ui_MainWindow + + +class WorkerSignals(QObject): + ''' + Defines the signals available from a running worker thread. + Supported signals are: + finished: No data + error: tuple (exctype, value, traceback.format_exc() ) + result: object data returned from processing, anything + progress: int indicating % progress + ''' + finished = pyqtSignal() + error = pyqtSignal(tuple) + result = pyqtSignal(object) + progress = pyqtSignal(list) + + +class Worker(QRunnable): + ''' + Worker thread + Inherits from QRunnable to handler worker thread setup, signals and wrap-up. + :param callback: The function callback to run on this worker thread. Supplied args and + kwargs will be passed through to the runner. + :type callback: function + :param args: Arguments to pass to the callback function + :param kwargs: Keywords to pass to the callback function + ''' + + def __init__(self, fn, *args, **kwargs): + super(Worker, self).__init__() + + # Store constructor arguments (re-used for processing) + self.fn = fn + self.args = args + self.kwargs = kwargs + self.signals = WorkerSignals() + + # Add the callback to our kwargs + self.kwargs['progress_callback'] = self.signals.progress + + @pyqtSlot() + def run(self): + ''' + Initialise the runner function with passed args, kwargs. + ''' + + # Retrieve args/kwargs here; and fire processing using them + try: + result = self.fn(*self.args, **self.kwargs) + except: + traceback.print_exc() + exctype, value = sys.exc_info()[:2] + self.signals.error.emit((exctype, value, traceback.format_exc())) + else: + self.signals.result.emit(result) # Return the result of the processing + finally: + self.signals.finished.emit() # Done + +def get_float(Qline,default = 0): #gets value from QLineEdit and converts it to float. If text is empty or cannot be converted, it returns "default" which is 0, if not specified + try: + out = float(Qline.text()) + except: + out = default + return(out) + +class MainWindow(QMainWindow, Ui_MainWindow): + def __init__(self, *args, **kwargs): + # Get the current script's directory + self.current_dir = os.path.dirname(os.path.abspath(__file__)) + # Get the parent directory by going one level up + self.parent_dir = os.path.dirname(current_dir) + + #establish connection to global variables + try: #try to connect to global variables + manager = multiprocessing.managers.BaseManager(address=('localhost',5001), authkey=b'') + manager.connect() + manager.register('sync_K_34461A') + self.sync_K_34461A = manager.sync_K_34461A() + except: #open global variables, if no connection can be made (i.e. it is not running). Then connect to it + # subprocess.call(['D:\\Python instrument drivers\\env\\Scripts\\python.exe', 'D:\\Python instrument drivers\\StandAlones\\global_variables.py']) + self.global_vars = QProcess() + self.global_vars.start(self.current_dir+"\\env\\Scripts\\python.exe", [self.current_dir+'\\global_variables.py']) + manager.connect() + manager.register('sync_K_34461A') + self.sync_K_34461A = manager.sync_K_34461A() + print('!!!\nI opened global variables myself. If you close me, global variables will shut down too. Consider starting global variables in own instance for more security\n!!!') + + #Set default values in global variables. V (Value) is the measurement data, mode specifies current or voltage measurement (0 = voltage, 1 = current) + self.sync_K_34461A.update({'V':0, 'mode':0, 'sensor':['TC','R']}) + + #import Gui from QT designer file + super(MainWindow, self).__init__(*args, **kwargs) + self.setupUi(self) + + #setup plot + self.graphWidget.setBackground('w') + self.graphWidget.setLabel('left', 'Voltage [V]') + self.graphWidget.setLabel('bottom', 'Time (H)') + axis = pg.DateAxisItem() + self.graphWidget.setAxisItems({'bottom':axis}) + + temp = [time.time(),time.time()-1] + pen1 = pg.mkPen(color=(255, 0, 0), width=2) + self.plot_P = self.graphWidget.plot(temp,[1,0],pen = pen1, name = 'Voltage') + + + #set up pyQT threadpool + self.threadpool = QThreadPool() + + #start standard threads + worker_save = Worker(self.save) + self.threadpool.start(worker_save) + + #define signals and slots + self.actionSet_default.triggered.connect(self.set_default) + self.actionReset_default.triggered.connect(self.read_default) + self.button_connect.clicked.connect(self.start_meas) + self.line_Nplot.editingFinished.connect(self.set_Npoints) + self.line_saveInterval.editingFinished.connect(self.change_timing) + self.checkBox_disableplots.stateChanged.connect(self.set_displot) + self.comboBox_Plot.currentIndexChanged.connect(self.change_plot) + self.comboBox_Plot.currentIndexChanged.connect(self.change_mode) + self.comboBox_sensor.currentIndexChanged.connect(self.change_sensor) + + #define constants + self.measure = 0 #which measurement should be taken. 0 = voltage, 1 = current + self.Values = np.zeros((1)) #store Voltage or Current data + self.t = [time.time()] #store timestamps + self.t1 = [datetime.now()] #store timestamps with higher precision + self.last_save = self.t1[-1] #timestamp of last write-to-file event + self.Npoints = 200 #number of point to plot + self.running = True #true while app is running + self.disable_plot = False #constant to disable plot to improve performance. Is changed by checkbox checkBox_disableplots + self.timing_save = 1 #save intervall + self.lines_config_float = [self.line_Nplot,self.line_saveInterval] #is used for config file + self.lines_config_strings = [self.line_devAdr,self.line_filePath] #is used for config file + self.checkboxes_config = [self.checkBox_disableplots,self.checkBox_save] #is used for config file + + + #read default values from config and set them in gui + self.read_default() + #write current gui values to global vars + self.change_mode() + #update save intervall + self.change_timing() + + def start_meas(self): + #Connect to device and configure it to measure what is selected in comboBox_Plot. Also sets the correct mode in global variables and chooses correct plot layout + address = self.line_devAdr.text() + self.MM = Keysight_34461A.Keysight34461A(address) + if self.comboBox_Plot.currentIndex() == 0: + self.MM.configure() #measure Voltage + self.sync_K_34461A.update({'mode':0}) #sets mode in global variables to the one set in gui + self.change_plot(0) #setup plot to show voltage + elif self.comboBox_Plot.currentIndex() == 1: + self.MM.configure(VoC = 'CURR', DC = 'DC') #measure current + self.sync_K_34461A.update({'mode':1}) #sets mode in global variables to the one set in gui + self.change_plot(1) #setup plot to show current + elif self.comboBox_Plot.currentIndex() == 2: + self.MM.configure_temp(Sensor='TC',Type='R') + self.sync_K_34461A.update({'mode':2}) #sets mode in global variables to the one set in gui + self.change_plot(1) #setup plot to show current + + self.MM.initiate_measurement() #start measurement + #start thread for communication with device + self.worker = Worker(self.update_Value) + self.worker.signals.progress.connect(self.update_gui) + self.threadpool.start(self.worker) + + def update_Value(self, progress_callback): + #gets new measurement. If "mode" in global variables changed from last iteration the new measurement mode is set. + self.mode_old = self.sync_K_34461A.get('mode') #is needed to compare measurement mode in global variables from preveous iteration to the one in current iteration + self.sensor_old = self.sync_K_34461A.get('mode') #is needed to compare sensor type in global variables from preveous iteration to the one in current iteration + while self.running == True: + self.mode_new = self.sync_K_34461A.get('mode') #up to date measurement mode in global variabels + self.sensor_new = self.sync_K_34461A.get('sensor') + if self.mode_new != self.mode_old or self.sensor_new != self.sensor_old: #if measurement mode or sensor type was changed in gui, the device is re-configured + print(self.mode_new) + print(self.sensor_new) + self.comboBox_Plot.setCurrentIndex(self.mode_new) + self.MM.stop_measurement() #stop measurement so measurement mode can be changed + if self.mode_new == 0: + self.MM.configure() #measure Voltage + self.MM.initiate_measurement() #restart measurement + elif self.mode_new == 1: + self.MM.configure(VoC = 'CURR', DC = 'DC') #measure current + self.MM.initiate_measurement() #restart measurement + elif self.mode_new == 2: + self.MM.configure_temp(Sensor=self.sensor_new[0],Type=self.sensor_new[1]) #measure tmperaure + self.MM.initiate_measurement() #restart measurement + + Val = self.MM.read() + self.sync_K_34461A.update({'V':Val}) + progress_callback.emit([Val]) + self.mode_old = self.mode_new #store measurement mode from this iteration in mode_old so it can be compared to the new global variables in the next iteration + self.sensor_old = self.sensor_new #strore sensor type from this iteration in sensor_old so it can be compared to the new global variables in the next iteration + time.sleep(0.5) + + del(self.MM) #disconnect device when self.running is set to False + + + def update_gui(self,V): + #set numbers depending on what is plotted + if self.mode_new == 0: + self.line_V.setText(f"{V[0]:.3e}") + elif self.mode_new == 1: + self.line_A.setText(f"{V[0]:.3e}") + elif self.mode_new == 2: + self.line_Temp.setText(f"{V[0]:.3e}") + #Create database for plotting + self.Values = np.vstack([self.Values, np.array(V[0])]) + self.t.append(time.time()) + self.t1.append(datetime.now()) + #plot + if self.disable_plot == False: + self.plot_P.setData(self.t[-self.Npoints:],self.Values[-self.Npoints:,0]) + + + def change_plot(self,I): #changes plot axis labels, and resets stored data for plotting + if I == 0: + self.graphWidget.setLabel('left', 'Voltage [V]') + self.Values = np.zeros((1)) #reset Voltage or Current data + self.t = [time.time()] #reset timestamps + self.line_Temp.setText('NaN') #set text in 'temperature' field to NaN, to indicate it is not measured + self.line_A.setText('NaN') # set text in 'current' field to NaN, to indicate it is not measured + elif I == 1: + self.graphWidget.setLabel('left', 'Current [A]') + self.Values = np.zeros((1)) #reset Voltage or Current data + self.t = [time.time()] #reset timestamps + self.line_Temp.setText('NaN') #set text in 'temperature' field to NaN, to indicate it is not measured + self.line_V.setText('NaN') # set text in 'voltage' field to NaN, to indicate it is not measured + elif I == 2: + self.graphWidget.setLabel('left', 'Temperaure [C°]') + self.Values = np.zeros((1)) #reset Voltage or Current data + self.t = [time.time()] #reset timestamps + self.line_V.setText('NaN') # set text in 'voltage' field to NaN, to indicate it is not measured + self.line_A.setText('NaN') # set text in 'Current' field to NaN, to indicate it is not measured + + def change_mode(self): + #updates "mode" in global variables. This is detected by "update_Value" and the device is set to the correct mode + self.sync_K_34461A.update({'mode':self.comboBox_Plot.currentIndex()}) + + def change_sensor(self,I): + #updates "sensor" in global variables. "update_Value" and the device is set to the correct mode + if I == 0: #assign the correct sensor types to selected Index (Manual p.251) + self.sync_K_34461A.update({'sensor':['RTD','85']}) + elif I == 1: + self.sync_K_34461A.update({'sensor':['FRTD','82']}) + elif I == 2: + self.sync_K_34461A.update({'sensor':['FTH','5000']}) + elif I == 3: + self.sync_K_34461A.update({'sensor':['THER','5000']}) + elif I == 4: + self.sync_K_34461A.update({'sensor':['TC','E']}) + elif I == 5: + self.sync_K_34461A.update({'sensor':['TC','J']}) + elif I == 6: + self.sync_K_34461A.update({'sensor':['TC','K']}) + elif I == 7: + self.sync_K_34461A.update({'sensor':['TC','N']}) + elif I == 8: + self.sync_K_34461A.update({'sensor':['TC','R']}) + elif I == 9: + self.sync_K_34461A.update({'sensor':['TC','T']}) + + def change_timing(self): + #updates the timing which is used for "save". If no value it given, it is set to 1 s + self.timing_save = get_float(self.line_saveInterval,1) + + def save(self, progress_callback): + #if save checkbox is checked it writes measurement values to file specified in line.filePath. There the full path including file extension must be given. + while self.running == True: + time.sleep(self.timing_save) #wait is at beginning so first point is not corrupted when app just started. + if self.checkBox_save.isChecked() == True and self.t1[-1] > self.last_save: + #write only, if there is a new timestamp + path = self.line_filePath.text() + if os.path.isfile(path) == False: + with open(path,'a') as file: + file.write('date\tVoltage[V]\tCurrent[A]\tTemperature[°C]\n') + file = open(path,'a') + #file.write(time.strftime("%Y-%m-%d_%H-%M-%S",time.localtime(self.t[-1]))+'\t') + file.write(self.t1[-1].strftime("%Y-%m-%d_%H-%M-%S.%f")+'\t') + if self.mode_new == 0: + file.write(f"{self.sync_K_34461A.get('V')}\t0\t0\n") + elif self.mode_new == 1: + file.write(f"0\t{self.sync_K_34461A.get('V')}\t0\n") + elif self.mode_new == 2: + file.write(f"0\t0\t{self.sync_K_34461A.get('V')}\n") + self.last_save = self.t1[-1] + file.close + + + def set_Npoints(self): + #sets the number of points to plot + self.Npoints = int(self.line_Nplot.text()) + + def set_displot(self): + #sets variable to disable plot so checkbox state does not need be read out every iteration + self.disable_plot = self.checkBox_disableplots.isChecked() + + def set_default(self): + #saves current set values to txt file in subdirectory configs. All entries that are saved are defined in self.lines_config + #Additionally measurement mode is saved. Overwrites old values in config file. + path = self.current_dir+'\\configs\\Keysight_34461A_config.txt' #To make shure the config file is at the right place, independent from where the program is started the location of the file is retrieved + file = open(path,'w') + for l in self.lines_config_float: + temp = f"{get_float(l)}" + file.write(temp+'\t') + for l in self.lines_config_strings: + file.write(l.text()+'\t') + for c in self.checkboxes_config: + file.write(str(c.isChecked())+'\t') + file.write(str(self.comboBox_Plot.currentIndex())+'\t') + file.write(str(self.comboBox_sensor.currentIndex())) + file.write('\n') + file.close + + def read_default(self): + #reads default values from config file in subdirectory config and sets the values in gui. Then self.change is set to true so values are send + #to device. (If no config file exists, it does nothing.) + path = self.current_dir+'\\configs\\Keysight_34461A_config.txt' #To make shure the config file is read from the right place, independent from where the program is started the location of the file is retrieved + try: #exit function if config file does not exist + vals = import_txt.read_raw(path) + except: + return + formats = ['.0f','.2f'] + + for l,v,f in zip(self.lines_config_float,vals[0],formats): + v = float(v) #convert string in txt to float, so number can be formatted according to "formats" when it's set + l.setText(format(v,f)) + + for l,v in zip(self.lines_config_strings,vals[0][len(self.lines_config_float):]): + l.setText(v) + + for c,v in zip(self.checkboxes_config,vals[0][len(self.lines_config_float)+len(self.lines_config_strings):]): + c.setChecked(v == 'True') + + self.comboBox_Plot.setCurrentIndex(int(vals[0][-2])) + self.comboBox_sensor.setCurrentIndex(int(vals[0][-1])) + self.change = True + + + def closeEvent(self,event): #when window is closed self.running is set to False, so all threads stop. + self.running = False + time.sleep(1) #make shure threads have enough time to close + event.accept() + +app = QApplication(sys.argv) + +window = MainWindow() +window.show() +app.exec() \ No newline at end of file diff --git a/Legacy/Instrument_Drivers/Keysight_U2042XA_control.py b/Legacy/Instrument_Drivers/Keysight_U2042XA_control.py new file mode 100644 index 0000000..f7e66c2 --- /dev/null +++ b/Legacy/Instrument_Drivers/Keysight_U2042XA_control.py @@ -0,0 +1,365 @@ +from PyQt6.QtGui import * +from PyQt6.QtWidgets import * +from PyQt6.QtCore import * + +import multiprocessing +import multiprocessing.managers + +import time +import traceback, sys, os +import numpy as np +import pyqtgraph as pg + +# Get the current script's directory +current_dir = os.path.dirname(os.path.abspath(__file__)) +# Get the parent directory by going one level up +parent_dir = os.path.dirname(current_dir) +# Add the parent directory to sys.path +sys.path.append(parent_dir) +from drivers import Keysight_U2042XA +import import_txt + +from design_files.Keysight_U2042XA_design import Ui_Powermeter + + +class WorkerSignals(QObject): + ''' + Defines the signals available from a running worker thread. + Supported signals are: + finished: No data + error: tuple (exctype, value, traceback.format_exc() ) + result: object data returned from processing, anything + progress: int indicating % progress + ''' + finished = pyqtSignal() + error = pyqtSignal(tuple) + result = pyqtSignal(object) + progress = pyqtSignal(list) + + +class Worker(QRunnable): + ''' + Worker thread + Inherits from QRunnable to handler worker thread setup, signals and wrap-up. + :param callback: The function callback to run on this worker thread. Supplied args and + kwargs will be passed through to the runner. + :type callback: function + :param args: Arguments to pass to the callback function + :param kwargs: Keywords to pass to the callback function + ''' + + def __init__(self, fn, *args, **kwargs): + super(Worker, self).__init__() + + # Store constructor arguments (re-used for processing) + self.fn = fn + self.args = args + self.kwargs = kwargs + self.signals = WorkerSignals() + + # Add the callback to our kwargs + self.kwargs['progress_callback'] = self.signals.progress + + @pyqtSlot() + def run(self): + ''' + Initialise the runner function with passed args, kwargs. + ''' + + # Retrieve args/kwargs here; and fire processing using them + try: + result = self.fn(*self.args, **self.kwargs) + except: + traceback.print_exc() + exctype, value = sys.exc_info()[:2] + self.signals.error.emit((exctype, value, traceback.format_exc())) + else: + self.signals.result.emit(result) # Return the result of the processing + finally: + self.signals.finished.emit() # Done + + +def get_float(Qline,default = 0): #gets value from QLineEdit and converts it to float. If text is empty or cannot be converted, it returns "default" which is 0, if not specified + try: + out = float(Qline.text()) + except: + out = default + return(out) + +class MainWindow(QMainWindow, Ui_Powermeter): + def __init__(self, *args, **kwargs): + # Get the current script's directory + self.current_dir = os.path.dirname(os.path.abspath(__file__)) + # Get the parent directory by going one level up + self.parent_dir = os.path.dirname(current_dir) + + #establish connection to global variables + try: #try to connect to global variables + manager = multiprocessing.managers.BaseManager(address=('localhost',5001), authkey=b'') + manager.connect() + manager.register('sync_K_U2042XA') + self.sync_K_U2042XA = manager.sync_K_U2042XA() + except: #open global variables, if no connection can be made (i.e. it is not running). Then connect to it + self.global_vars = QProcess() + self.global_vars.start(self.current_dir+"\\env\\Scripts\\python.exe", [self.current_dir+'\\global_variables.py']) + manager = multiprocessing.managers.BaseManager(address=('localhost',5001), authkey=b'') + manager.connect() + manager.register('sync_K_U2042XA') + self.sync_K_U2042XA = manager.sync_K_U2042XA() + print('!!!\nI opened global variables myself. If you close me, global variables will shut down too. Consider starting global variables in own instance for more security\n!!!') + + #fill in variables, if they are not defined in global variables + self.sync_K_U2042XA.update({'P':0, 'mode':0, 'DC':0.01, 'Trac_par':[0,0,'',0]}) #P(Power) value from CW or Pulsed measurement, mode = 0=CW,1=Pulse,or 2=Trace, DC (Dutycycle) 0.001-99.999, Trac_par(trace parameters): [duration, trigger delay, trigger level ('' = auto), resolution (0=high,1=med,2=low)] + + #import Gui from QT designer file + super(MainWindow, self).__init__(*args, **kwargs) + self.setupUi(self) + + #setup plot + temp = [time.time(),time.time()-1] + pen1 = pg.mkPen(color=(255, 0, 0), width=2) + w = self.graphWidget_in #number of plots can aesily be scaled up by adding more graphwiddgets to a list in enumerate (for i,w in enumeratre [self._in,self.ref,...]) + w.setBackground('w') + w.setLabel('left', 'Power [dBm]') + w.setLabel('bottom', 'Time') + w.showGrid(x = True, y = True, alpha = 0.5) + axis = pg.DateAxisItem() + w.setAxisItems({'bottom':axis}) + w.setTitle('P_input') + self.plot_P_in = w.plot(temp,[1,0],pen = pen1, name = 'Power') + + + #set up pyQT threadpool + self.threadpool = QThreadPool() + + #start standard threads + worker_save = Worker(self.save) + self.threadpool.start(worker_save) + + #define signals and slots + self.actionSet_default.triggered.connect(self.set_default) + self.actionReset_default.triggered.connect(self.read_default) + self.button_connect.clicked.connect(self.start_meas) + self.button_updateTrace.clicked.connect(self.set_Trac_par) + self.line_Nplot.editingFinished.connect(self.set_Npoints) + self.line_saveInterval.editingFinished.connect(self.change_timing) + self.checkBox_disableplots.stateChanged.connect(self.set_displot) + self.comboBox_mode.currentIndexChanged.connect(self.set_mode) + self.line_Dutycycle.editingFinished.connect(self.set_DC) + self.line_ATT.editingFinished.connect(self.set_ATT) + + #define constants + self.Power = np.zeros((1,1)) #store temperature and power data + self.t = [time.time()] #store timestamps + self.Npoints = 200 #number of point to plot + self.running = True #true while app is running + self.disable_plot = False #constant to disable plot to improve performance. Is changed by checkbox checkBox_disableplots + self.timing_save = 0.5 #save intervall + self.Ptrace = [0,1] #dummy variable so programm does not trip when trace is activated + self.ATT = 0 #store cable attenuation in following order [in,ref,trans] + self.set_old = [0,0] #variable to save the 'old' set values to compare them to the global variables. Since the length is only 2, it differs from set_new in the first iteration. This ensures that new parameters are send to the device + self.set_new = [0,0,0] #variable to save the new set values to compare them to the old ones + self.lines_config_float = [self.line_freq, self.line_ATT,self.line_Duration, self.line_TrigDelay,self.line_Nplot] + self.lines_config_strings = [self.line_TrigLevel, self.line_devAdr,self.line_filePath,self.line_saveInterval] + self.checkboxes_config = [self.checkBox_disableplots,self.checkBox_save] + + #read default values from config file and set them in gui + self.read_default() + #write gui values values in global variables and set attenuation(local) + self.set_mode() + self.set_Trac_par() + self.set_DC() + self.set_ATT() + #set save timing from gui + self.change_timing() + + def start_meas(self): + #Connect to devices. If last argument in init is 1 calibration is performed, if it is 0 no calibration is performed + if self.checkBox_calibrate.isChecked() == True: + cal = 1 + else: + cal = 0 + address = self.line_devAdr.text() + freq = get_float(self.line_freq) + self.PM = Keysight_U2042XA.KeysightU2042XA(address, freq,cal) + #start thread for communication with device + worker = Worker(self.update_P) + worker.signals.progress.connect(self.update_gui) + self.threadpool.start(worker) + #turn off connect button + self.button_connect.setEnabled(False) + + + def update_P(self, progress_callback): #gets powermeasurements, either CW or trace + while self.running == True: #update as long as program is running + for i,n in enumerate(['mode', 'DC', 'Trac_par']): #get new set values from global variables and compare to old ones. + self.set_new[i] = self.sync_K_U2042XA.get(n) + if self.set_new != self.set_old: #update device settings of device, if something changed + if self.set_new[0] == 0: #CW Measurement + self.PM.activate_CW() + self.Power = np.delete(self.Power, np.s_[-1::], 0) #delete last row from self.Power since it contains -999 + self.t.pop(-1) #delete corresponding time as well + elif self.set_new[0] == 2: #trace measurement + self.PM.activate_trace() + if self.set_new[2][2] == '': + self.PM.set_trigger_level() #set trigger level to auto + else: + self.PM.set_trigger_level(self.set_new[2][2]) #set trigger level to value + self.PM.set_trigger_delay(float(self.line_TrigDelay.text())) #set trigger delay + self.PM.set_trace_time(float(self.line_Duration.text())) #set trace time + if self.set_new[2][3] == 0: #set trace resolution according to measurement mode from combobox_mode + res = 'HRES' + elif self.set_new[2][3] == 1: + res = 'MRES' + else: + res = 'LRES' + self.update_gui_setValues(self.set_new) #update set values in gui from global variables + + if self.set_new[0] == 0 or self.set_new[0] == 1: #If mode is CW or pulse, just read current value and emit signal with value + P = self.PM.read() + self.sync_K_U2042XA.update({'P':P}) #Pass current value to global variables + progress_callback.emit([P]) #emit signal expects list, therefore, [] + time.sleep(0.1) + else: #if mode is trace, read the trace + # time.sleep(0.5) + self.Ptrace = self.PM.read_trace(res) #get trace data + self.sync_K_U2042XA.update({'P':[-999]}) #set CW measurement to dummy -999 so Main program can handle it + progress_callback.emit([-999]) #emit 0 so function update_gui is called and CW power is set to zero + self.set_old = self.set_new.copy() #List needs to be copied so that only values are taken and not just a pointer is created + del(self.PM) #disconnect device when self.running is set to False + + + def update_gui(self,P): + #sets CW number in corresponding label and updates plot. Plot is different when trace is plotted. + #set numbers + self.line_Power_in.setText(f"{P[0]+self.ATT:.3f}") + + if self.set_new[0] == 0 or self.set_new[0] == 1: #If mode is CW or pulse update P vs t plot + #Create database for plotting + self.Power = np.vstack([self.Power, np.array(P)+self.ATT]) + self.t.append(time.time()) + #plot + if self.disable_plot == False: + self.plot_P_in.setData(self.t[-self.Npoints:],self.Power[-self.Npoints:,0]) + else: # if mode is trac, plot the trace + if self.disable_plot == False: + N = len(self.Ptrace) + dur = float(self.line_Duration.text()) + dx = dur/N + x = [i*dx for i in range(0, N)] + self.Ptrace = [x+self.ATT for x in self.Ptrace] # add attenuation to trace + self.plot_P_in.setData(x,self.Ptrace) + + def update_gui_setValues(self,setV): + #sets gui set_values to the values in global variables which are passed from update_P via setV + #Trac_par(trace parameters): [duration, trigger delay, trigger level ('' = auto), resolution (0=high,1=med,2=low)] + self.comboBox_mode.setCurrentIndex(setV[0]) + self.line_Dutycycle.setText(str(setV[1])) + self.line_Duration.setText(str(setV[2][0])) + self.line_TrigDelay.setText(str(setV[2][1])) + self.line_TrigLevel.setText(str(setV[2][2])) + self.comboBox_res.setCurrentIndex(setV[2][3]) + + def set_Trac_par(self): + #updates trace parameters in global variables. The parameters are explaine in init where they are "filled in" (around line 110) + dur = get_float(self.line_Duration) + delay = get_float(self.line_TrigDelay) + res = self.comboBox_res.currentIndex() + if self.line_TrigLevel == '': + lev = '' + else: + lev = get_float(self.line_TrigLevel) + + self.sync_K_U2042XA.update({'Trac_par':[dur,delay,lev,res]}) + + def set_DC(self): + #updates duty cycle in global variables. The parameters are explaine in init where they are "filled in" (around line 110) + self.sync_K_U2042XA.update({'DC':get_float(self.line_Dutycycle)}) + + def set_mode(self): + #updates measurement mode in global variables. The parameters are explaine in init where they are "filled in" (around line 110) + self.sync_K_U2042XA.update({'mode':self.comboBox_mode.currentIndex()}) + + def set_ATT(self): + #sets attenuation to current values + self.ATT = get_float(self.line_ATT) + + def change_timing(self): + #updates the timing which is used for "save". If no value it given, it is set to 1 s + self.timing_save = get_float(self.line_saveInterval,1) + + def save(self, progress_callback): + #if save checkbox is checked it writes measurement values to file specified in line.filePath. There the full path including file extension must be given. + while self.running == True: + if self.checkBox_save.isChecked() == True: + path = self.line_filePath.text() + if os.path.isfile(path) == False: + with open(path,'a') as file: + file.write('date\tPower[dBm]\n') + file = open(path,'a') + file.write(time.strftime("%Y-%m-%d_%H-%M-%S",time.localtime(self.t[-1]))+'\t') + file.write(f"{self.Power[-1][0]}\n") + file.close + + time.sleep(self.timing_save) + + def set_Npoints(self): + #sets the number of points to plot + self.Npoints = int(self.line_Nplot.text()) + + def set_displot(self): + #sets variable to disable plot so checkbox state does not need be read out every iteration + self.disable_plot = self.checkBox_disableplots.isChecked() + + def set_default(self): + #saves current set values to txt file in subdirectory configs. All entries that are saved are defined in self.lines_config + #Additionally resolution is saved. Overwrites old values in config file. + current_dir = os.path.dirname(os.path.abspath(__file__)) + path = current_dir+'\\configs\\Keysight_U2042XA_config.txt' #To make shure the config file is at the right place, independent from where the program is started the location of the file is retrieved + file = open(path,'w') + for l in self.lines_config_float: + temp = f"{get_float(l)}" + file.write(temp+'\t') + for l in self.lines_config_strings: + file.write(l.text()+'\t') + for c in self.checkboxes_config: + file.write(str(c.isChecked())+'\t') + file.write(str(self.comboBox_res.currentIndex())) + file.write('\n') + file.close + + def read_default(self): + #reads default values from config file in subdirectory config and sets the values in gui. Then self.change is set to true so values are send + #to device. (If no config file exists, it does nothing.) + current_dir = os.path.dirname(os.path.abspath(__file__)) + path = current_dir+'\\configs\\Keysight_U2042XA_config.txt' #To make shure the config file is read from the right place, independent from where the program is started the location of the file is retrieved + try: #exit function if config file does not exist + vals = import_txt.read_raw(path) + except: + return + formats = ['.3e', '.2f', '.2e','.2e','.0f'] + + for l,v,f in zip(self.lines_config_float,vals[0],formats): + v = float(v) #convert string in txt to float, so number can be formatted according to "formats" when it's set + l.setText(format(v,f)) + + for l,v in zip(self.lines_config_strings,vals[0][len(self.lines_config_float):]): + l.setText(v) + + for c,v in zip(self.checkboxes_config,vals[0][len(self.lines_config_float)+len(self.lines_config_strings):]): + c.setChecked(v == 'True') + + self.comboBox_res.setCurrentIndex(int(vals[0][-1])) + + self.change = True + + def closeEvent(self,event): #when window is closed self.running is set to False, so all threads stop + self.running = False + time.sleep(1) #make sure all thread can finish + event.accept() + +app = QApplication(sys.argv) + +window = MainWindow() +window.show() +app.exec() \ No newline at end of file diff --git a/Legacy/Instrument_Drivers/LS218_control.py b/Legacy/Instrument_Drivers/LS218_control.py new file mode 100644 index 0000000..8dc3637 --- /dev/null +++ b/Legacy/Instrument_Drivers/LS218_control.py @@ -0,0 +1,331 @@ +from PyQt6.QtGui import * +from PyQt6.QtWidgets import * +from PyQt6.QtCore import * + +import multiprocessing +import multiprocessing.managers + +import time +import traceback,sys,os +import numpy as np +import pyqtgraph as pg +import import_txt + +# Get the current script's directory +current_dir = os.path.dirname(os.path.abspath(__file__)) +# Get the parent directory by going one level up +parent_dir = os.path.dirname(current_dir) +# Add the parent directory to sys.path +sys.path.append(parent_dir) +from drivers import Lakeshore218 + +from design_files.LS218_design import Ui_MainWindow + + +class WorkerSignals(QObject): + ''' + Defines the signals available from a running worker thread. + Supported signals are: + finished: No data + error: tuple (exctype, value, traceback.format_exc() ) + result: object data returned from processing, anything + progress: int indicating % progress + ''' + finished = pyqtSignal() + error = pyqtSignal(tuple) + result = pyqtSignal(object) + progress = pyqtSignal(list) + + +class Worker(QRunnable): + ''' + Worker thread + Inherits from QRunnable to handler worker thread setup, signals and wrap-up. + :param callback: The function callback to run on this worker thread. Supplied args and + kwargs will be passed through to the runner. + :type callback: function + :param args: Arguments to pass to the callback function + :param kwargs: Keywords to pass to the callback function + ''' + + def __init__(self, fn, *args, **kwargs): + super(Worker, self).__init__() + + # Store constructor arguments (re-used for processing) + self.fn = fn + self.args = args + self.kwargs = kwargs + self.signals = WorkerSignals() + + # Add the callback to our kwargs + self.kwargs['progress_callback'] = self.signals.progress + + @pyqtSlot() + def run(self): + ''' + Initialise the runner function with passed args, kwargs. + ''' + + # Retrieve args/kwargs here; and fire processing using them + try: + result = self.fn(*self.args, **self.kwargs) + except: + traceback.print_exc() + exctype, value = sys.exc_info()[:2] + self.signals.error.emit((exctype, value, traceback.format_exc())) + else: + self.signals.result.emit(result) # Return the result of the processing + finally: + self.signals.finished.emit() # Done + +def get_float(Qline,default = 0): #gets value from QLineEdit and converts it to float. If text is empty or cannot be converted, it returns "default" which is 0, if not specified + try: + out = float(Qline.text()) + except: + out = default + return(out) + +class MainWindow(QMainWindow, Ui_MainWindow): + def __init__(self, *args, **kwargs): + # Get the current script's directory + self.current_dir = os.path.dirname(os.path.abspath(__file__)) + # Get the parent directory by going one level up + self.parent_dir = os.path.dirname(current_dir) + + #establish connection to global variables + try: #try to connect to global variables + manager = multiprocessing.managers.BaseManager(address=('localhost',5001), authkey=b'') + manager.connect() + manager.register('sync_LS_218') + self.sync_LS_218 = manager.sync_LS_218() + except: #open global variables, if no connection can be made (i.e. it is not running). Then connect to it + # subprocess.call(['D:\\Python instrument drivers\\env\\Scripts\\python.exe', 'D:\\Python instrument drivers\\StandAlones\\global_variables.py']) + self.global_vars = QProcess() + self.global_vars.start(self.current_dir+"\\env\\Scripts\\python.exe", [self.current_dir+'\\global_variables.py']) + manager.connect() + manager.register('sync_LS_218') + self.sync_LS_218 = manager.sync_LS_218() + print('!!!\nI opened global variables myself. If you close me, global variables will shut down too. Consider starting global variables in own instance for more security\n!!!') + + #fill in variables, if they are not defined in global variables + self.sync_LS_218.update({'T':[0,0,0,0,0,0,0,0]}) + + #import Gui from QT designer file + super(MainWindow, self).__init__(*args, **kwargs) + self.setupUi(self) + + #setup plot + self.graphWidget.setBackground('w') + self.graphWidget.setTitle("Temperature") + self.graphWidget.setLabel('left', 'Temperature [K]') + self.graphWidget.setLabel('bottom', 'Time (H)') + axis = pg.DateAxisItem() + self.graphWidget.setAxisItems({'bottom':axis}) + + temp = [time.time(),time.time()-1] + pen1 = pg.mkPen(color=(255, 0, 0), width=2) + pen2 = pg.mkPen(color=(0, 0, 255), width=2) + pen3 = pg.mkPen(color=(0, 255, 0), width=2) + pen4 = pg.mkPen(color=(255, 255, 0), width=2) + pen5 = pg.mkPen(color=(255, 0, 255), width=2) + pen6 = pg.mkPen(color=(0, 255, 255), width=2) + pen7 = pg.mkPen(color=(255, 127, 127), width=2) + pen8 = pg.mkPen(color=(127, 255, 70), width=2) + self.plot_1 = self.graphWidget.plot(temp,[1,0],pen = pen1, name = 'Ch: 1') + self.plot_2 = self.graphWidget.plot(temp,[1,0],pen = pen2, name = 'Ch: 2') + self.plot_3 = self.graphWidget.plot(temp,[1,0],pen = pen3, name = 'Ch: 3') + self.plot_4 = self.graphWidget.plot(temp,[1,0],pen = pen4, name = 'Ch: 4') + self.plot_5 = self.graphWidget.plot(temp,[1,0],pen = pen5, name = 'Ch: 5') + self.plot_6 = self.graphWidget.plot(temp,[1,0],pen = pen6, name = 'Ch: 6') + self.plot_7 = self.graphWidget.plot(temp,[1,0],pen = pen7, name = 'Ch: 7') + self.plot_8 = self.graphWidget.plot(temp,[1,0],pen = pen8, name = 'Ch: 8') + self.graphWidget.addLegend() + + #set up pyQT threadpool + self.threadpool = QThreadPool() + + #define and start threads. + worker_save = Worker(self.save) + self.threadpool.start(worker_save) + + #define signals and slots + self.actionSet_default.triggered.connect(self.set_default) + self.actionReset_default.triggered.connect(self.read_default) + self.button_connect.clicked.connect(self.start_meas) + self.line_Nplot.editingFinished.connect(self.set_Npoints) + self.line_saveInterval.editingFinished.connect(self.change_timing) + self.checkBox_1.stateChanged.connect(self.plot_hide) + self.checkBox_2.stateChanged.connect(self.plot_hide) + self.checkBox_3.stateChanged.connect(self.plot_hide) + self.checkBox_4.stateChanged.connect(self.plot_hide) + self.checkBox_5.stateChanged.connect(self.plot_hide) + self.checkBox_6.stateChanged.connect(self.plot_hide) + self.checkBox_7.stateChanged.connect(self.plot_hide) + self.checkBox_8.stateChanged.connect(self.plot_hide) + self.checkBox_disableplots.stateChanged.connect(self.set_displot) + + + #define constants + self.Temperature = np.zeros((1,8)) #store temperature and power data + self.t = [time.time()] #store timestamps + self.Npoints = 200 #number of point to plot + self.running = True #true while app is running + self.disable_plot = False #constant to disable plot to improve performance. Is changed by checkbox checkBox_disableplots + self.timing_save = 5 #save intervall [s] + self.set_old = [0,0,0] #variable to save the 'old' set values to compare them to the global variables. Since the length is only 3, it differs from set_new in the first iteration. This ensures that new parameters are send to the device + self.set_new = [0,0,0,0,0,0,0,0] #variable to save the new set values to compare them to the old ones + self.lines_config_float = [self.line_Nplot]#is used for config file + self.lines_config_strings = [self.line_devAdr,self.line_filePath,self.line_saveInterval]#is used for config file + self.checkboxes_config = [self.checkBox_1, self.checkBox_2, self.checkBox_3, self.checkBox_4, self.checkBox_5, self.checkBox_6, self.checkBox_7, self.checkBox_8,self.checkBox_disableplots,self.checkBox_save]#is used for config file + + #read default values from config and set them in gui + self.read_default() + + #update save intervall to the gui value + self.change_timing() + + + def start_meas(self): + #Connect to device + address = self.line_devAdr.text() + self.LS = Lakeshore218.LakeShore218(address) + #start thread for communication with device + self.worker = Worker(self.update_T) + self.worker.signals.progress.connect(self.update_gui) + self.threadpool.start(self.worker) + + def update_T(self, progress_callback): + #get values from device and write them to global variables. Checks if global variables changed from last iteration. Also pass it to update_gui with emit(T) + while self.running == True: + + + T = self.LS.read(0) #read Temperature data from all 8 channels + self.sync_LS_218.update({'T':T}) + progress_callback.emit(T) + self.set_old = self.set_new[:] #List needs to be sliced so that only values are taken and not just a pointer is created + # time.sleep(0.1) + + del(self.LS) #disconnect device when self.running is set to False + + def update_gui(self,T): + #set numbers + self.T_1.setText(str(T[0])) + self.T_2.setText(str(T[1])) + self.T_3.setText(str(T[2])) + self.T_4.setText(str(T[3])) + self.T_5.setText(str(T[4])) + self.T_6.setText(str(T[5])) + self.T_7.setText(str(T[6])) + self.T_8.setText(str(T[7])) + + #Create database for plotting + self.Temperature = np.vstack([self.Temperature, np.array(T)]) + x = range(len(self.Temperature)) + self.t.append(time.time()) + + #plot + if self.disable_plot == False: + self.plot_1.setData(self.t[-self.Npoints:],self.Temperature[-self.Npoints:,0]) + self.plot_2.setData(self.t[-self.Npoints:],self.Temperature[-self.Npoints:,1]) + self.plot_3.setData(self.t[-self.Npoints:],self.Temperature[-self.Npoints:,2]) + self.plot_4.setData(self.t[-self.Npoints:],self.Temperature[-self.Npoints:,3]) + self.plot_5.setData(self.t[-self.Npoints:],self.Temperature[-self.Npoints:,4]) + self.plot_6.setData(self.t[-self.Npoints:],self.Temperature[-self.Npoints:,5]) + self.plot_7.setData(self.t[-self.Npoints:],self.Temperature[-self.Npoints:,6]) + self.plot_8.setData(self.t[-self.Npoints:],self.Temperature[-self.Npoints:,7]) + + + def set_Npoints(self): + #sets the number of points to plot + self.Npoints = int(self.line_Nplot.text()) + + def set_displot(self): + #sets variable to disable plot so checkbox state does not need be read out every iteration + self.disable_plot = self.checkBox_disableplots.isChecked() + + def plot_hide(self): + #shows or hides plots according to the checkboxes next to the plot area + boxes = [self.checkBox_1, self.checkBox_2, self.checkBox_3, self.checkBox_4, self.checkBox_5, + self.checkBox_6, self.checkBox_7, self.checkBox_8] + plots = [self.plot_1, self.plot_2, self.plot_3, self.plot_4, self.plot_5, + self.plot_6, self.plot_7, self.plot_8] + + for b,p in zip(boxes,plots): + if b.isChecked() == True: + p.show() + else: + p.hide() + + def change_timing(self): + #updates the timing which is used for "save". If no value it given, it is set to 1 s + self.timing_save = get_float(self.line_saveInterval,1) + + def save(self, progress_callback): + #if save checkbox is checked it writes measurement values to file specified in line.filePath. There the full path including file extension must be given. + while self.running == True: + time.sleep(self.timing_save) #wait is at beginning so first point is not corrupted when app just started. + if self.checkBox_save.isChecked() == True: + path = self.line_filePath.text() + if os.path.isfile(path) == False: + with open(path,'a') as file: + file.write('date\tCh:1[K]\tCh:2[K]\tCh:3[K]\tCh:4[K]\tCh:5[K]\tCh:6[K]\tCh:7[K]\tCh:8[K]\n') + file = open(path,'a') + file.write(time.strftime("%Y-%m-%d_%H-%M-%S",time.localtime(self.t[-1]))+'\t') + for d in self.Temperature[-1]: + file.write(f"{d}\t") + file.write('\n') + file.close + + def set_default(self): + #saves current set values to txt file in subdirectory configs. All entries that are saved are defined in self.lines_config + #Overwrites old values in config file. + current_dir = os.path.dirname(os.path.abspath(__file__)) + path = current_dir+'\\configs\\LS218_config.txt' #To make shure the config file is at the right place, independent from where the program is started the location of the file is retrieved + file = open(path,'w') + for l in self.lines_config_float: + temp = f"{get_float(l)}" + file.write(temp+'\t') + for l in self.lines_config_strings: + file.write(l.text()+'\t') + for c in self.checkboxes_config: + file.write(str(c.isChecked())+'\t') + file.close + + def read_default(self): + #reads default values from config file in subdirectory config and sets the values in gui. Then self.change is set to true so values are send + #to device. (If no config file exists, it does nothing.) + current_dir = os.path.dirname(os.path.abspath(__file__)) + path = current_dir+'\\configs\\LS218_config.txt' #To make shure the config file is read from the right place, independent from where the program is started the location of the file is retrieved + try: #exit function if config file does not exist + vals = import_txt.read_raw(path) + except: + print('no config file found on') + print(path) + return + formats = ['.0f'] + + for l,v,f in zip(self.lines_config_float,vals[0],formats): + v = float(v) #convert string in txt to float, so number can be formatted according to "formats" when it's set + l.setText(format(v,f)) + + for l,v in zip(self.lines_config_strings,vals[0][len(self.lines_config_float):]): + l.setText(v) + + for c,v in zip(self.checkboxes_config,vals[0][len(self.lines_config_float)+len(self.lines_config_strings):]): + c.setChecked(v == 'True') + + + self.change = True + + def closeEvent(self,event): #when window is closed self.running is set to False, so all threads stop + self.running = False + time.sleep(1) + event.accept() + + + +app = QApplication(sys.argv) + +window = MainWindow() +window.show() +app.exec() \ No newline at end of file diff --git a/Legacy/Instrument_Drivers/LS336_control.py b/Legacy/Instrument_Drivers/LS336_control.py new file mode 100644 index 0000000..b7c789a --- /dev/null +++ b/Legacy/Instrument_Drivers/LS336_control.py @@ -0,0 +1,374 @@ +from PyQt6.QtGui import * +from PyQt6.QtWidgets import * +from PyQt6.QtCore import * + +import multiprocessing +import multiprocessing.managers + +import time +from datetime import datetime +import traceback,sys,os +import numpy as np +import pyqtgraph as pg +import import_txt + +# Get the current script's directory +current_dir = os.path.dirname(os.path.abspath(__file__)) +# Get the parent directory by going one level up +parent_dir = os.path.dirname(current_dir) +# Add the parent directory to sys.path +sys.path.append(parent_dir) +from drivers import Lakeshore336 + +from design_files.LS336_design import Ui_MainWindow + + +class WorkerSignals(QObject): + ''' + Defines the signals available from a running worker thread. + Supported signals are: + finished: No data + error: tuple (exctype, value, traceback.format_exc() ) + result: object data returned from processing, anything + progress: int indicating % progress + ''' + finished = pyqtSignal() + error = pyqtSignal(tuple) + result = pyqtSignal(object) + progress = pyqtSignal(list) + + +class Worker(QRunnable): + ''' + Worker thread + Inherits from QRunnable to handler worker thread setup, signals and wrap-up. + :param callback: The function callback to run on this worker thread. Supplied args and + kwargs will be passed through to the runner. + :type callback: function + :param args: Arguments to pass to the callback function + :param kwargs: Keywords to pass to the callback function + ''' + + def __init__(self, fn, *args, **kwargs): + super(Worker, self).__init__() + + # Store constructor arguments (re-used for processing) + self.fn = fn + self.args = args + self.kwargs = kwargs + self.signals = WorkerSignals() + + # Add the callback to our kwargs + self.kwargs['progress_callback'] = self.signals.progress + + @pyqtSlot() + def run(self): + ''' + Initialise the runner function with passed args, kwargs. + ''' + + # Retrieve args/kwargs here; and fire processing using them + try: + result = self.fn(*self.args, **self.kwargs) + except: + traceback.print_exc() + exctype, value = sys.exc_info()[:2] + self.signals.error.emit((exctype, value, traceback.format_exc())) + else: + self.signals.result.emit(result) # Return the result of the processing + finally: + self.signals.finished.emit() # Done + +def get_float(Qline,default = 0): #gets value from QLineEdit and converts it to float. If text is empty or cannot be converted, it returns "default" which is 0, if not specified + try: + out = float(Qline.text()) + except: + out = default + return(out) + +class MainWindow(QMainWindow, Ui_MainWindow): + def __init__(self, *args, **kwargs): + # Get the current script's directory + self.current_dir = os.path.dirname(os.path.abspath(__file__)) + # Get the parent directory by going one level up + self.parent_dir = os.path.dirname(current_dir) + + #establish connection to global variables + try: #try to connect to global variables + manager = multiprocessing.managers.BaseManager(address=('localhost',5001), authkey=b'') + manager.connect() + manager.register('sync_LS_336') + self.sync_LS_336 = manager.sync_LS_336() + except: #open global variables, if no connection can be made (i.e. it is not running). Then connect to it + # subprocess.call(['D:\\Python instrument drivers\\env\\Scripts\\python.exe', 'D:\\Python instrument drivers\\StandAlones\\global_variables.py']) + self.global_vars = QProcess() + self.global_vars.start(self.current_dir+"\\env\\Scripts\\python.exe", [self.current_dir+'\\global_variables.py']) + manager.connect() + manager.register('sync_LS_336') + self.sync_LS_336 = manager.sync_LS_336() + print('!!!\nI opened global variables myself. If you close me, global variables will shut down too. Consider starting global variables in own instance for more security\n!!!') + + #fill in variables, if they are not defined in global variables + self.sync_LS_336.update({'setT':0, 'ramprate':'0','Contr_Ch':0, 'T':[0,0,0,0,0], 'Range':0,'PID':[0,0,0]}) + + #import Gui from QT designer file + super(MainWindow, self).__init__(*args, **kwargs) + self.setupUi(self) + + #setup plot + self.graphWidget.setBackground('w') + self.graphWidget.setTitle("Temperature") + self.graphWidget.setLabel('left', 'Temperature [K]') + self.graphWidget.setLabel('bottom', 'Time (H)') + axis = pg.DateAxisItem() + self.graphWidget.setAxisItems({'bottom':axis}) + + temp = [time.time(),time.time()-1] + pen1 = pg.mkPen(color=(255, 0, 0), width=2) + pen2 = pg.mkPen(color=(0, 0, 255), width=2) + pen3 = pg.mkPen(color=(0, 255, 0), width=2) + pen4 = pg.mkPen(color=(255, 255, 0), width=2) + pen5 = pg.mkPen(color=(0, 0, 0), width=2) + self.plot_A = self.graphWidget.plot(temp,[1,0],pen = pen1, name = 'Ch: A') + self.plot_B = self.graphWidget.plot(temp,[1,0],pen = pen2, name = 'Ch: B') + self.plot_C = self.graphWidget.plot(temp,[1,0],pen = pen3, name = 'Ch: C') + self.plot_D = self.graphWidget.plot(temp,[1,0],pen = pen4, name = 'Ch: D') + self.plot_P = self.graphWidget.plot(temp,[1,0],pen = pen5, name = 'Power') + self.plot_P.hide() + self.graphWidget.addLegend() + + #set up pyQT threadpool + self.threadpool = QThreadPool() + + #define and standard threads. + worker_save = Worker(self.save) + self.threadpool.start(worker_save) + + #define signals and slots + self.actionSet_default.triggered.connect(self.set_default) + self.actionReset_default.triggered.connect(self.read_default) + self.button_setPID.clicked.connect(self.set_PID) + self.button_connect.clicked.connect(self.start_meas) + self.line_Nplot.editingFinished.connect(self.set_Npoints) + self.line_saveInterval.editingFinished.connect(self.change_timing) + self.checkBox_A.stateChanged.connect(self.plot_hide) + self.checkBox_B.stateChanged.connect(self.plot_hide) + self.checkBox_C.stateChanged.connect(self.plot_hide) + self.checkBox_D.stateChanged.connect(self.plot_hide) + self.checkBox_pwr.stateChanged.connect(self.plot_hide) + self.checkBox_disableplots.stateChanged.connect(self.set_displot) + self.line_setT.editingFinished.connect(self.set_T) + self.line_Ramprate.editingFinished.connect(self.set_rate) + self.comboBox_Channel.currentIndexChanged.connect(self.set_channel) + self.comboBox_range.currentIndexChanged.connect(self.set_range) + + + #define constants + self.Temperature = np.zeros((1,5)) #store temperature and power data + self.t = [time.time()] #store timestamps + self.t1 = [datetime.now()] #store timestamps with higher precision + self.last_save = self.t1[-1] #timestamp of last write-to-file event + self.Npoints = 200 #number of point to plot + self.running = True #true while app is running + self.disable_plot = False #constant to disable plot to improve performance. Is changed by checkbox checkBox_disableplots + self.timing_save = 5 #save intervall [s] + self.set_old = [0,0,0] #variable to save the 'old' set values to compare them to the global variables. Since the length is only 3, it differs from set_new in the first iteration. This ensures that new parameters are send to the device + self.set_new = [0,0,0,0,0] #variable to save the new set values to compare them to the old ones + self.lines_config_float = [self.line_setP,self.line_setI,self.line_setD,self.line_setT,self.line_Ramprate,self.line_Nplot]#is used for config file + self.lines_config_strings = [self.line_devAdr,self.line_filePath,self.line_saveInterval]#is used for config file + self.checkboxes_config = [self.checkBox_A, self.checkBox_B, self.checkBox_C, self.checkBox_D, self.checkBox_pwr,self.checkBox_disableplots,self.checkBox_save]#is used for config file + + #read default values from fonfig and set them in gui + self.read_default() + #write values from gui to global variables. + self.set_T() + self.set_rate() + self.set_channel() + self.set_range() + self.set_PID() + #update save intervall to the gui value + self.change_timing() + + + def start_meas(self): + #Connect to device + address = self.line_devAdr.text() + self.LS = Lakeshore336.LakeShore336(address) + #start thread for communication with device + self.worker = Worker(self.update_T) + self.worker.signals.progress.connect(self.update_gui) + self.threadpool.start(self.worker) + + def update_T(self, progress_callback): + #get values from device and write them to global variables. Checks if global variables changed from last iteration. Also pass it to upddate_gui with emit(T) + while self.running == True: + for i,n in enumerate(['setT','ramprate','Contr_Ch','Range','PID']): #get new set values from global variables and compare to old ones. + self.set_new[i] = self.sync_LS_336.get(n) + + if self.set_new != self.set_old: #if a button is clicked or global variables are changed self.changed is set to true and new parameters are send to device + self.LS.conf_outp(out=1, mode=1, inp=self.set_new[2]+1, powup=0) #configures output channel 1 + self.LS.set_Ramp(out=1, ON=1, ramp=self.set_new[1]) #configues ramp settings, if Rate=0 the ramp is turned off + self.LS.set_T(out = 1, T = self.set_new[0]) #sets temperature setpoint + self.LS.turn_on_outp(out=1, range = self.set_new[3]) #turn heater on or off, according to Range + self.LS.conf_pid(1,self.set_new[4][0],self.set_new[4][1],self.set_new[4][2]) #set PID values + self.update_setValues(self.set_new) + + T = self.LS.read(['A','B','C','D']) #read Temperature data from all 4 channels + T.append(0) + self.sync_LS_336.update({'T':T}) + progress_callback.emit(T) + self.set_old = self.set_new[:] #List needs to be sliced so that only values are taken and not just a pointer is created + # time.sleep(0.1) + + del(self.LS) #disconnect device when self.running is set to False + + def update_gui(self,T): + #set numbers + self.T_A.setText(str(T[0])) + self.T_B.setText(str(T[1])) + self.T_C.setText(str(T[2])) + self.T_D.setText(str(T[3])) + + #Create database for plotting + self.Temperature = np.vstack([self.Temperature, np.array(T)]) + x = range(len(self.Temperature)) + self.t.append(time.time()) + self.t1.append(datetime.now()) + + #plot + if self.disable_plot == False: + self.plot_A.setData(self.t[-self.Npoints:],self.Temperature[-self.Npoints:,0]) + self.plot_B.setData(self.t[-self.Npoints:],self.Temperature[-self.Npoints:,1]) + self.plot_C.setData(self.t[-self.Npoints:],self.Temperature[-self.Npoints:,2]) + self.plot_D.setData(self.t[-self.Npoints:],self.Temperature[-self.Npoints:,3]) + self.plot_P.setData(self.t[-self.Npoints:],self.Temperature[-self.Npoints:,4]) + + def update_setValues(self,setV): + #sets setvalues obtained from update_T in gui ['setT','ramprate','Contr_Ch','Range','PID'] + self.line_setT.setText(f"{setV[0]}") + self.line_Ramprate.setText(f"{setV[1]}") + self.comboBox_Channel.setCurrentIndex(setV[2]) + self.comboBox_range.setCurrentIndex(setV[3]) + self.line_setP.setText(f"{setV[4][0]}") + self.line_setI.setText(f"{setV[4][1]}") + self.line_setD.setText(f"{setV[4][2]}") + + def set_T(self): + #updates the set temperature in global variables. The change will be detected by update T and it will be passed to the device + self.sync_LS_336.update({'setT':get_float(self.line_setT)}) + + def set_rate(self): + #updates the ramprate in global variables. The change will be detected by update T and it will be passed to the device + self.sync_LS_336.update({'ramprate':get_float(self.line_Ramprate)}) + + def set_channel(self): + #updates the control channel in global variables. The change will be detected by update T and it will be passed to the device + self.sync_LS_336.update({'Contr_Ch':self.comboBox_Channel.currentIndex()}) + + def set_range(self): + #updates the reange in global variables. The change will be detected by update T and it will be passed to the device + self.sync_LS_336.update({'Range':self.comboBox_range.currentIndex()}) + + def set_PID(self): + #updates the PID values in global variables. The change will be detected by update T and it will be passed to the device + self.sync_LS_336.update({'PID':[get_float(self.line_setP),get_float(self.line_setI),get_float(self.line_setD)]}) + + + def set_Npoints(self): + #sets the number of points to plot + self.Npoints = int(self.line_Nplot.text()) + + def set_displot(self): + #sets variable to disable plot so checkbox state does not need be read out every iteration + self.disable_plot = self.checkBox_disableplots.isChecked() + + def plot_hide(self): + #shows or hides plots according to the checkboxes next to the plot area + boxes = [self.checkBox_A, self.checkBox_B, self.checkBox_C, self.checkBox_D, self.checkBox_pwr] + plots = [self.plot_A, self.plot_B, self.plot_C, self.plot_D, self.plot_P] + + for b,p in zip(boxes,plots): + if b.isChecked() == True: + p.show() + else: + p.hide() + + def change_timing(self): + #updates the timing which is used for "save". If no value it given, it is set to 1 s + self.timing_save = get_float(self.line_saveInterval,1) + + def save(self, progress_callback): + #if save checkbox is checked it writes measurement values to file specified in line.filePath. There the full path including file extension must be given. + while self.running == True: + time.sleep(self.timing_save) #wait is at beginning so first point is not corrupted when app just started. + if self.checkBox_save.isChecked() == True and self.t1[-1] > self.last_save: + #write only, if there is a new timestamp + path = self.line_filePath.text() + if os.path.isfile(path) == False: + with open(path,'a') as file: + file.write('date\tCh:A[K]\tCh:B[K]\tCh:C[K]\tCh:D[K]\tPower[%]\n') + file = open(path,'a') + #file.write(time.strftime("%Y-%m-%d_%H-%M-%S",time.localtime(self.t[-1]))+'\t') #original timestamp + file.write(self.t1[-1].strftime("%Y-%m-%d_%H-%M-%S.%f")+'\t') + for d in self.Temperature[-1]: + file.write(f"{d}\t") + file.write('\n') + self.last_save = self.t1[-1] + file.close + + def set_default(self): + #saves current set values to txt file in subdirectory configs. All entries that are saved are defined in self.lines_config + #Additionally control channel of LS336 is saved. Overwrites old values in config file. + current_dir = os.path.dirname(os.path.abspath(__file__)) + path = current_dir+'\\configs\\LS336_config.txt' #To make shure the config file is at the right place, independent from where the program is started the location of the file is retrieved + file = open(path,'w') + for l in self.lines_config_float: + temp = f"{get_float(l)}" + file.write(temp+'\t') + for l in self.lines_config_strings: + file.write(l.text()+'\t') + for c in self.checkboxes_config: + file.write(str(c.isChecked())+'\t') + file.write(str(self.comboBox_Channel.currentIndex())) + file.write('\n') + file.close + + def read_default(self): + #reads default values from config file in subdirectory config and sets the values in gui. Then self.change is set to true so values are send + #to device. (If no config file exists, it does nothing.) + current_dir = os.path.dirname(os.path.abspath(__file__)) + path = current_dir+'\\configs\\LS336_config.txt' #To make shure the config file is read from the right place, independent from where the program is started the location of the file is retrieved + try: #exit function if config file does not exist + vals = import_txt.read_raw(path) + except: + print('no config file found on') + print(path) + return + formats = ['.2f', '.2f', '.2f','.2f','.2f','.0f'] + + for l,v,f in zip(self.lines_config_float,vals[0],formats): + v = float(v) #convert string in txt to float, so number can be formatted according to "formats" when it's set + l.setText(format(v,f)) + + for l,v in zip(self.lines_config_strings,vals[0][len(self.lines_config_float):]): + l.setText(v) + + for c,v in zip(self.checkboxes_config,vals[0][len(self.lines_config_float)+len(self.lines_config_strings):]): + c.setChecked(v == 'True') + + self.comboBox_Channel.setCurrentIndex(int(vals[0][-1])) + + self.change = True + + def closeEvent(self,event): #when window is closed self.running is set to False, so all threads stop + self.running = False + time.sleep(1) + event.accept() + + + +app = QApplication(sys.argv) + +window = MainWindow() +window.show() +app.exec() \ No newline at end of file diff --git a/Legacy/Instrument_Drivers/README.md b/Legacy/Instrument_Drivers/README.md new file mode 100644 index 0000000..ef9a59e --- /dev/null +++ b/Legacy/Instrument_Drivers/README.md @@ -0,0 +1,20 @@ +This folder contains python instrument drivers. + +Please read the documentation at (intranet only): https://portal.helmholtz-berlin.de/fg/hobicat/Checklisten/R%26D/Git%20Instrument%20drivers.docx?d=w6a384bc2d644432ebe4910489afc2328 + +Software: +Python 3.12 +Qt designer https://build-system.fman.io/qt-designer-download +Packages are listed in requirements.txt + +In the folder "StandAlones" are standalone prgrams for the instruments. +The programs are designed using QT designer and PyQt6. Therefore, the .ui files and converted files are also included in the folder. The files converted from .ui to .py are labeled _design. + + +ToDo: +in gui only the values that acutually changed in global variables should be reset. +remove dummy zero from plots +Keysight U2042XA: Pulse mode needs to be included +Keysight U2042XA: Trace should be refined (no timeout after) +Duplicate devices can be started from the same pogram. => Have a QComboBox where a device can be selected before "connect" button is pressed. This sets config file and dict name in global variables. + diff --git a/Legacy/Instrument_Drivers/Tabor_LS6081B_control.py b/Legacy/Instrument_Drivers/Tabor_LS6081B_control.py new file mode 100644 index 0000000..6631a20 --- /dev/null +++ b/Legacy/Instrument_Drivers/Tabor_LS6081B_control.py @@ -0,0 +1,279 @@ +from PyQt6.QtGui import * +from PyQt6.QtWidgets import * +from PyQt6.QtCore import * + +import multiprocessing +import multiprocessing.managers + +import time +import traceback, sys, os +import numpy as np + +# Get the current script's directory +current_dir = os.path.dirname(os.path.abspath(__file__)) +# Get the parent directory by going one level up +parent_dir = os.path.dirname(current_dir) +# Add the parent directory to sys.path +sys.path.append(parent_dir) +from drivers import Tabor_LS6081B +import import_txt + +from design_files.Tabor_LS6081B_design import Ui_MainWindow + +class WorkerSignals(QObject): + ''' + Defines the signals available from a running worker thread. + Supported signals are: + finished: No data + error: tuple (exctype, value, traceback.format_exc() ) + result: object data returned from processing, anything + progress: int indicating % progress + ''' + finished = pyqtSignal() + error = pyqtSignal(tuple) + result = pyqtSignal(object) + progress = pyqtSignal(list) + + +class Worker(QRunnable): + ''' + Worker thread + Inherits from QRunnable to handler worker thread setup, signals and wrap-up. + :param callback: The function callback to run on this worker thread. Supplied args and + kwargs will be passed through to the runner. + :type callback: function + :param args: Arguments to pass to the callback function + :param kwargs: Keywords to pass to the callback function + ''' + + def __init__(self, fn, *args, **kwargs): + super(Worker, self).__init__() + + # Store constructor arguments (re-used for processing) + self.fn = fn + self.args = args + self.kwargs = kwargs + self.signals = WorkerSignals() + + # Add the callback to our kwargs + self.kwargs['progress_callback'] = self.signals.progress + + @pyqtSlot() + def run(self): + ''' + Initialise the runner function with passed args, kwargs. + ''' + + # Retrieve args/kwargs here; and fire processing using them + try: + result = self.fn(*self.args, **self.kwargs) + except: + traceback.print_exc() + exctype, value = sys.exc_info()[:2] + self.signals.error.emit((exctype, value, traceback.format_exc())) + else: + self.signals.result.emit(result) # Return the result of the processing + finally: + self.signals.finished.emit() # Done + +def get_float(Qline,default = 0): #gets value from QLineEdit and converts it to float. If text is empty or cannot be converted, it returns "default" which is 0, if not specified + try: + out = float(Qline.text()) + except: + out = default + return(out) + +class MainWindow(QMainWindow, Ui_MainWindow): + def __init__(self, *args, **kwargs): + # Get the current script's directory + self.current_dir = os.path.dirname(os.path.abspath(__file__)) + # Get the parent directory by going one level up + self.parent_dir = os.path.dirname(current_dir) + + #establish connection to global variables + try: #try to connect to global variables + manager = multiprocessing.managers.BaseManager(address=('localhost',5001), authkey=b'') + manager.connect() + manager.register('sync_T_LS6081B') + self.sync_T_LS6081B = manager.sync_T_LS6081B() + except: #open global variables, if no connection can be made (i.e. it is not running). Then connect to it + # subprocess.call(['D:\\Python instrument drivers\\env\\Scripts\\python.exe', 'D:\\Python instrument drivers\\StandAlones\\global_variables.py']) + self.global_vars = QProcess() + self.global_vars.start(self.current_dir+"\\env\\Scripts\\python.exe", [self.current_dir+'\\global_variables.py']) + manager.connect() + manager.register('sync_T_LS6081B') + self.sync_T_LS6081B = manager.sync_T_LS6081B() + print('!!!\nI opened global variables myself. If you close me, global variables will shut down too. Consider starting global variables in own instance for more security\n!!!') + + #fill in variables, if they are not defined in global variables + self.sync_T_LS6081B.update({'freq':4.8e9, 'Power':-10,'RF':False, 'Pulse':False, 'Pulsewidth':1e-3, 'DC':0.5}) + + #import Gui from QT designer file + super(MainWindow, self).__init__(*args, **kwargs) + self.setupUi(self) + + #setup plot + + + #set up pyQT threadpool + self.threadpool = QThreadPool() + + #start standard threads + + #define signals and slots + self.actionSet_default.triggered.connect(self.set_default) + self.actionReset_default.triggered.connect(self.read_default) + self.button_connect.clicked.connect(self.start_meas) + self.button_RF.clicked.connect(self.update_RF) + self.button_Pulse.clicked.connect(self.update_Pulse) + self.line_DC.editingFinished.connect(self.update_DC) + self.line_Freq.editingFinished.connect(self.update_f) + self.line_Power.editingFinished.connect(self.update_P) + self.line_width.editingFinished.connect(self.update_w) + + #define constants + self.running = True #true while app is running + self.set_new = [4.8e9, -10, False, False, 1e-3, 0.5] #variable to save the 'new' set values to compare them to the global variables + self.set_old = [0, 0, False, False, 0, 0] #variable to save the 'old' set values to compare them to the global variables + self.change = False + self.lines_config_float = [self.line_Freq, self.line_Power,self.line_width, self.line_DC] #is used for config file + self.lines_config_strings = [self.line_devAdr] #is used for config file + + #read default values from config and set values in them in gui + self.read_default() + #write gui values in global variables. RF and Pulse is just kept off + self.update_DC() + self.update_f() + self.update_P() + self.update_w() + + def start_meas(self): + #Connect to device + address = self.line_devAdr.text() + self.gen = Tabor_LS6081B.TaborLS6081B(address) + #start thread for communication with device + worker = Worker(self.update_output) + self.threadpool.start(worker) + print('connected') + + + def update_output(self,progress_callback): #check if global variables changed. If so, send new values to device + while self.running == True: + for i,n in enumerate(['freq', 'Power','RF', 'Pulse', 'Pulsewidth', 'DC']): #get new set values from global variables to compare them to old ones. + self.set_new[i] = self.sync_T_LS6081B.get(n) + if self.set_new != self.set_old: + f = self.set_new[0] + P = self.set_new[1] + RF = self.set_new[2] + Pulse = self.set_new[3] + w = self.set_new[4] + DC = self.set_new[5] + + #turn RF ON or OFF with settings in gui + if RF == 1: + if Pulse == 0: #Check if pulse is activated or not + self.gen.CW(P, f, 1) + else: + self.gen.Pulse(P, f, w, DC, 1) + else: + self.gen.CW(P, f, 0) + + #set gui to values in global variables + self.update_gui(self.set_new) + + + self.set_old = self.set_new.copy() #.copy() is needer, otherwise it sets just a pointer to self.set_new + time.sleep(0.1) + + del(self.gen) #disconnect device when self.running is set to False + + + def update_gui(self,setV): #set values given in setV in the corresponding lineEdits + self.line_Freq.setText(f"{setV[0]:.6e}") + self.line_Power.setText(str(setV[1])) + self.line_width.setText(f"{setV[4]:.3e}") + self.line_DC.setText(str(setV[5])) + + if setV[2] == 1: #set RF button in the correct state + self.button_RF.setText('RF ON/off') + self.label_RF.setStyleSheet("background-color: green") + else: + self.button_RF.setText('RF on/OFF') + self.label_RF.setStyleSheet("background-color: red") + + if setV[3] == 1: #set Pulse button in the correct state + self.button_Pulse.setText('Pulse ON/off') + self.label_Pulse.setStyleSheet("background-color: green") + else: + self.button_Pulse.setText('Pulse on/OFF') + self.label_Pulse.setStyleSheet("background-color: red") + + + + def update_f(self): #changes global variable. The change will be detected by update_output and it will be passed to the device + self.sync_T_LS6081B.update({'freq': get_float(self.line_Freq)}) + + def update_P(self): #changes global variable. The change will be detected by update_output and it will be passed to the device + self.sync_T_LS6081B.update({'Power': get_float(self.line_Power)}) + + def update_w(self): #changes global variable. The change will be detected by update_output and it will be passed to the device + self.sync_T_LS6081B.update({'Pulsewidth': get_float(self.line_width)}) + + def update_DC(self): #changes global variable. The change will be detected by update_output and it will be passed to the device + self.sync_T_LS6081B.update({'DC': get_float(self.line_DC)}) + + def update_RF(self): #updates global variable depending of the old state of the RF button. (If it was off, the new value is set to 1(= RF on)) + if self.button_RF.text() == 'RF on/OFF': + self.sync_T_LS6081B.update({'RF': 1}) + else: + self.sync_T_LS6081B.update({'RF': 0}) + + def update_Pulse(self): #updates global variable depending of the old state of the Pulse button. (If it was off, the new value is set to 1(= Pulse on)) + if self.button_Pulse.text() == 'Pulse on/OFF': + self.sync_T_LS6081B.update({'Pulse': 1}) + else: + self.sync_T_LS6081B.update({'Pulse': 0}) + + def set_default(self): + #saves current set values to txt file in subdirectory configs. All entries that are saved are defined in self.lines_config + #Overwrites old values in config file. + current_dir = os.path.dirname(os.path.abspath(__file__)) + path = current_dir+'\\configs\\Tabor_LS6081B_config.txt' #To make shure the config file is at the right place, independent from where the program is started the location of the file is retrieved + file = open(path,'w') + for l in self.lines_config_float: + temp = f"{get_float(l)}" + file.write(temp+'\t') + for l in self.lines_config_strings: + file.write(l.text()+'\t') + + file.write('\n') + file.close + + def read_default(self): + #reads default values from config file in subdirectory config and sets the values in gui. Then self.change is set to true so values are send + #to device. (If no config file exists, it does nothing.) + current_dir = os.path.dirname(os.path.abspath(__file__)) + path = current_dir+'\\configs\\Tabor_LS6081B_config.txt' #To make shure the config file is read from the right place, independent from where the program is started the location of the file is retrieved + try: #exit function if config file does not exist + vals = import_txt.read_raw(path) + except: + return + formats = ['.6e','.2f','.3e','.2f'] + + for l,v,f in zip(self.lines_config_float,vals[0],formats): + v = float(v) #convert string in txt to float, so number can be formatted according to "formats" when it's set + l.setText(format(v,f)) + + for l,v in zip(self.lines_config_strings,vals[0][4:]): + l.setText(v) + + def closeEvent(self,event): #when window is closed self.running is set to False, so all threads stop + self.running = False + time.sleep(1) + event.accept() + +app = QApplication(sys.argv) + +window = MainWindow() +window.show() +app.exec() \ No newline at end of file diff --git a/Legacy/Instrument_Drivers/configs/README.md b/Legacy/Instrument_Drivers/configs/README.md new file mode 100644 index 0000000..66e87f7 --- /dev/null +++ b/Legacy/Instrument_Drivers/configs/README.md @@ -0,0 +1 @@ +In this folder the config files of the standalones are saved. They have to be in the format *_config.txt. This way they are ignored by git (through .gitignore). \ No newline at end of file diff --git a/Legacy/Instrument_Drivers/design_files/Agilent_304_FS_AG.ui b/Legacy/Instrument_Drivers/design_files/Agilent_304_FS_AG.ui new file mode 100644 index 0000000..86fef35 --- /dev/null +++ b/Legacy/Instrument_Drivers/design_files/Agilent_304_FS_AG.ui @@ -0,0 +1,2225 @@ + + + MainWindow + + + + 0 + 0 + 839 + 498 + + + + MainWindow + + + + + + + true + + + + + 0 + 0 + 815 + 423 + + + + + + + + + + + Save + + + + + + + + 0 + 0 + + + + + 80 + 0 + + + + Change Buffer Size + + + + + + + + 0 + 0 + + + + Buffer size + + + + + + + + 0 + 0 + + + + + + + + true + + + + 0 + 0 + + + + + + + + + 0 + 0 + + + + + 80 + 0 + + + + Connect + + + + + + + + 0 + 0 + + + + Device Adress + + + + + + + 999999 + + + 36000 + + + + + + + + 0 + 0 + + + + File Path + + + + + + + + 0 + 0 + + + + Save interval [s] + + + + + + + + 0 + 0 + + + + + 80 + 0 + + + + 999.990000000000009 + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 0 + 0 + + + + Timing + + + + + + + + 0 + 0 + + + + + 80 + 0 + + + + 999.990000000000009 + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Disable plot + + + + + + + 99999 + + + + + + + + 0 + 0 + + + + + 431 + 280 + + + + + + + + # points to plot + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + 10 + + + + + Temperature [°C] + + + + + + + Sart + + + + + + + Pressure [mbar] + + + + + + + + 0 + 0 + + + + + 60 + 19 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 20 + + + + + + + + + 0 + 0 + + + + + 60 + 19 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + Status + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + false + + + On / Off + + + + + + + + 0 + 0 + + + + + 60 + 19 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + Stop + + + + + + + Fan + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 0 + 0 + + + + + 60 + 19 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + Pump freq [Hz] + + + + + + + + + + + + + + + + + 0 + 0 + 839 + 26 + + + + + File + + + + + + + + + + Make current values default + + + + + Reset default values + + + + + + PlotWidget + QWidget +
pyqtgraph
+ 1 +
+
+ + +
diff --git a/Legacy/Instrument_Drivers/design_files/Agilent_304_FS_AG_design.py b/Legacy/Instrument_Drivers/design_files/Agilent_304_FS_AG_design.py new file mode 100644 index 0000000..b65ce38 --- /dev/null +++ b/Legacy/Instrument_Drivers/design_files/Agilent_304_FS_AG_design.py @@ -0,0 +1,842 @@ +# Form implementation generated from reading ui file 'Agilent_304_FS_AG.ui' +# +# Created by: PyQt6 UI code generator 6.6.1 +# +# WARNING: Any manual changes made to this file will be lost when pyuic6 is +# run again. Do not edit this file unless you know what you are doing. + + +from PyQt6 import QtCore, QtGui, QtWidgets + + +class Ui_MainWindow(object): + def setupUi(self, MainWindow): + MainWindow.setObjectName("MainWindow") + MainWindow.resize(839, 498) + self.centralwidget = QtWidgets.QWidget(parent=MainWindow) + self.centralwidget.setObjectName("centralwidget") + self.gridLayout_3 = QtWidgets.QGridLayout(self.centralwidget) + self.gridLayout_3.setObjectName("gridLayout_3") + self.scrollArea = QtWidgets.QScrollArea(parent=self.centralwidget) + self.scrollArea.setWidgetResizable(True) + self.scrollArea.setObjectName("scrollArea") + self.scrollAreaWidgetContents = QtWidgets.QWidget() + self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 815, 423)) + self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents") + self.gridLayout_2 = QtWidgets.QGridLayout(self.scrollAreaWidgetContents) + self.gridLayout_2.setObjectName("gridLayout_2") + self.gridLayout = QtWidgets.QGridLayout() + self.gridLayout.setObjectName("gridLayout") + self.gridLayout_4 = QtWidgets.QGridLayout() + self.gridLayout_4.setObjectName("gridLayout_4") + self.checkBox_save = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_save.setObjectName("checkBox_save") + self.gridLayout_4.addWidget(self.checkBox_save, 2, 3, 1, 1) + self.button_buffer_size = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.button_buffer_size.sizePolicy().hasHeightForWidth()) + self.button_buffer_size.setSizePolicy(sizePolicy) + self.button_buffer_size.setMinimumSize(QtCore.QSize(80, 0)) + self.button_buffer_size.setObjectName("button_buffer_size") + self.gridLayout_4.addWidget(self.button_buffer_size, 3, 3, 1, 1) + self.label_3 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_3.sizePolicy().hasHeightForWidth()) + self.label_3.setSizePolicy(sizePolicy) + self.label_3.setObjectName("label_3") + self.gridLayout_4.addWidget(self.label_3, 3, 0, 1, 1) + self.line_filePath = QtWidgets.QLineEdit(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_filePath.sizePolicy().hasHeightForWidth()) + self.line_filePath.setSizePolicy(sizePolicy) + self.line_filePath.setObjectName("line_filePath") + self.gridLayout_4.addWidget(self.line_filePath, 1, 1, 1, 2) + self.line_devAdr = QtWidgets.QLineEdit(parent=self.scrollAreaWidgetContents) + self.line_devAdr.setEnabled(True) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_devAdr.sizePolicy().hasHeightForWidth()) + self.line_devAdr.setSizePolicy(sizePolicy) + self.line_devAdr.setObjectName("line_devAdr") + self.gridLayout_4.addWidget(self.line_devAdr, 0, 1, 1, 2) + self.button_connect = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.button_connect.sizePolicy().hasHeightForWidth()) + self.button_connect.setSizePolicy(sizePolicy) + self.button_connect.setMinimumSize(QtCore.QSize(80, 0)) + self.button_connect.setObjectName("button_connect") + self.gridLayout_4.addWidget(self.button_connect, 0, 3, 1, 1) + self.label_7 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_7.sizePolicy().hasHeightForWidth()) + self.label_7.setSizePolicy(sizePolicy) + self.label_7.setObjectName("label_7") + self.gridLayout_4.addWidget(self.label_7, 0, 0, 1, 1) + self.SB_Buffer_size = QtWidgets.QSpinBox(parent=self.scrollAreaWidgetContents) + self.SB_Buffer_size.setMaximum(999999) + self.SB_Buffer_size.setProperty("value", 36000) + self.SB_Buffer_size.setObjectName("SB_Buffer_size") + self.gridLayout_4.addWidget(self.SB_Buffer_size, 3, 1, 1, 1) + self.label_8 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_8.sizePolicy().hasHeightForWidth()) + self.label_8.setSizePolicy(sizePolicy) + self.label_8.setObjectName("label_8") + self.gridLayout_4.addWidget(self.label_8, 1, 0, 1, 1) + self.label_2 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_2.sizePolicy().hasHeightForWidth()) + self.label_2.setSizePolicy(sizePolicy) + self.label_2.setObjectName("label_2") + self.gridLayout_4.addWidget(self.label_2, 2, 0, 1, 1) + self.dSB_save_intervall = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.dSB_save_intervall.sizePolicy().hasHeightForWidth()) + self.dSB_save_intervall.setSizePolicy(sizePolicy) + self.dSB_save_intervall.setMinimumSize(QtCore.QSize(80, 0)) + self.dSB_save_intervall.setMaximum(999.99) + self.dSB_save_intervall.setObjectName("dSB_save_intervall") + self.gridLayout_4.addWidget(self.dSB_save_intervall, 2, 1, 1, 1) + spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum) + self.gridLayout_4.addItem(spacerItem, 2, 2, 1, 1) + self.label_4 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_4.sizePolicy().hasHeightForWidth()) + self.label_4.setSizePolicy(sizePolicy) + self.label_4.setObjectName("label_4") + self.gridLayout_4.addWidget(self.label_4, 4, 0, 1, 1) + self.dSB_timing = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.dSB_timing.sizePolicy().hasHeightForWidth()) + self.dSB_timing.setSizePolicy(sizePolicy) + self.dSB_timing.setMinimumSize(QtCore.QSize(80, 0)) + self.dSB_timing.setMaximum(999.99) + self.dSB_timing.setObjectName("dSB_timing") + self.gridLayout_4.addWidget(self.dSB_timing, 4, 1, 1, 1) + self.gridLayout.addLayout(self.gridLayout_4, 0, 0, 3, 2) + spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum) + self.gridLayout.addItem(spacerItem1, 5, 4, 1, 1) + spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum) + self.gridLayout.addItem(spacerItem2, 5, 0, 1, 2) + self.checkBox_disableplots = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_disableplots.setObjectName("checkBox_disableplots") + self.gridLayout.addWidget(self.checkBox_disableplots, 4, 1, 1, 1) + self.SB_N_points = QtWidgets.QSpinBox(parent=self.scrollAreaWidgetContents) + self.SB_N_points.setMaximum(99999) + self.SB_N_points.setObjectName("SB_N_points") + self.gridLayout.addWidget(self.SB_N_points, 5, 3, 1, 1) + self.graphWidget = PlotWidget(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.graphWidget.sizePolicy().hasHeightForWidth()) + self.graphWidget.setSizePolicy(sizePolicy) + self.graphWidget.setMinimumSize(QtCore.QSize(431, 280)) + self.graphWidget.setObjectName("graphWidget") + self.gridLayout.addWidget(self.graphWidget, 0, 2, 5, 3) + self.label_5 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_5.setObjectName("label_5") + self.gridLayout.addWidget(self.label_5, 5, 2, 1, 1) + spacerItem3 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding) + self.gridLayout.addItem(spacerItem3, 3, 1, 1, 1) + self.gridLayout_5 = QtWidgets.QGridLayout() + self.gridLayout_5.setHorizontalSpacing(10) + self.gridLayout_5.setObjectName("gridLayout_5") + self.label_9 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_9.setObjectName("label_9") + self.gridLayout_5.addWidget(self.label_9, 2, 0, 1, 1) + self.Button_start = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + self.Button_start.setObjectName("Button_start") + self.gridLayout_5.addWidget(self.Button_start, 7, 0, 1, 1) + self.label = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label.setObjectName("label") + self.gridLayout_5.addWidget(self.label, 1, 0, 1, 1) + self.line_P = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_P.sizePolicy().hasHeightForWidth()) + self.line_P.setSizePolicy(sizePolicy) + self.line_P.setMinimumSize(QtCore.QSize(60, 19)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.line_P.setPalette(palette) + self.line_P.setAutoFillBackground(True) + self.line_P.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.line_P.setObjectName("line_P") + self.gridLayout_5.addWidget(self.line_P, 1, 1, 1, 1) + spacerItem4 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Fixed) + self.gridLayout_5.addItem(spacerItem4, 0, 0, 1, 1) + self.line_status = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_status.sizePolicy().hasHeightForWidth()) + self.line_status.setSizePolicy(sizePolicy) + self.line_status.setMinimumSize(QtCore.QSize(60, 19)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.line_status.setPalette(palette) + self.line_status.setAutoFillBackground(True) + self.line_status.setText("") + self.line_status.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.line_status.setObjectName("line_status") + self.gridLayout_5.addWidget(self.line_status, 4, 1, 1, 1) + self.label_11 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_11.setObjectName("label_11") + self.gridLayout_5.addWidget(self.label_11, 4, 0, 1, 1) + spacerItem5 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding) + self.gridLayout_5.addItem(spacerItem5, 6, 0, 1, 1) + self.checkBox_Fan = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_Fan.setEnabled(False) + self.checkBox_Fan.setObjectName("checkBox_Fan") + self.gridLayout_5.addWidget(self.checkBox_Fan, 5, 1, 1, 1) + self.line_T = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_T.sizePolicy().hasHeightForWidth()) + self.line_T.setSizePolicy(sizePolicy) + self.line_T.setMinimumSize(QtCore.QSize(60, 19)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.line_T.setPalette(palette) + self.line_T.setAutoFillBackground(True) + self.line_T.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.line_T.setObjectName("line_T") + self.gridLayout_5.addWidget(self.line_T, 2, 1, 1, 1) + self.Button_stop = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + self.Button_stop.setObjectName("Button_stop") + self.gridLayout_5.addWidget(self.Button_stop, 7, 1, 1, 1) + self.label_10 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_10.setObjectName("label_10") + self.gridLayout_5.addWidget(self.label_10, 5, 0, 1, 1) + spacerItem6 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum) + self.gridLayout_5.addItem(spacerItem6, 4, 2, 1, 1) + self.line_f = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_f.sizePolicy().hasHeightForWidth()) + self.line_f.setSizePolicy(sizePolicy) + self.line_f.setMinimumSize(QtCore.QSize(60, 19)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.line_f.setPalette(palette) + self.line_f.setAutoFillBackground(True) + self.line_f.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.line_f.setObjectName("line_f") + self.gridLayout_5.addWidget(self.line_f, 3, 1, 1, 1) + self.label_12 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_12.setObjectName("label_12") + self.gridLayout_5.addWidget(self.label_12, 3, 0, 1, 1) + self.gridLayout.addLayout(self.gridLayout_5, 3, 0, 2, 1) + self.gridLayout_2.addLayout(self.gridLayout, 0, 0, 1, 1) + self.scrollArea.setWidget(self.scrollAreaWidgetContents) + self.gridLayout_3.addWidget(self.scrollArea, 0, 0, 1, 1) + MainWindow.setCentralWidget(self.centralwidget) + self.menubar = QtWidgets.QMenuBar(parent=MainWindow) + self.menubar.setGeometry(QtCore.QRect(0, 0, 839, 26)) + self.menubar.setObjectName("menubar") + self.menuFile = QtWidgets.QMenu(parent=self.menubar) + self.menuFile.setObjectName("menuFile") + MainWindow.setMenuBar(self.menubar) + self.statusbar = QtWidgets.QStatusBar(parent=MainWindow) + self.statusbar.setObjectName("statusbar") + MainWindow.setStatusBar(self.statusbar) + self.actionSet_default = QtGui.QAction(parent=MainWindow) + self.actionSet_default.setObjectName("actionSet_default") + self.actionReset_default = QtGui.QAction(parent=MainWindow) + self.actionReset_default.setObjectName("actionReset_default") + self.menuFile.addAction(self.actionSet_default) + self.menuFile.addAction(self.actionReset_default) + self.menubar.addAction(self.menuFile.menuAction()) + + self.retranslateUi(MainWindow) + QtCore.QMetaObject.connectSlotsByName(MainWindow) + + def retranslateUi(self, MainWindow): + _translate = QtCore.QCoreApplication.translate + MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow")) + self.checkBox_save.setText(_translate("MainWindow", "Save")) + self.button_buffer_size.setText(_translate("MainWindow", "Change Buffer Size")) + self.label_3.setText(_translate("MainWindow", "Buffer size")) + self.button_connect.setText(_translate("MainWindow", "Connect")) + self.label_7.setText(_translate("MainWindow", "Device Adress")) + self.label_8.setText(_translate("MainWindow", "File Path")) + self.label_2.setText(_translate("MainWindow", "Save interval [s]")) + self.label_4.setText(_translate("MainWindow", "Timing")) + self.checkBox_disableplots.setText(_translate("MainWindow", "Disable plot")) + self.label_5.setText(_translate("MainWindow", "# points to plot")) + self.label_9.setText(_translate("MainWindow", "Temperature [°C]")) + self.Button_start.setText(_translate("MainWindow", "Sart")) + self.label.setText(_translate("MainWindow", "Pressure [mbar]")) + self.line_P.setText(_translate("MainWindow", "0")) + self.label_11.setText(_translate("MainWindow", "Status")) + self.checkBox_Fan.setText(_translate("MainWindow", "On / Off")) + self.line_T.setText(_translate("MainWindow", "0")) + self.Button_stop.setText(_translate("MainWindow", "Stop")) + self.label_10.setText(_translate("MainWindow", "Fan")) + self.line_f.setText(_translate("MainWindow", "0")) + self.label_12.setText(_translate("MainWindow", "Pump freq [Hz]")) + self.menuFile.setTitle(_translate("MainWindow", "File")) + self.actionSet_default.setText(_translate("MainWindow", "Make current values default")) + self.actionReset_default.setText(_translate("MainWindow", "Reset default values")) +from pyqtgraph import PlotWidget diff --git a/Legacy/Instrument_Drivers/design_files/BK_9131B.ui b/Legacy/Instrument_Drivers/design_files/BK_9131B.ui new file mode 100644 index 0000000..7072c17 --- /dev/null +++ b/Legacy/Instrument_Drivers/design_files/BK_9131B.ui @@ -0,0 +1,4517 @@ + + + MainWindow + + + + 0 + 0 + 981 + 493 + + + + BK 9131B (30V) + + + + + + + true + + + + + 0 + 0 + 961 + 432 + + + + + + + 999999 + + + 36000 + + + + + + + + 0 + 0 + + + + + + + + + 0 + 0 + + + + Buffer size + + + + + + + Connect + + + + + + + + 0 + 0 + + + + + 80 + 0 + + + + Change Buffer Size + + + + + + + true + + + + 0 + 0 + + + + + + + + File Path + + + + + + + + + V CH1 [V] + + + + + + + + 16777215 + 20 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + I CH1 [A] + + + + + + + + 16777215 + 20 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + P CH1 [W] + + + + + + + + 16777215 + 20 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + Save + + + + + + + + + V set CH1 [V] + + + + + + + I set CH1 [A] + + + + + + + CH1 Output On + + + + + + + 3 + + + 99.000000000000000 + + + + + + + 3 + + + 99.000000000000000 + + + + + + + + + + + V set CH2 [V] + + + + + + + I set CH2 [A] + + + + + + + CH2 Output On + + + + + + + 3 + + + 99.000000000000000 + + + + + + + 3 + + + 99.000000000000000 + + + + + + + + + + + V CH2 + + + true + + + + + + + I CH2 + + + true + + + + + + + P CH2 + + + true + + + + + + + + + Save interval [s] + + + + + + + + 75 + true + + + + Channel 1 + + + + + + + + 75 + true + + + + Channel 2 + + + + + + + Device Adress + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + 75 + true + + + + Channel 3 + + + + + + + + + P CH3 [W] + + + + + + + I CH3 [A] + + + + + + + V CH3 [V] + + + + + + + + 16777215 + 20 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 16777215 + 20 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 16777215 + 20 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + + + V CH3 + + + true + + + + + + + I CH3 + + + true + + + + + + + P CH3 + + + true + + + + + + + + + # points to plot + + + + + + + + + V CH1 + + + true + + + + + + + I CH1 + + + true + + + + + + + P CH1 + + + true + + + + + + + + + + + P CH2 [W] + + + + + + + I CH2 [A] + + + + + + + V CH2 [V] + + + + + + + + 16777215 + 20 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 16777215 + 20 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 16777215 + 20 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + + + V set CH3 [V] + + + + + + + I set CH3 [A] + + + + + + + CH3 Output On + + + + + + + 3 + + + 99.000000000000000 + + + + + + + 3 + + + 99.000000000000000 + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Disable plots + + + + + + + 999999999 + + + 200 + + + + + + + + + + 999999.000000000000000 + + + + + + + Plot + + + + + + + Plot + + + + + + + Plot + + + + + + + + + + + + + 0 + 0 + 981 + 21 + + + + + File + + + + + + + + + + Make current values default + + + + + Reset default values + + + + + + PlotWidget + QWidget +
pyqtgraph
+ 1 +
+
+ + +
diff --git a/Legacy/Instrument_Drivers/design_files/BK_9131B_design.py b/Legacy/Instrument_Drivers/design_files/BK_9131B_design.py new file mode 100644 index 0000000..3db2e5d --- /dev/null +++ b/Legacy/Instrument_Drivers/design_files/BK_9131B_design.py @@ -0,0 +1,1648 @@ +# Form implementation generated from reading ui file 'BK_9131B.ui' +# +# Created by: PyQt6 UI code generator 6.6.1 +# +# WARNING: Any manual changes made to this file will be lost when pyuic6 is +# run again. Do not edit this file unless you know what you are doing. + + +from PyQt6 import QtCore, QtGui, QtWidgets + + +class Ui_MainWindow(object): + def setupUi(self, MainWindow): + MainWindow.setObjectName("MainWindow") + MainWindow.resize(981, 493) + self.centralwidget = QtWidgets.QWidget(parent=MainWindow) + self.centralwidget.setObjectName("centralwidget") + self.horizontalLayout = QtWidgets.QHBoxLayout(self.centralwidget) + self.horizontalLayout.setObjectName("horizontalLayout") + self.scrollArea = QtWidgets.QScrollArea(parent=self.centralwidget) + self.scrollArea.setWidgetResizable(True) + self.scrollArea.setObjectName("scrollArea") + self.scrollAreaWidgetContents = QtWidgets.QWidget() + self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 961, 432)) + self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents") + self.gridLayout = QtWidgets.QGridLayout(self.scrollAreaWidgetContents) + self.gridLayout.setObjectName("gridLayout") + self.SB_Buffer_size = QtWidgets.QSpinBox(parent=self.scrollAreaWidgetContents) + self.SB_Buffer_size.setMaximum(999999) + self.SB_Buffer_size.setProperty("value", 36000) + self.SB_Buffer_size.setObjectName("SB_Buffer_size") + self.gridLayout.addWidget(self.SB_Buffer_size, 3, 1, 1, 1) + self.line_filePath = QtWidgets.QLineEdit(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_filePath.sizePolicy().hasHeightForWidth()) + self.line_filePath.setSizePolicy(sizePolicy) + self.line_filePath.setObjectName("line_filePath") + self.gridLayout.addWidget(self.line_filePath, 1, 1, 1, 1) + self.label_12 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_12.sizePolicy().hasHeightForWidth()) + self.label_12.setSizePolicy(sizePolicy) + self.label_12.setObjectName("label_12") + self.gridLayout.addWidget(self.label_12, 3, 0, 1, 1) + self.button_connect = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + self.button_connect.setObjectName("button_connect") + self.gridLayout.addWidget(self.button_connect, 0, 2, 1, 1) + self.button_buffer_size = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.button_buffer_size.sizePolicy().hasHeightForWidth()) + self.button_buffer_size.setSizePolicy(sizePolicy) + self.button_buffer_size.setMinimumSize(QtCore.QSize(80, 0)) + self.button_buffer_size.setObjectName("button_buffer_size") + self.gridLayout.addWidget(self.button_buffer_size, 3, 2, 1, 1) + self.line_devAdr = QtWidgets.QLineEdit(parent=self.scrollAreaWidgetContents) + self.line_devAdr.setEnabled(True) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_devAdr.sizePolicy().hasHeightForWidth()) + self.line_devAdr.setSizePolicy(sizePolicy) + self.line_devAdr.setObjectName("line_devAdr") + self.gridLayout.addWidget(self.line_devAdr, 0, 1, 1, 1) + self.label_9 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_9.setObjectName("label_9") + self.gridLayout.addWidget(self.label_9, 1, 0, 1, 1) + self.gridLayout_5 = QtWidgets.QGridLayout() + self.gridLayout_5.setObjectName("gridLayout_5") + self.label_19 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_19.setObjectName("label_19") + self.gridLayout_5.addWidget(self.label_19, 0, 0, 1, 1) + self.V_1 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.V_1.setMaximumSize(QtCore.QSize(16777215, 20)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.V_1.setPalette(palette) + self.V_1.setAutoFillBackground(True) + self.V_1.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.V_1.setObjectName("V_1") + self.gridLayout_5.addWidget(self.V_1, 0, 1, 1, 1) + self.label_18 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_18.setObjectName("label_18") + self.gridLayout_5.addWidget(self.label_18, 1, 0, 1, 1) + self.I_1 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.I_1.setMaximumSize(QtCore.QSize(16777215, 20)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.I_1.setPalette(palette) + self.I_1.setAutoFillBackground(True) + self.I_1.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.I_1.setObjectName("I_1") + self.gridLayout_5.addWidget(self.I_1, 1, 1, 1, 1) + self.label_20 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_20.setObjectName("label_20") + self.gridLayout_5.addWidget(self.label_20, 2, 0, 1, 1) + self.P_1 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.P_1.setMaximumSize(QtCore.QSize(16777215, 20)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.P_1.setPalette(palette) + self.P_1.setAutoFillBackground(True) + self.P_1.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.P_1.setObjectName("P_1") + self.gridLayout_5.addWidget(self.P_1, 2, 1, 1, 1) + self.gridLayout.addLayout(self.gridLayout_5, 5, 1, 1, 1) + self.checkBox_save = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_save.setObjectName("checkBox_save") + self.gridLayout.addWidget(self.checkBox_save, 1, 2, 1, 1) + self.gridLayout_3 = QtWidgets.QGridLayout() + self.gridLayout_3.setObjectName("gridLayout_3") + self.label_16 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_16.setObjectName("label_16") + self.gridLayout_3.addWidget(self.label_16, 0, 0, 1, 1) + self.label_17 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_17.setObjectName("label_17") + self.gridLayout_3.addWidget(self.label_17, 1, 0, 1, 1) + self.Output_1 = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.Output_1.setObjectName("Output_1") + self.gridLayout_3.addWidget(self.Output_1, 2, 0, 1, 2) + self.V_set_1 = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.V_set_1.setDecimals(3) + self.V_set_1.setMaximum(99.0) + self.V_set_1.setObjectName("V_set_1") + self.gridLayout_3.addWidget(self.V_set_1, 0, 1, 1, 1) + self.I_set_1 = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.I_set_1.setDecimals(3) + self.I_set_1.setMaximum(99.0) + self.I_set_1.setObjectName("I_set_1") + self.gridLayout_3.addWidget(self.I_set_1, 1, 1, 1, 1) + self.gridLayout.addLayout(self.gridLayout_3, 5, 0, 1, 1) + self.gridLayout_4 = QtWidgets.QGridLayout() + self.gridLayout_4.setObjectName("gridLayout_4") + self.label_24 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_24.setObjectName("label_24") + self.gridLayout_4.addWidget(self.label_24, 0, 0, 1, 1) + self.label_25 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_25.setObjectName("label_25") + self.gridLayout_4.addWidget(self.label_25, 1, 0, 1, 1) + self.Output_2 = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.Output_2.setObjectName("Output_2") + self.gridLayout_4.addWidget(self.Output_2, 2, 0, 1, 2) + self.V_set_2 = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.V_set_2.setDecimals(3) + self.V_set_2.setMaximum(99.0) + self.V_set_2.setObjectName("V_set_2") + self.gridLayout_4.addWidget(self.V_set_2, 0, 1, 1, 1) + self.I_set_2 = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.I_set_2.setDecimals(3) + self.I_set_2.setMaximum(99.0) + self.I_set_2.setObjectName("I_set_2") + self.gridLayout_4.addWidget(self.I_set_2, 1, 1, 1, 1) + self.gridLayout.addLayout(self.gridLayout_4, 7, 0, 1, 1) + self.verticalLayout_2 = QtWidgets.QVBoxLayout() + self.verticalLayout_2.setObjectName("verticalLayout_2") + self.checkBox_V_2 = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_V_2.setChecked(True) + self.checkBox_V_2.setObjectName("checkBox_V_2") + self.verticalLayout_2.addWidget(self.checkBox_V_2) + self.checkBox_I_2 = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_I_2.setChecked(True) + self.checkBox_I_2.setObjectName("checkBox_I_2") + self.verticalLayout_2.addWidget(self.checkBox_I_2) + self.checkBox_P_2 = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_P_2.setChecked(True) + self.checkBox_P_2.setObjectName("checkBox_P_2") + self.verticalLayout_2.addWidget(self.checkBox_P_2) + self.gridLayout.addLayout(self.verticalLayout_2, 7, 2, 1, 1) + self.label_15 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_15.setObjectName("label_15") + self.gridLayout.addWidget(self.label_15, 2, 0, 1, 1) + self.label = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + font = QtGui.QFont() + font.setBold(True) + font.setWeight(75) + self.label.setFont(font) + self.label.setObjectName("label") + self.gridLayout.addWidget(self.label, 4, 0, 1, 1) + self.label_2 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + font = QtGui.QFont() + font.setBold(True) + font.setWeight(75) + self.label_2.setFont(font) + self.label_2.setObjectName("label_2") + self.gridLayout.addWidget(self.label_2, 6, 0, 1, 1) + self.label_8 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_8.setObjectName("label_8") + self.gridLayout.addWidget(self.label_8, 0, 0, 1, 1) + spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding) + self.gridLayout.addItem(spacerItem, 10, 0, 1, 1) + self.label_3 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + font = QtGui.QFont() + font.setBold(True) + font.setWeight(75) + self.label_3.setFont(font) + self.label_3.setObjectName("label_3") + self.gridLayout.addWidget(self.label_3, 8, 0, 1, 1) + self.gridLayout_9 = QtWidgets.QGridLayout() + self.gridLayout_9.setObjectName("gridLayout_9") + self.label_33 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_33.setObjectName("label_33") + self.gridLayout_9.addWidget(self.label_33, 2, 0, 1, 1) + self.label_32 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_32.setObjectName("label_32") + self.gridLayout_9.addWidget(self.label_32, 1, 0, 1, 1) + self.label_31 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_31.setObjectName("label_31") + self.gridLayout_9.addWidget(self.label_31, 0, 0, 1, 1) + self.V_3 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.V_3.setMaximumSize(QtCore.QSize(16777215, 20)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.V_3.setPalette(palette) + self.V_3.setAutoFillBackground(True) + self.V_3.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.V_3.setObjectName("V_3") + self.gridLayout_9.addWidget(self.V_3, 0, 1, 1, 1) + self.I_3 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.I_3.setMaximumSize(QtCore.QSize(16777215, 20)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.I_3.setPalette(palette) + self.I_3.setAutoFillBackground(True) + self.I_3.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.I_3.setObjectName("I_3") + self.gridLayout_9.addWidget(self.I_3, 1, 1, 1, 1) + self.P_3 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.P_3.setMaximumSize(QtCore.QSize(16777215, 20)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.P_3.setPalette(palette) + self.P_3.setAutoFillBackground(True) + self.P_3.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.P_3.setObjectName("P_3") + self.gridLayout_9.addWidget(self.P_3, 2, 1, 1, 1) + self.gridLayout.addLayout(self.gridLayout_9, 9, 1, 1, 1) + self.verticalLayout_3 = QtWidgets.QVBoxLayout() + self.verticalLayout_3.setObjectName("verticalLayout_3") + self.checkBox_V_3 = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_V_3.setChecked(True) + self.checkBox_V_3.setObjectName("checkBox_V_3") + self.verticalLayout_3.addWidget(self.checkBox_V_3) + self.checkBox_I_3 = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_I_3.setChecked(True) + self.checkBox_I_3.setObjectName("checkBox_I_3") + self.verticalLayout_3.addWidget(self.checkBox_I_3) + self.checkBox_P_3 = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_P_3.setChecked(True) + self.checkBox_P_3.setObjectName("checkBox_P_3") + self.verticalLayout_3.addWidget(self.checkBox_P_3) + self.gridLayout.addLayout(self.verticalLayout_3, 9, 2, 1, 1) + self.label_5 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_5.setObjectName("label_5") + self.gridLayout.addWidget(self.label_5, 9, 3, 1, 1) + self.verticalLayout = QtWidgets.QVBoxLayout() + self.verticalLayout.setObjectName("verticalLayout") + self.checkBox_V_1 = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_V_1.setChecked(True) + self.checkBox_V_1.setObjectName("checkBox_V_1") + self.verticalLayout.addWidget(self.checkBox_V_1) + self.checkBox_I_1 = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_I_1.setChecked(True) + self.checkBox_I_1.setObjectName("checkBox_I_1") + self.verticalLayout.addWidget(self.checkBox_I_1) + self.checkBox_P_1 = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_P_1.setChecked(True) + self.checkBox_P_1.setObjectName("checkBox_P_1") + self.verticalLayout.addWidget(self.checkBox_P_1) + self.gridLayout.addLayout(self.verticalLayout, 5, 2, 1, 1) + self.gridLayout_7 = QtWidgets.QGridLayout() + self.gridLayout_7.setObjectName("gridLayout_7") + self.label_28 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_28.setObjectName("label_28") + self.gridLayout_7.addWidget(self.label_28, 2, 0, 1, 1) + self.label_27 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_27.setObjectName("label_27") + self.gridLayout_7.addWidget(self.label_27, 1, 0, 1, 1) + self.label_26 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_26.setObjectName("label_26") + self.gridLayout_7.addWidget(self.label_26, 0, 0, 1, 1) + self.V_2 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.V_2.setMaximumSize(QtCore.QSize(16777215, 20)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.V_2.setPalette(palette) + self.V_2.setAutoFillBackground(True) + self.V_2.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.V_2.setObjectName("V_2") + self.gridLayout_7.addWidget(self.V_2, 0, 1, 1, 1) + self.I_2 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.I_2.setMaximumSize(QtCore.QSize(16777215, 20)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.I_2.setPalette(palette) + self.I_2.setAutoFillBackground(True) + self.I_2.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.I_2.setObjectName("I_2") + self.gridLayout_7.addWidget(self.I_2, 1, 1, 1, 1) + self.P_2 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.P_2.setMaximumSize(QtCore.QSize(16777215, 20)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.P_2.setPalette(palette) + self.P_2.setAutoFillBackground(True) + self.P_2.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.P_2.setObjectName("P_2") + self.gridLayout_7.addWidget(self.P_2, 2, 1, 1, 1) + self.gridLayout.addLayout(self.gridLayout_7, 7, 1, 1, 1) + self.gridLayout_8 = QtWidgets.QGridLayout() + self.gridLayout_8.setObjectName("gridLayout_8") + self.label_29 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_29.setObjectName("label_29") + self.gridLayout_8.addWidget(self.label_29, 0, 0, 1, 1) + self.label_30 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_30.setObjectName("label_30") + self.gridLayout_8.addWidget(self.label_30, 1, 0, 1, 1) + self.Output_3 = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.Output_3.setObjectName("Output_3") + self.gridLayout_8.addWidget(self.Output_3, 2, 0, 1, 2) + self.V_set_3 = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.V_set_3.setDecimals(3) + self.V_set_3.setMaximum(99.0) + self.V_set_3.setObjectName("V_set_3") + self.gridLayout_8.addWidget(self.V_set_3, 0, 1, 1, 1) + self.I_set_3 = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.I_set_3.setDecimals(3) + self.I_set_3.setMaximum(99.0) + self.I_set_3.setObjectName("I_set_3") + self.gridLayout_8.addWidget(self.I_set_3, 1, 1, 1, 1) + self.gridLayout.addLayout(self.gridLayout_8, 9, 0, 1, 1) + spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum) + self.gridLayout.addItem(spacerItem1, 9, 6, 1, 1) + self.checkBox_disableplots = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_disableplots.setObjectName("checkBox_disableplots") + self.gridLayout.addWidget(self.checkBox_disableplots, 9, 5, 1, 1) + self.SB_Nplot = QtWidgets.QSpinBox(parent=self.scrollAreaWidgetContents) + self.SB_Nplot.setMaximum(999999999) + self.SB_Nplot.setProperty("value", 200) + self.SB_Nplot.setObjectName("SB_Nplot") + self.gridLayout.addWidget(self.SB_Nplot, 9, 4, 1, 1) + self.graphWidget = PlotWidget(parent=self.scrollAreaWidgetContents) + self.graphWidget.setObjectName("graphWidget") + self.gridLayout.addWidget(self.graphWidget, 0, 3, 9, 4) + self.dSB_saveInterval = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.dSB_saveInterval.setMaximum(999999.0) + self.dSB_saveInterval.setObjectName("dSB_saveInterval") + self.gridLayout.addWidget(self.dSB_saveInterval, 2, 1, 1, 1) + self.label_10 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_10.setObjectName("label_10") + self.gridLayout.addWidget(self.label_10, 6, 2, 1, 1) + self.label_4 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_4.setObjectName("label_4") + self.gridLayout.addWidget(self.label_4, 4, 2, 1, 1) + self.label_11 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_11.setObjectName("label_11") + self.gridLayout.addWidget(self.label_11, 8, 2, 1, 1) + self.scrollArea.setWidget(self.scrollAreaWidgetContents) + self.horizontalLayout.addWidget(self.scrollArea) + MainWindow.setCentralWidget(self.centralwidget) + self.menubar = QtWidgets.QMenuBar(parent=MainWindow) + self.menubar.setGeometry(QtCore.QRect(0, 0, 981, 21)) + self.menubar.setObjectName("menubar") + self.menuFile = QtWidgets.QMenu(parent=self.menubar) + self.menuFile.setObjectName("menuFile") + MainWindow.setMenuBar(self.menubar) + self.statusbar = QtWidgets.QStatusBar(parent=MainWindow) + self.statusbar.setObjectName("statusbar") + MainWindow.setStatusBar(self.statusbar) + self.actionSet_default = QtGui.QAction(parent=MainWindow) + self.actionSet_default.setObjectName("actionSet_default") + self.actionReset_default = QtGui.QAction(parent=MainWindow) + self.actionReset_default.setObjectName("actionReset_default") + self.menuFile.addAction(self.actionSet_default) + self.menuFile.addAction(self.actionReset_default) + self.menubar.addAction(self.menuFile.menuAction()) + + self.retranslateUi(MainWindow) + QtCore.QMetaObject.connectSlotsByName(MainWindow) + + def retranslateUi(self, MainWindow): + _translate = QtCore.QCoreApplication.translate + MainWindow.setWindowTitle(_translate("MainWindow", "BK 9131B (30V)")) + self.label_12.setText(_translate("MainWindow", "Buffer size")) + self.button_connect.setText(_translate("MainWindow", "Connect")) + self.button_buffer_size.setText(_translate("MainWindow", "Change Buffer Size")) + self.label_9.setText(_translate("MainWindow", "File Path")) + self.label_19.setText(_translate("MainWindow", "V CH1 [V]")) + self.V_1.setText(_translate("MainWindow", "0")) + self.label_18.setText(_translate("MainWindow", "I CH1 [A]")) + self.I_1.setText(_translate("MainWindow", "0")) + self.label_20.setText(_translate("MainWindow", "P CH1 [W]")) + self.P_1.setText(_translate("MainWindow", "0")) + self.checkBox_save.setText(_translate("MainWindow", "Save")) + self.label_16.setText(_translate("MainWindow", "V set CH1 [V]")) + self.label_17.setText(_translate("MainWindow", "I set CH1 [A]")) + self.Output_1.setText(_translate("MainWindow", "CH1 Output On")) + self.label_24.setText(_translate("MainWindow", "V set CH2 [V]")) + self.label_25.setText(_translate("MainWindow", "I set CH2 [A]")) + self.Output_2.setText(_translate("MainWindow", "CH2 Output On")) + self.checkBox_V_2.setText(_translate("MainWindow", "V CH2")) + self.checkBox_I_2.setText(_translate("MainWindow", "I CH2")) + self.checkBox_P_2.setText(_translate("MainWindow", "P CH2")) + self.label_15.setText(_translate("MainWindow", "Save interval [s]")) + self.label.setText(_translate("MainWindow", "Channel 1")) + self.label_2.setText(_translate("MainWindow", "Channel 2")) + self.label_8.setText(_translate("MainWindow", "Device Adress")) + self.label_3.setText(_translate("MainWindow", "Channel 3")) + self.label_33.setText(_translate("MainWindow", "P CH3 [W]")) + self.label_32.setText(_translate("MainWindow", "I CH3 [A]")) + self.label_31.setText(_translate("MainWindow", "V CH3 [V]")) + self.V_3.setText(_translate("MainWindow", "0")) + self.I_3.setText(_translate("MainWindow", "0")) + self.P_3.setText(_translate("MainWindow", "0")) + self.checkBox_V_3.setText(_translate("MainWindow", "V CH3")) + self.checkBox_I_3.setText(_translate("MainWindow", "I CH3")) + self.checkBox_P_3.setText(_translate("MainWindow", "P CH3")) + self.label_5.setText(_translate("MainWindow", "# points to plot")) + self.checkBox_V_1.setText(_translate("MainWindow", "V CH1")) + self.checkBox_I_1.setText(_translate("MainWindow", "I CH1")) + self.checkBox_P_1.setText(_translate("MainWindow", "P CH1")) + self.label_28.setText(_translate("MainWindow", "P CH2 [W]")) + self.label_27.setText(_translate("MainWindow", "I CH2 [A]")) + self.label_26.setText(_translate("MainWindow", "V CH2 [V]")) + self.V_2.setText(_translate("MainWindow", "0")) + self.I_2.setText(_translate("MainWindow", "0")) + self.P_2.setText(_translate("MainWindow", "0")) + self.label_29.setText(_translate("MainWindow", "V set CH3 [V]")) + self.label_30.setText(_translate("MainWindow", "I set CH3 [A]")) + self.Output_3.setText(_translate("MainWindow", "CH3 Output On")) + self.checkBox_disableplots.setText(_translate("MainWindow", "Disable plots")) + self.label_10.setText(_translate("MainWindow", "Plot")) + self.label_4.setText(_translate("MainWindow", "Plot")) + self.label_11.setText(_translate("MainWindow", "Plot")) + self.menuFile.setTitle(_translate("MainWindow", "File")) + self.actionSet_default.setText(_translate("MainWindow", "Make current values default")) + self.actionReset_default.setText(_translate("MainWindow", "Reset default values")) +from pyqtgraph import PlotWidget diff --git a/Legacy/Instrument_Drivers/design_files/BK_9132B.ui b/Legacy/Instrument_Drivers/design_files/BK_9132B.ui new file mode 100644 index 0000000..5b919f3 --- /dev/null +++ b/Legacy/Instrument_Drivers/design_files/BK_9132B.ui @@ -0,0 +1,4542 @@ + + + MainWindow + + + + 0 + 0 + 1006 + 508 + + + + BK 9132B + + + + + + 700 + 300 + 81 + 17 + + + + Disable plots + + + + + + 521 + 300 + 81 + 16 + + + + # points to plot + + + + + + 610 + 300 + 59 + 20 + + + + + + + 520 + 10 + 471 + 281 + + + + + + + 10 + 10 + 314 + 57 + + + + + + + Device Adress + + + + + + + true + + + + 0 + 0 + + + + + + + + File Path + + + + + + + + 0 + 0 + + + + + + + + Save + + + + + + + Connect + + + + + + + + + 10 + 70 + 121 + 22 + + + + + + + Save interval [s] + + + + + + + + 0 + 0 + + + + + + + + + + 10 + 130 + 81 + 16 + + + + + 75 + true + + + + Channel 1 + + + + + + 179 + 260 + 121 + 71 + + + + + + + V CH2 [V] + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + I CH2 [A] + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + P CH2 [W] + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + 9 + 240 + 81 + 16 + + + + + 75 + true + + + + Channel 2 + + + + + + 10 + 260 + 141 + 73 + + + + + + + V set CH2 [V] + + + + + + + + 0 + 0 + + + + + + + + I set CH2 [A] + + + + + + + + 0 + 0 + + + + + + + + CH2 Output On + + + + + + + + + 179 + 370 + 121 + 71 + + + + + + + V CH3 [V] + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + I CH3 [A] + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + P CH3 [W] + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + 9 + 350 + 81 + 16 + + + + + 75 + true + + + + Channel 3 + + + + + + 10 + 370 + 141 + 73 + + + + + + + V set CH3 [V] + + + + + + + + 0 + 0 + + + + + + + + I set CH3 [A] + + + + + + + + 0 + 0 + + + + + + + + CH3 Output On + + + + + + + + + 330 + 240 + 58 + 87 + + + + + + + Plot + + + + + + + V CH2 + + + true + + + + + + + I CH2 + + + true + + + + + + + P CH2 + + + true + + + + + + + + + 330 + 350 + 58 + 87 + + + + + + + Plot + + + + + + + V CH3 + + + true + + + + + + + I CH3 + + + true + + + + + + + P CH3 + + + true + + + + + + + + + 180 + 150 + 121 + 71 + + + + + + + V CH1 [V] + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + I CH1 [A] + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + P CH1 [W] + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + 11 + 150 + 141 + 73 + + + + + + + V set CH1 [V] + + + + + + + + 0 + 0 + + + + + + + + I set CH1 [A] + + + + + + + + 0 + 0 + + + + + + + + CH1 Output On + + + + + + + + + 330 + 130 + 58 + 87 + + + + + + + Plot + + + + + + + V CH1 + + + true + + + + + + + I CH1 + + + true + + + + + + + P CH1 + + + true + + + + + + + + + 340 + 10 + 91 + 21 + + + + + 12 + 75 + true + + + + Device 1 + + + + + + + 0 + 0 + 1006 + 21 + + + + + File + + + + + + + + + + Make current values default + + + + + Reset default values + + + + + + PlotWidget + QWidget +
pyqtgraph
+ 1 +
+
+ + line_devAdr + button_connect + line_filePath + checkBox_save + line_saveInterval + checkBox_disableplots + checkBox_V_1 + checkBox_I_1 + checkBox_P_1 + line_Nplot + + + +
diff --git a/Legacy/Instrument_Drivers/design_files/BK_9132B_design.py b/Legacy/Instrument_Drivers/design_files/BK_9132B_design.py new file mode 100644 index 0000000..f471522 --- /dev/null +++ b/Legacy/Instrument_Drivers/design_files/BK_9132B_design.py @@ -0,0 +1,1686 @@ +# Form implementation generated from reading ui file 'Standalones\BK_9132B.ui' +# +# Created by: PyQt6 UI code generator 6.6.1 +# +# WARNING: Any manual changes made to this file will be lost when pyuic6 is +# run again. Do not edit this file unless you know what you are doing. + + +from PyQt6 import QtCore, QtGui, QtWidgets + + +class Ui_MainWindow(object): + def setupUi(self, MainWindow): + MainWindow.setObjectName("MainWindow") + MainWindow.resize(1006, 508) + self.centralwidget = QtWidgets.QWidget(parent=MainWindow) + self.centralwidget.setObjectName("centralwidget") + self.checkBox_disableplots = QtWidgets.QCheckBox(parent=self.centralwidget) + self.checkBox_disableplots.setGeometry(QtCore.QRect(700, 300, 81, 17)) + self.checkBox_disableplots.setObjectName("checkBox_disableplots") + self.label_5 = QtWidgets.QLabel(parent=self.centralwidget) + self.label_5.setGeometry(QtCore.QRect(521, 300, 81, 16)) + self.label_5.setObjectName("label_5") + self.line_Nplot = QtWidgets.QLineEdit(parent=self.centralwidget) + self.line_Nplot.setGeometry(QtCore.QRect(610, 300, 59, 20)) + self.line_Nplot.setObjectName("line_Nplot") + self.graphWidget = PlotWidget(parent=self.centralwidget) + self.graphWidget.setGeometry(QtCore.QRect(520, 10, 471, 281)) + self.graphWidget.setObjectName("graphWidget") + self.layoutWidget = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget.setGeometry(QtCore.QRect(10, 10, 314, 57)) + self.layoutWidget.setObjectName("layoutWidget") + self.gridLayout_2 = QtWidgets.QGridLayout(self.layoutWidget) + self.gridLayout_2.setContentsMargins(0, 0, 0, 0) + self.gridLayout_2.setObjectName("gridLayout_2") + self.label_6 = QtWidgets.QLabel(parent=self.layoutWidget) + self.label_6.setObjectName("label_6") + self.gridLayout_2.addWidget(self.label_6, 0, 0, 1, 1) + self.line_devAdr = QtWidgets.QLineEdit(parent=self.layoutWidget) + self.line_devAdr.setEnabled(True) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_devAdr.sizePolicy().hasHeightForWidth()) + self.line_devAdr.setSizePolicy(sizePolicy) + self.line_devAdr.setObjectName("line_devAdr") + self.gridLayout_2.addWidget(self.line_devAdr, 0, 1, 1, 1) + self.label_7 = QtWidgets.QLabel(parent=self.layoutWidget) + self.label_7.setObjectName("label_7") + self.gridLayout_2.addWidget(self.label_7, 1, 0, 1, 1) + self.line_filePath = QtWidgets.QLineEdit(parent=self.layoutWidget) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_filePath.sizePolicy().hasHeightForWidth()) + self.line_filePath.setSizePolicy(sizePolicy) + self.line_filePath.setObjectName("line_filePath") + self.gridLayout_2.addWidget(self.line_filePath, 1, 1, 1, 1) + self.checkBox_save = QtWidgets.QCheckBox(parent=self.layoutWidget) + self.checkBox_save.setObjectName("checkBox_save") + self.gridLayout_2.addWidget(self.checkBox_save, 1, 2, 1, 1) + self.button_connect = QtWidgets.QPushButton(parent=self.layoutWidget) + self.button_connect.setObjectName("button_connect") + self.gridLayout_2.addWidget(self.button_connect, 0, 2, 1, 1) + self.layoutWidget_2 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget_2.setGeometry(QtCore.QRect(10, 70, 121, 22)) + self.layoutWidget_2.setObjectName("layoutWidget_2") + self.gridLayout_3 = QtWidgets.QGridLayout(self.layoutWidget_2) + self.gridLayout_3.setContentsMargins(0, 0, 0, 0) + self.gridLayout_3.setObjectName("gridLayout_3") + self.label_15 = QtWidgets.QLabel(parent=self.layoutWidget_2) + self.label_15.setObjectName("label_15") + self.gridLayout_3.addWidget(self.label_15, 0, 0, 1, 1) + self.line_saveInterval = QtWidgets.QLineEdit(parent=self.layoutWidget_2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_saveInterval.sizePolicy().hasHeightForWidth()) + self.line_saveInterval.setSizePolicy(sizePolicy) + self.line_saveInterval.setObjectName("line_saveInterval") + self.gridLayout_3.addWidget(self.line_saveInterval, 0, 1, 1, 1) + self.label = QtWidgets.QLabel(parent=self.centralwidget) + self.label.setGeometry(QtCore.QRect(10, 130, 81, 16)) + font = QtGui.QFont() + font.setBold(True) + font.setWeight(75) + self.label.setFont(font) + self.label.setObjectName("label") + self.layoutWidget_3 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget_3.setGeometry(QtCore.QRect(179, 260, 121, 71)) + self.layoutWidget_3.setObjectName("layoutWidget_3") + self.gridLayout_6 = QtWidgets.QGridLayout(self.layoutWidget_3) + self.gridLayout_6.setContentsMargins(0, 0, 0, 0) + self.gridLayout_6.setObjectName("gridLayout_6") + self.label_21 = QtWidgets.QLabel(parent=self.layoutWidget_3) + self.label_21.setObjectName("label_21") + self.gridLayout_6.addWidget(self.label_21, 0, 0, 1, 1) + self.V_2 = QtWidgets.QLabel(parent=self.layoutWidget_3) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.V_2.setPalette(palette) + self.V_2.setAutoFillBackground(True) + self.V_2.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.V_2.setObjectName("V_2") + self.gridLayout_6.addWidget(self.V_2, 0, 1, 1, 1) + self.label_22 = QtWidgets.QLabel(parent=self.layoutWidget_3) + self.label_22.setObjectName("label_22") + self.gridLayout_6.addWidget(self.label_22, 1, 0, 1, 1) + self.I_2 = QtWidgets.QLabel(parent=self.layoutWidget_3) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.I_2.setPalette(palette) + self.I_2.setAutoFillBackground(True) + self.I_2.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.I_2.setObjectName("I_2") + self.gridLayout_6.addWidget(self.I_2, 1, 1, 1, 1) + self.label_23 = QtWidgets.QLabel(parent=self.layoutWidget_3) + self.label_23.setObjectName("label_23") + self.gridLayout_6.addWidget(self.label_23, 2, 0, 1, 1) + self.P_2 = QtWidgets.QLabel(parent=self.layoutWidget_3) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.P_2.setPalette(palette) + self.P_2.setAutoFillBackground(True) + self.P_2.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.P_2.setObjectName("P_2") + self.gridLayout_6.addWidget(self.P_2, 2, 1, 1, 1) + self.label_2 = QtWidgets.QLabel(parent=self.centralwidget) + self.label_2.setGeometry(QtCore.QRect(9, 240, 81, 16)) + font = QtGui.QFont() + font.setBold(True) + font.setWeight(75) + self.label_2.setFont(font) + self.label_2.setObjectName("label_2") + self.layoutWidget_4 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget_4.setGeometry(QtCore.QRect(10, 260, 141, 73)) + self.layoutWidget_4.setObjectName("layoutWidget_4") + self.gridLayout_4 = QtWidgets.QGridLayout(self.layoutWidget_4) + self.gridLayout_4.setContentsMargins(0, 0, 0, 0) + self.gridLayout_4.setObjectName("gridLayout_4") + self.label_24 = QtWidgets.QLabel(parent=self.layoutWidget_4) + self.label_24.setObjectName("label_24") + self.gridLayout_4.addWidget(self.label_24, 0, 0, 1, 1) + self.V_set_2 = QtWidgets.QLineEdit(parent=self.layoutWidget_4) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.V_set_2.sizePolicy().hasHeightForWidth()) + self.V_set_2.setSizePolicy(sizePolicy) + self.V_set_2.setObjectName("V_set_2") + self.gridLayout_4.addWidget(self.V_set_2, 0, 1, 1, 1) + self.label_25 = QtWidgets.QLabel(parent=self.layoutWidget_4) + self.label_25.setObjectName("label_25") + self.gridLayout_4.addWidget(self.label_25, 1, 0, 1, 1) + self.I_set_2 = QtWidgets.QLineEdit(parent=self.layoutWidget_4) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.I_set_2.sizePolicy().hasHeightForWidth()) + self.I_set_2.setSizePolicy(sizePolicy) + self.I_set_2.setObjectName("I_set_2") + self.gridLayout_4.addWidget(self.I_set_2, 1, 1, 1, 1) + self.Output_2 = QtWidgets.QCheckBox(parent=self.layoutWidget_4) + self.Output_2.setObjectName("Output_2") + self.gridLayout_4.addWidget(self.Output_2, 2, 0, 1, 2) + self.layoutWidget_5 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget_5.setGeometry(QtCore.QRect(179, 370, 121, 71)) + self.layoutWidget_5.setObjectName("layoutWidget_5") + self.gridLayout_7 = QtWidgets.QGridLayout(self.layoutWidget_5) + self.gridLayout_7.setContentsMargins(0, 0, 0, 0) + self.gridLayout_7.setObjectName("gridLayout_7") + self.label_26 = QtWidgets.QLabel(parent=self.layoutWidget_5) + self.label_26.setObjectName("label_26") + self.gridLayout_7.addWidget(self.label_26, 0, 0, 1, 1) + self.V_3 = QtWidgets.QLabel(parent=self.layoutWidget_5) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.V_3.setPalette(palette) + self.V_3.setAutoFillBackground(True) + self.V_3.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.V_3.setObjectName("V_3") + self.gridLayout_7.addWidget(self.V_3, 0, 1, 1, 1) + self.label_27 = QtWidgets.QLabel(parent=self.layoutWidget_5) + self.label_27.setObjectName("label_27") + self.gridLayout_7.addWidget(self.label_27, 1, 0, 1, 1) + self.I_3 = QtWidgets.QLabel(parent=self.layoutWidget_5) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.I_3.setPalette(palette) + self.I_3.setAutoFillBackground(True) + self.I_3.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.I_3.setObjectName("I_3") + self.gridLayout_7.addWidget(self.I_3, 1, 1, 1, 1) + self.label_28 = QtWidgets.QLabel(parent=self.layoutWidget_5) + self.label_28.setObjectName("label_28") + self.gridLayout_7.addWidget(self.label_28, 2, 0, 1, 1) + self.P_3 = QtWidgets.QLabel(parent=self.layoutWidget_5) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.P_3.setPalette(palette) + self.P_3.setAutoFillBackground(True) + self.P_3.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.P_3.setObjectName("P_3") + self.gridLayout_7.addWidget(self.P_3, 2, 1, 1, 1) + self.label_3 = QtWidgets.QLabel(parent=self.centralwidget) + self.label_3.setGeometry(QtCore.QRect(9, 350, 81, 16)) + font = QtGui.QFont() + font.setBold(True) + font.setWeight(75) + self.label_3.setFont(font) + self.label_3.setObjectName("label_3") + self.layoutWidget_6 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget_6.setGeometry(QtCore.QRect(10, 370, 141, 73)) + self.layoutWidget_6.setObjectName("layoutWidget_6") + self.gridLayout_8 = QtWidgets.QGridLayout(self.layoutWidget_6) + self.gridLayout_8.setContentsMargins(0, 0, 0, 0) + self.gridLayout_8.setObjectName("gridLayout_8") + self.label_29 = QtWidgets.QLabel(parent=self.layoutWidget_6) + self.label_29.setObjectName("label_29") + self.gridLayout_8.addWidget(self.label_29, 0, 0, 1, 1) + self.V_set_3 = QtWidgets.QLineEdit(parent=self.layoutWidget_6) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.V_set_3.sizePolicy().hasHeightForWidth()) + self.V_set_3.setSizePolicy(sizePolicy) + self.V_set_3.setObjectName("V_set_3") + self.gridLayout_8.addWidget(self.V_set_3, 0, 1, 1, 1) + self.label_30 = QtWidgets.QLabel(parent=self.layoutWidget_6) + self.label_30.setObjectName("label_30") + self.gridLayout_8.addWidget(self.label_30, 1, 0, 1, 1) + self.I_set_3 = QtWidgets.QLineEdit(parent=self.layoutWidget_6) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.I_set_3.sizePolicy().hasHeightForWidth()) + self.I_set_3.setSizePolicy(sizePolicy) + self.I_set_3.setObjectName("I_set_3") + self.gridLayout_8.addWidget(self.I_set_3, 1, 1, 1, 1) + self.Output_3 = QtWidgets.QCheckBox(parent=self.layoutWidget_6) + self.Output_3.setObjectName("Output_3") + self.gridLayout_8.addWidget(self.Output_3, 2, 0, 1, 2) + self.layoutWidget_7 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget_7.setGeometry(QtCore.QRect(330, 240, 58, 87)) + self.layoutWidget_7.setObjectName("layoutWidget_7") + self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.layoutWidget_7) + self.verticalLayout_2.setContentsMargins(0, 0, 0, 0) + self.verticalLayout_2.setObjectName("verticalLayout_2") + self.label_8 = QtWidgets.QLabel(parent=self.layoutWidget_7) + self.label_8.setObjectName("label_8") + self.verticalLayout_2.addWidget(self.label_8) + self.checkBox_V_2 = QtWidgets.QCheckBox(parent=self.layoutWidget_7) + self.checkBox_V_2.setChecked(True) + self.checkBox_V_2.setObjectName("checkBox_V_2") + self.verticalLayout_2.addWidget(self.checkBox_V_2) + self.checkBox_I_2 = QtWidgets.QCheckBox(parent=self.layoutWidget_7) + self.checkBox_I_2.setChecked(True) + self.checkBox_I_2.setObjectName("checkBox_I_2") + self.verticalLayout_2.addWidget(self.checkBox_I_2) + self.checkBox_P_2 = QtWidgets.QCheckBox(parent=self.layoutWidget_7) + self.checkBox_P_2.setChecked(True) + self.checkBox_P_2.setObjectName("checkBox_P_2") + self.verticalLayout_2.addWidget(self.checkBox_P_2) + self.layoutWidget_8 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget_8.setGeometry(QtCore.QRect(330, 350, 58, 87)) + self.layoutWidget_8.setObjectName("layoutWidget_8") + self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.layoutWidget_8) + self.verticalLayout_3.setContentsMargins(0, 0, 0, 0) + self.verticalLayout_3.setObjectName("verticalLayout_3") + self.label_9 = QtWidgets.QLabel(parent=self.layoutWidget_8) + self.label_9.setObjectName("label_9") + self.verticalLayout_3.addWidget(self.label_9) + self.checkBox_V_3 = QtWidgets.QCheckBox(parent=self.layoutWidget_8) + self.checkBox_V_3.setChecked(True) + self.checkBox_V_3.setObjectName("checkBox_V_3") + self.verticalLayout_3.addWidget(self.checkBox_V_3) + self.checkBox_I_3 = QtWidgets.QCheckBox(parent=self.layoutWidget_8) + self.checkBox_I_3.setChecked(True) + self.checkBox_I_3.setObjectName("checkBox_I_3") + self.verticalLayout_3.addWidget(self.checkBox_I_3) + self.checkBox_P_3 = QtWidgets.QCheckBox(parent=self.layoutWidget_8) + self.checkBox_P_3.setChecked(True) + self.checkBox_P_3.setObjectName("checkBox_P_3") + self.verticalLayout_3.addWidget(self.checkBox_P_3) + self.layoutWidget1 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget1.setGeometry(QtCore.QRect(180, 150, 121, 71)) + self.layoutWidget1.setObjectName("layoutWidget1") + self.gridLayout_5 = QtWidgets.QGridLayout(self.layoutWidget1) + self.gridLayout_5.setContentsMargins(0, 0, 0, 0) + self.gridLayout_5.setObjectName("gridLayout_5") + self.label_19 = QtWidgets.QLabel(parent=self.layoutWidget1) + self.label_19.setObjectName("label_19") + self.gridLayout_5.addWidget(self.label_19, 0, 0, 1, 1) + self.V_1 = QtWidgets.QLabel(parent=self.layoutWidget1) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.V_1.setPalette(palette) + self.V_1.setAutoFillBackground(True) + self.V_1.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.V_1.setObjectName("V_1") + self.gridLayout_5.addWidget(self.V_1, 0, 1, 1, 1) + self.label_18 = QtWidgets.QLabel(parent=self.layoutWidget1) + self.label_18.setObjectName("label_18") + self.gridLayout_5.addWidget(self.label_18, 1, 0, 1, 1) + self.I_1 = QtWidgets.QLabel(parent=self.layoutWidget1) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.I_1.setPalette(palette) + self.I_1.setAutoFillBackground(True) + self.I_1.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.I_1.setObjectName("I_1") + self.gridLayout_5.addWidget(self.I_1, 1, 1, 1, 1) + self.label_20 = QtWidgets.QLabel(parent=self.layoutWidget1) + self.label_20.setObjectName("label_20") + self.gridLayout_5.addWidget(self.label_20, 2, 0, 1, 1) + self.P_1 = QtWidgets.QLabel(parent=self.layoutWidget1) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.P_1.setPalette(palette) + self.P_1.setAutoFillBackground(True) + self.P_1.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.P_1.setObjectName("P_1") + self.gridLayout_5.addWidget(self.P_1, 2, 1, 1, 1) + self.layoutWidget2 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget2.setGeometry(QtCore.QRect(11, 150, 141, 73)) + self.layoutWidget2.setObjectName("layoutWidget2") + self.gridLayout = QtWidgets.QGridLayout(self.layoutWidget2) + self.gridLayout.setContentsMargins(0, 0, 0, 0) + self.gridLayout.setObjectName("gridLayout") + self.label_16 = QtWidgets.QLabel(parent=self.layoutWidget2) + self.label_16.setObjectName("label_16") + self.gridLayout.addWidget(self.label_16, 0, 0, 1, 1) + self.V_set_1 = QtWidgets.QLineEdit(parent=self.layoutWidget2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.V_set_1.sizePolicy().hasHeightForWidth()) + self.V_set_1.setSizePolicy(sizePolicy) + self.V_set_1.setObjectName("V_set_1") + self.gridLayout.addWidget(self.V_set_1, 0, 1, 1, 1) + self.label_17 = QtWidgets.QLabel(parent=self.layoutWidget2) + self.label_17.setObjectName("label_17") + self.gridLayout.addWidget(self.label_17, 1, 0, 1, 1) + self.I_set_1 = QtWidgets.QLineEdit(parent=self.layoutWidget2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.I_set_1.sizePolicy().hasHeightForWidth()) + self.I_set_1.setSizePolicy(sizePolicy) + self.I_set_1.setObjectName("I_set_1") + self.gridLayout.addWidget(self.I_set_1, 1, 1, 1, 1) + self.Output_1 = QtWidgets.QCheckBox(parent=self.layoutWidget2) + self.Output_1.setObjectName("Output_1") + self.gridLayout.addWidget(self.Output_1, 2, 0, 1, 2) + self.layoutWidget3 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget3.setGeometry(QtCore.QRect(330, 130, 58, 87)) + self.layoutWidget3.setObjectName("layoutWidget3") + self.verticalLayout = QtWidgets.QVBoxLayout(self.layoutWidget3) + self.verticalLayout.setContentsMargins(0, 0, 0, 0) + self.verticalLayout.setObjectName("verticalLayout") + self.label_4 = QtWidgets.QLabel(parent=self.layoutWidget3) + self.label_4.setObjectName("label_4") + self.verticalLayout.addWidget(self.label_4) + self.checkBox_V_1 = QtWidgets.QCheckBox(parent=self.layoutWidget3) + self.checkBox_V_1.setChecked(True) + self.checkBox_V_1.setObjectName("checkBox_V_1") + self.verticalLayout.addWidget(self.checkBox_V_1) + self.checkBox_I_1 = QtWidgets.QCheckBox(parent=self.layoutWidget3) + self.checkBox_I_1.setChecked(True) + self.checkBox_I_1.setObjectName("checkBox_I_1") + self.verticalLayout.addWidget(self.checkBox_I_1) + self.checkBox_P_1 = QtWidgets.QCheckBox(parent=self.layoutWidget3) + self.checkBox_P_1.setChecked(True) + self.checkBox_P_1.setObjectName("checkBox_P_1") + self.verticalLayout.addWidget(self.checkBox_P_1) + self.label_device = QtWidgets.QLabel(parent=self.centralwidget) + self.label_device.setGeometry(QtCore.QRect(340, 10, 91, 21)) + font = QtGui.QFont() + font.setPointSize(12) + font.setBold(True) + font.setWeight(75) + self.label_device.setFont(font) + self.label_device.setObjectName("label_device") + MainWindow.setCentralWidget(self.centralwidget) + self.menubar = QtWidgets.QMenuBar(parent=MainWindow) + self.menubar.setGeometry(QtCore.QRect(0, 0, 1006, 21)) + self.menubar.setObjectName("menubar") + self.menuFile = QtWidgets.QMenu(parent=self.menubar) + self.menuFile.setObjectName("menuFile") + MainWindow.setMenuBar(self.menubar) + self.statusbar = QtWidgets.QStatusBar(parent=MainWindow) + self.statusbar.setObjectName("statusbar") + MainWindow.setStatusBar(self.statusbar) + self.actionSet_default = QtGui.QAction(parent=MainWindow) + self.actionSet_default.setObjectName("actionSet_default") + self.actionReset_default = QtGui.QAction(parent=MainWindow) + self.actionReset_default.setObjectName("actionReset_default") + self.menuFile.addAction(self.actionSet_default) + self.menuFile.addAction(self.actionReset_default) + self.menubar.addAction(self.menuFile.menuAction()) + + self.retranslateUi(MainWindow) + QtCore.QMetaObject.connectSlotsByName(MainWindow) + MainWindow.setTabOrder(self.line_devAdr, self.button_connect) + MainWindow.setTabOrder(self.button_connect, self.line_filePath) + MainWindow.setTabOrder(self.line_filePath, self.checkBox_save) + MainWindow.setTabOrder(self.checkBox_save, self.line_saveInterval) + MainWindow.setTabOrder(self.line_saveInterval, self.checkBox_disableplots) + MainWindow.setTabOrder(self.checkBox_disableplots, self.checkBox_V_1) + MainWindow.setTabOrder(self.checkBox_V_1, self.checkBox_I_1) + MainWindow.setTabOrder(self.checkBox_I_1, self.checkBox_P_1) + MainWindow.setTabOrder(self.checkBox_P_1, self.line_Nplot) + + def retranslateUi(self, MainWindow): + _translate = QtCore.QCoreApplication.translate + MainWindow.setWindowTitle(_translate("MainWindow", "BK 9132B")) + self.checkBox_disableplots.setText(_translate("MainWindow", "Disable plots")) + self.label_5.setText(_translate("MainWindow", "# points to plot")) + self.label_6.setText(_translate("MainWindow", "Device Adress")) + self.label_7.setText(_translate("MainWindow", "File Path")) + self.checkBox_save.setText(_translate("MainWindow", "Save")) + self.button_connect.setText(_translate("MainWindow", "Connect")) + self.label_15.setText(_translate("MainWindow", "Save interval [s]")) + self.label.setText(_translate("MainWindow", "Channel 1")) + self.label_21.setText(_translate("MainWindow", "V CH2 [V]")) + self.V_2.setText(_translate("MainWindow", "0")) + self.label_22.setText(_translate("MainWindow", "I CH2 [A]")) + self.I_2.setText(_translate("MainWindow", "0")) + self.label_23.setText(_translate("MainWindow", "P CH2 [W]")) + self.P_2.setText(_translate("MainWindow", "0")) + self.label_2.setText(_translate("MainWindow", "Channel 2")) + self.label_24.setText(_translate("MainWindow", "V set CH2 [V]")) + self.label_25.setText(_translate("MainWindow", "I set CH2 [A]")) + self.Output_2.setText(_translate("MainWindow", "CH2 Output On")) + self.label_26.setText(_translate("MainWindow", "V CH3 [V]")) + self.V_3.setText(_translate("MainWindow", "0")) + self.label_27.setText(_translate("MainWindow", "I CH3 [A]")) + self.I_3.setText(_translate("MainWindow", "0")) + self.label_28.setText(_translate("MainWindow", "P CH3 [W]")) + self.P_3.setText(_translate("MainWindow", "0")) + self.label_3.setText(_translate("MainWindow", "Channel 3")) + self.label_29.setText(_translate("MainWindow", "V set CH3 [V]")) + self.label_30.setText(_translate("MainWindow", "I set CH3 [A]")) + self.Output_3.setText(_translate("MainWindow", "CH3 Output On")) + self.label_8.setText(_translate("MainWindow", "Plot")) + self.checkBox_V_2.setText(_translate("MainWindow", "V CH2")) + self.checkBox_I_2.setText(_translate("MainWindow", "I CH2")) + self.checkBox_P_2.setText(_translate("MainWindow", "P CH2")) + self.label_9.setText(_translate("MainWindow", "Plot")) + self.checkBox_V_3.setText(_translate("MainWindow", "V CH3")) + self.checkBox_I_3.setText(_translate("MainWindow", "I CH3")) + self.checkBox_P_3.setText(_translate("MainWindow", "P CH3")) + self.label_19.setText(_translate("MainWindow", "V CH1 [V]")) + self.V_1.setText(_translate("MainWindow", "0")) + self.label_18.setText(_translate("MainWindow", "I CH1 [A]")) + self.I_1.setText(_translate("MainWindow", "0")) + self.label_20.setText(_translate("MainWindow", "P CH1 [W]")) + self.P_1.setText(_translate("MainWindow", "0")) + self.label_16.setText(_translate("MainWindow", "V set CH1 [V]")) + self.label_17.setText(_translate("MainWindow", "I set CH1 [A]")) + self.Output_1.setText(_translate("MainWindow", "CH1 Output On")) + self.label_4.setText(_translate("MainWindow", "Plot")) + self.checkBox_V_1.setText(_translate("MainWindow", "V CH1")) + self.checkBox_I_1.setText(_translate("MainWindow", "I CH1")) + self.checkBox_P_1.setText(_translate("MainWindow", "P CH1")) + self.label_device.setText(_translate("MainWindow", "Device 1")) + self.menuFile.setTitle(_translate("MainWindow", "File")) + self.actionSet_default.setText(_translate("MainWindow", "Make current values default")) + self.actionReset_default.setText(_translate("MainWindow", "Reset default values")) +from pyqtgraph import PlotWidget + + +if __name__ == "__main__": + import sys + app = QtWidgets.QApplication(sys.argv) + MainWindow = QtWidgets.QMainWindow() + ui = Ui_MainWindow() + ui.setupUi(MainWindow) + MainWindow.show() + sys.exit(app.exec()) diff --git a/Legacy/Instrument_Drivers/design_files/BK_9174B.ui b/Legacy/Instrument_Drivers/design_files/BK_9174B.ui new file mode 100644 index 0000000..54d508c --- /dev/null +++ b/Legacy/Instrument_Drivers/design_files/BK_9174B.ui @@ -0,0 +1,3104 @@ + + + MainWindow + + + + 0 + 0 + 1008 + 402 + + + + BK 9174B + + + + + + 700 + 300 + 81 + 17 + + + + Disable plots + + + + + + 521 + 300 + 81 + 16 + + + + # points to plot + + + + + + 610 + 300 + 59 + 20 + + + + + + + 520 + 10 + 471 + 281 + + + + + + + 10 + 10 + 314 + 57 + + + + + + + Device Adress + + + + + + + true + + + + 0 + 0 + + + + + + + + File Path + + + + + + + + 0 + 0 + + + + + + + + Save + + + + + + + Connect + + + + + + + + + 10 + 70 + 121 + 22 + + + + + + + Save interval [s] + + + + + + + + 0 + 0 + + + + + + + + + + 10 + 130 + 81 + 16 + + + + + 75 + true + + + + Channel 1 + + + + + + 179 + 260 + 121 + 71 + + + + + + + V CH2 [V] + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + I CH2 [A] + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + P CH2 [W] + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + 9 + 240 + 81 + 16 + + + + + 75 + true + + + + Channel 2 + + + + + + 10 + 260 + 141 + 73 + + + + + + + V set CH2 [V] + + + + + + + + 0 + 0 + + + + + + + + I set CH2 [A] + + + + + + + + 0 + 0 + + + + + + + + CH2 Output On + + + + + + + + + 330 + 240 + 58 + 87 + + + + + + + Plot + + + + + + + V CH2 + + + true + + + + + + + I CH2 + + + true + + + + + + + P CH2 + + + true + + + + + + + + + 180 + 150 + 121 + 71 + + + + + + + V CH1 [V] + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + I CH1 [A] + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + P CH1 [W] + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + 11 + 150 + 141 + 73 + + + + + + + V set CH1 [V] + + + + + + + + 0 + 0 + + + + + + + + I set CH1 [A] + + + + + + + + 0 + 0 + + + + + + + + CH1 Output On + + + + + + + + + 330 + 130 + 58 + 87 + + + + + + + Plot + + + + + + + V CH1 + + + true + + + + + + + I CH1 + + + true + + + + + + + P CH1 + + + true + + + + + + + + + 330 + 10 + 91 + 21 + + + + + 12 + 75 + true + + + + Device 1 + + + + + + + 0 + 0 + 1008 + 26 + + + + + File + + + + + + + + + + Make current values default + + + + + Reset default values + + + + + + PlotWidget + QWidget +
pyqtgraph
+ 1 +
+
+ + line_devAdr + button_connect + line_filePath + checkBox_save + line_saveInterval + checkBox_disableplots + checkBox_V_1 + checkBox_I_1 + checkBox_P_1 + line_Nplot + + + +
diff --git a/Legacy/Instrument_Drivers/design_files/BK_9174B_design.py b/Legacy/Instrument_Drivers/design_files/BK_9174B_design.py new file mode 100644 index 0000000..9c2e554 --- /dev/null +++ b/Legacy/Instrument_Drivers/design_files/BK_9174B_design.py @@ -0,0 +1,1172 @@ +# Form implementation generated from reading ui file 'BK_9174B.ui' +# +# Created by: PyQt6 UI code generator 6.6.1 +# +# WARNING: Any manual changes made to this file will be lost when pyuic6 is +# run again. Do not edit this file unless you know what you are doing. + + +from PyQt6 import QtCore, QtGui, QtWidgets + + +class Ui_MainWindow(object): + def setupUi(self, MainWindow): + MainWindow.setObjectName("MainWindow") + MainWindow.resize(1008, 402) + self.centralwidget = QtWidgets.QWidget(parent=MainWindow) + self.centralwidget.setObjectName("centralwidget") + self.checkBox_disableplots = QtWidgets.QCheckBox(parent=self.centralwidget) + self.checkBox_disableplots.setGeometry(QtCore.QRect(700, 300, 81, 17)) + self.checkBox_disableplots.setObjectName("checkBox_disableplots") + self.label_5 = QtWidgets.QLabel(parent=self.centralwidget) + self.label_5.setGeometry(QtCore.QRect(521, 300, 81, 16)) + self.label_5.setObjectName("label_5") + self.line_Nplot = QtWidgets.QLineEdit(parent=self.centralwidget) + self.line_Nplot.setGeometry(QtCore.QRect(610, 300, 59, 20)) + self.line_Nplot.setObjectName("line_Nplot") + self.graphWidget = PlotWidget(parent=self.centralwidget) + self.graphWidget.setGeometry(QtCore.QRect(520, 10, 471, 281)) + self.graphWidget.setObjectName("graphWidget") + self.layoutWidget = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget.setGeometry(QtCore.QRect(10, 10, 314, 57)) + self.layoutWidget.setObjectName("layoutWidget") + self.gridLayout_2 = QtWidgets.QGridLayout(self.layoutWidget) + self.gridLayout_2.setContentsMargins(0, 0, 0, 0) + self.gridLayout_2.setObjectName("gridLayout_2") + self.label_6 = QtWidgets.QLabel(parent=self.layoutWidget) + self.label_6.setObjectName("label_6") + self.gridLayout_2.addWidget(self.label_6, 0, 0, 1, 1) + self.line_devAdr = QtWidgets.QLineEdit(parent=self.layoutWidget) + self.line_devAdr.setEnabled(True) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_devAdr.sizePolicy().hasHeightForWidth()) + self.line_devAdr.setSizePolicy(sizePolicy) + self.line_devAdr.setObjectName("line_devAdr") + self.gridLayout_2.addWidget(self.line_devAdr, 0, 1, 1, 1) + self.label_7 = QtWidgets.QLabel(parent=self.layoutWidget) + self.label_7.setObjectName("label_7") + self.gridLayout_2.addWidget(self.label_7, 1, 0, 1, 1) + self.line_filePath = QtWidgets.QLineEdit(parent=self.layoutWidget) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_filePath.sizePolicy().hasHeightForWidth()) + self.line_filePath.setSizePolicy(sizePolicy) + self.line_filePath.setObjectName("line_filePath") + self.gridLayout_2.addWidget(self.line_filePath, 1, 1, 1, 1) + self.checkBox_save = QtWidgets.QCheckBox(parent=self.layoutWidget) + self.checkBox_save.setObjectName("checkBox_save") + self.gridLayout_2.addWidget(self.checkBox_save, 1, 2, 1, 1) + self.button_connect = QtWidgets.QPushButton(parent=self.layoutWidget) + self.button_connect.setObjectName("button_connect") + self.gridLayout_2.addWidget(self.button_connect, 0, 2, 1, 1) + self.layoutWidget_2 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget_2.setGeometry(QtCore.QRect(10, 70, 121, 22)) + self.layoutWidget_2.setObjectName("layoutWidget_2") + self.gridLayout_3 = QtWidgets.QGridLayout(self.layoutWidget_2) + self.gridLayout_3.setContentsMargins(0, 0, 0, 0) + self.gridLayout_3.setObjectName("gridLayout_3") + self.label_15 = QtWidgets.QLabel(parent=self.layoutWidget_2) + self.label_15.setObjectName("label_15") + self.gridLayout_3.addWidget(self.label_15, 0, 0, 1, 1) + self.line_saveInterval = QtWidgets.QLineEdit(parent=self.layoutWidget_2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_saveInterval.sizePolicy().hasHeightForWidth()) + self.line_saveInterval.setSizePolicy(sizePolicy) + self.line_saveInterval.setObjectName("line_saveInterval") + self.gridLayout_3.addWidget(self.line_saveInterval, 0, 1, 1, 1) + self.label = QtWidgets.QLabel(parent=self.centralwidget) + self.label.setGeometry(QtCore.QRect(10, 130, 81, 16)) + font = QtGui.QFont() + font.setBold(True) + font.setWeight(75) + self.label.setFont(font) + self.label.setObjectName("label") + self.layoutWidget_3 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget_3.setGeometry(QtCore.QRect(179, 260, 121, 71)) + self.layoutWidget_3.setObjectName("layoutWidget_3") + self.gridLayout_6 = QtWidgets.QGridLayout(self.layoutWidget_3) + self.gridLayout_6.setContentsMargins(0, 0, 0, 0) + self.gridLayout_6.setObjectName("gridLayout_6") + self.label_21 = QtWidgets.QLabel(parent=self.layoutWidget_3) + self.label_21.setObjectName("label_21") + self.gridLayout_6.addWidget(self.label_21, 0, 0, 1, 1) + self.V_2 = QtWidgets.QLabel(parent=self.layoutWidget_3) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.V_2.setPalette(palette) + self.V_2.setAutoFillBackground(True) + self.V_2.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.V_2.setObjectName("V_2") + self.gridLayout_6.addWidget(self.V_2, 0, 1, 1, 1) + self.label_22 = QtWidgets.QLabel(parent=self.layoutWidget_3) + self.label_22.setObjectName("label_22") + self.gridLayout_6.addWidget(self.label_22, 1, 0, 1, 1) + self.I_2 = QtWidgets.QLabel(parent=self.layoutWidget_3) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.I_2.setPalette(palette) + self.I_2.setAutoFillBackground(True) + self.I_2.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.I_2.setObjectName("I_2") + self.gridLayout_6.addWidget(self.I_2, 1, 1, 1, 1) + self.label_23 = QtWidgets.QLabel(parent=self.layoutWidget_3) + self.label_23.setObjectName("label_23") + self.gridLayout_6.addWidget(self.label_23, 2, 0, 1, 1) + self.P_2 = QtWidgets.QLabel(parent=self.layoutWidget_3) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.P_2.setPalette(palette) + self.P_2.setAutoFillBackground(True) + self.P_2.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.P_2.setObjectName("P_2") + self.gridLayout_6.addWidget(self.P_2, 2, 1, 1, 1) + self.label_2 = QtWidgets.QLabel(parent=self.centralwidget) + self.label_2.setGeometry(QtCore.QRect(9, 240, 81, 16)) + font = QtGui.QFont() + font.setBold(True) + font.setWeight(75) + self.label_2.setFont(font) + self.label_2.setObjectName("label_2") + self.layoutWidget_4 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget_4.setGeometry(QtCore.QRect(10, 260, 141, 73)) + self.layoutWidget_4.setObjectName("layoutWidget_4") + self.gridLayout_4 = QtWidgets.QGridLayout(self.layoutWidget_4) + self.gridLayout_4.setContentsMargins(0, 0, 0, 0) + self.gridLayout_4.setObjectName("gridLayout_4") + self.label_24 = QtWidgets.QLabel(parent=self.layoutWidget_4) + self.label_24.setObjectName("label_24") + self.gridLayout_4.addWidget(self.label_24, 0, 0, 1, 1) + self.V_set_2 = QtWidgets.QLineEdit(parent=self.layoutWidget_4) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.V_set_2.sizePolicy().hasHeightForWidth()) + self.V_set_2.setSizePolicy(sizePolicy) + self.V_set_2.setObjectName("V_set_2") + self.gridLayout_4.addWidget(self.V_set_2, 0, 1, 1, 1) + self.label_25 = QtWidgets.QLabel(parent=self.layoutWidget_4) + self.label_25.setObjectName("label_25") + self.gridLayout_4.addWidget(self.label_25, 1, 0, 1, 1) + self.I_set_2 = QtWidgets.QLineEdit(parent=self.layoutWidget_4) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.I_set_2.sizePolicy().hasHeightForWidth()) + self.I_set_2.setSizePolicy(sizePolicy) + self.I_set_2.setObjectName("I_set_2") + self.gridLayout_4.addWidget(self.I_set_2, 1, 1, 1, 1) + self.Output_2 = QtWidgets.QCheckBox(parent=self.layoutWidget_4) + self.Output_2.setObjectName("Output_2") + self.gridLayout_4.addWidget(self.Output_2, 2, 0, 1, 2) + self.layoutWidget_7 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget_7.setGeometry(QtCore.QRect(330, 240, 58, 87)) + self.layoutWidget_7.setObjectName("layoutWidget_7") + self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.layoutWidget_7) + self.verticalLayout_2.setContentsMargins(0, 0, 0, 0) + self.verticalLayout_2.setObjectName("verticalLayout_2") + self.label_8 = QtWidgets.QLabel(parent=self.layoutWidget_7) + self.label_8.setObjectName("label_8") + self.verticalLayout_2.addWidget(self.label_8) + self.checkBox_V_2 = QtWidgets.QCheckBox(parent=self.layoutWidget_7) + self.checkBox_V_2.setChecked(True) + self.checkBox_V_2.setObjectName("checkBox_V_2") + self.verticalLayout_2.addWidget(self.checkBox_V_2) + self.checkBox_I_2 = QtWidgets.QCheckBox(parent=self.layoutWidget_7) + self.checkBox_I_2.setChecked(True) + self.checkBox_I_2.setObjectName("checkBox_I_2") + self.verticalLayout_2.addWidget(self.checkBox_I_2) + self.checkBox_P_2 = QtWidgets.QCheckBox(parent=self.layoutWidget_7) + self.checkBox_P_2.setChecked(True) + self.checkBox_P_2.setObjectName("checkBox_P_2") + self.verticalLayout_2.addWidget(self.checkBox_P_2) + self.layoutWidget1 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget1.setGeometry(QtCore.QRect(180, 150, 121, 71)) + self.layoutWidget1.setObjectName("layoutWidget1") + self.gridLayout_5 = QtWidgets.QGridLayout(self.layoutWidget1) + self.gridLayout_5.setContentsMargins(0, 0, 0, 0) + self.gridLayout_5.setObjectName("gridLayout_5") + self.label_19 = QtWidgets.QLabel(parent=self.layoutWidget1) + self.label_19.setObjectName("label_19") + self.gridLayout_5.addWidget(self.label_19, 0, 0, 1, 1) + self.V_1 = QtWidgets.QLabel(parent=self.layoutWidget1) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.V_1.setPalette(palette) + self.V_1.setAutoFillBackground(True) + self.V_1.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.V_1.setObjectName("V_1") + self.gridLayout_5.addWidget(self.V_1, 0, 1, 1, 1) + self.label_18 = QtWidgets.QLabel(parent=self.layoutWidget1) + self.label_18.setObjectName("label_18") + self.gridLayout_5.addWidget(self.label_18, 1, 0, 1, 1) + self.I_1 = QtWidgets.QLabel(parent=self.layoutWidget1) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.I_1.setPalette(palette) + self.I_1.setAutoFillBackground(True) + self.I_1.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.I_1.setObjectName("I_1") + self.gridLayout_5.addWidget(self.I_1, 1, 1, 1, 1) + self.label_20 = QtWidgets.QLabel(parent=self.layoutWidget1) + self.label_20.setObjectName("label_20") + self.gridLayout_5.addWidget(self.label_20, 2, 0, 1, 1) + self.P_1 = QtWidgets.QLabel(parent=self.layoutWidget1) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.P_1.setPalette(palette) + self.P_1.setAutoFillBackground(True) + self.P_1.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.P_1.setObjectName("P_1") + self.gridLayout_5.addWidget(self.P_1, 2, 1, 1, 1) + self.layoutWidget2 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget2.setGeometry(QtCore.QRect(11, 150, 141, 73)) + self.layoutWidget2.setObjectName("layoutWidget2") + self.gridLayout = QtWidgets.QGridLayout(self.layoutWidget2) + self.gridLayout.setContentsMargins(0, 0, 0, 0) + self.gridLayout.setObjectName("gridLayout") + self.label_16 = QtWidgets.QLabel(parent=self.layoutWidget2) + self.label_16.setObjectName("label_16") + self.gridLayout.addWidget(self.label_16, 0, 0, 1, 1) + self.V_set_1 = QtWidgets.QLineEdit(parent=self.layoutWidget2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.V_set_1.sizePolicy().hasHeightForWidth()) + self.V_set_1.setSizePolicy(sizePolicy) + self.V_set_1.setObjectName("V_set_1") + self.gridLayout.addWidget(self.V_set_1, 0, 1, 1, 1) + self.label_17 = QtWidgets.QLabel(parent=self.layoutWidget2) + self.label_17.setObjectName("label_17") + self.gridLayout.addWidget(self.label_17, 1, 0, 1, 1) + self.I_set_1 = QtWidgets.QLineEdit(parent=self.layoutWidget2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.I_set_1.sizePolicy().hasHeightForWidth()) + self.I_set_1.setSizePolicy(sizePolicy) + self.I_set_1.setObjectName("I_set_1") + self.gridLayout.addWidget(self.I_set_1, 1, 1, 1, 1) + self.Output_1 = QtWidgets.QCheckBox(parent=self.layoutWidget2) + self.Output_1.setObjectName("Output_1") + self.gridLayout.addWidget(self.Output_1, 2, 0, 1, 2) + self.layoutWidget3 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget3.setGeometry(QtCore.QRect(330, 130, 58, 87)) + self.layoutWidget3.setObjectName("layoutWidget3") + self.verticalLayout = QtWidgets.QVBoxLayout(self.layoutWidget3) + self.verticalLayout.setContentsMargins(0, 0, 0, 0) + self.verticalLayout.setObjectName("verticalLayout") + self.label_4 = QtWidgets.QLabel(parent=self.layoutWidget3) + self.label_4.setObjectName("label_4") + self.verticalLayout.addWidget(self.label_4) + self.checkBox_V_1 = QtWidgets.QCheckBox(parent=self.layoutWidget3) + self.checkBox_V_1.setChecked(True) + self.checkBox_V_1.setObjectName("checkBox_V_1") + self.verticalLayout.addWidget(self.checkBox_V_1) + self.checkBox_I_1 = QtWidgets.QCheckBox(parent=self.layoutWidget3) + self.checkBox_I_1.setChecked(True) + self.checkBox_I_1.setObjectName("checkBox_I_1") + self.verticalLayout.addWidget(self.checkBox_I_1) + self.checkBox_P_1 = QtWidgets.QCheckBox(parent=self.layoutWidget3) + self.checkBox_P_1.setChecked(True) + self.checkBox_P_1.setObjectName("checkBox_P_1") + self.verticalLayout.addWidget(self.checkBox_P_1) + self.label_device = QtWidgets.QLabel(parent=self.centralwidget) + self.label_device.setGeometry(QtCore.QRect(330, 10, 91, 21)) + font = QtGui.QFont() + font.setPointSize(12) + font.setBold(True) + font.setWeight(75) + self.label_device.setFont(font) + self.label_device.setObjectName("label_device") + MainWindow.setCentralWidget(self.centralwidget) + self.menubar = QtWidgets.QMenuBar(parent=MainWindow) + self.menubar.setGeometry(QtCore.QRect(0, 0, 1008, 26)) + self.menubar.setObjectName("menubar") + self.menuFile = QtWidgets.QMenu(parent=self.menubar) + self.menuFile.setObjectName("menuFile") + MainWindow.setMenuBar(self.menubar) + self.statusbar = QtWidgets.QStatusBar(parent=MainWindow) + self.statusbar.setObjectName("statusbar") + MainWindow.setStatusBar(self.statusbar) + self.actionSet_default = QtGui.QAction(parent=MainWindow) + self.actionSet_default.setObjectName("actionSet_default") + self.actionReset_default = QtGui.QAction(parent=MainWindow) + self.actionReset_default.setObjectName("actionReset_default") + self.menuFile.addAction(self.actionSet_default) + self.menuFile.addAction(self.actionReset_default) + self.menubar.addAction(self.menuFile.menuAction()) + + self.retranslateUi(MainWindow) + QtCore.QMetaObject.connectSlotsByName(MainWindow) + MainWindow.setTabOrder(self.line_devAdr, self.button_connect) + MainWindow.setTabOrder(self.button_connect, self.line_filePath) + MainWindow.setTabOrder(self.line_filePath, self.checkBox_save) + MainWindow.setTabOrder(self.checkBox_save, self.line_saveInterval) + MainWindow.setTabOrder(self.line_saveInterval, self.checkBox_disableplots) + MainWindow.setTabOrder(self.checkBox_disableplots, self.checkBox_V_1) + MainWindow.setTabOrder(self.checkBox_V_1, self.checkBox_I_1) + MainWindow.setTabOrder(self.checkBox_I_1, self.checkBox_P_1) + MainWindow.setTabOrder(self.checkBox_P_1, self.line_Nplot) + + def retranslateUi(self, MainWindow): + _translate = QtCore.QCoreApplication.translate + MainWindow.setWindowTitle(_translate("MainWindow", "BK 9174B")) + self.checkBox_disableplots.setText(_translate("MainWindow", "Disable plots")) + self.label_5.setText(_translate("MainWindow", "# points to plot")) + self.label_6.setText(_translate("MainWindow", "Device Adress")) + self.label_7.setText(_translate("MainWindow", "File Path")) + self.checkBox_save.setText(_translate("MainWindow", "Save")) + self.button_connect.setText(_translate("MainWindow", "Connect")) + self.label_15.setText(_translate("MainWindow", "Save interval [s]")) + self.label.setText(_translate("MainWindow", "Channel 1")) + self.label_21.setText(_translate("MainWindow", "V CH2 [V]")) + self.V_2.setText(_translate("MainWindow", "0")) + self.label_22.setText(_translate("MainWindow", "I CH2 [A]")) + self.I_2.setText(_translate("MainWindow", "0")) + self.label_23.setText(_translate("MainWindow", "P CH2 [W]")) + self.P_2.setText(_translate("MainWindow", "0")) + self.label_2.setText(_translate("MainWindow", "Channel 2")) + self.label_24.setText(_translate("MainWindow", "V set CH2 [V]")) + self.label_25.setText(_translate("MainWindow", "I set CH2 [A]")) + self.Output_2.setText(_translate("MainWindow", "CH2 Output On")) + self.label_8.setText(_translate("MainWindow", "Plot")) + self.checkBox_V_2.setText(_translate("MainWindow", "V CH2")) + self.checkBox_I_2.setText(_translate("MainWindow", "I CH2")) + self.checkBox_P_2.setText(_translate("MainWindow", "P CH2")) + self.label_19.setText(_translate("MainWindow", "V CH1 [V]")) + self.V_1.setText(_translate("MainWindow", "0")) + self.label_18.setText(_translate("MainWindow", "I CH1 [A]")) + self.I_1.setText(_translate("MainWindow", "0")) + self.label_20.setText(_translate("MainWindow", "P CH1 [W]")) + self.P_1.setText(_translate("MainWindow", "0")) + self.label_16.setText(_translate("MainWindow", "V set CH1 [V]")) + self.label_17.setText(_translate("MainWindow", "I set CH1 [A]")) + self.Output_1.setText(_translate("MainWindow", "CH1 Output On")) + self.label_4.setText(_translate("MainWindow", "Plot")) + self.checkBox_V_1.setText(_translate("MainWindow", "V CH1")) + self.checkBox_I_1.setText(_translate("MainWindow", "I CH1")) + self.checkBox_P_1.setText(_translate("MainWindow", "P CH1")) + self.label_device.setText(_translate("MainWindow", "Device 1")) + self.menuFile.setTitle(_translate("MainWindow", "File")) + self.actionSet_default.setText(_translate("MainWindow", "Make current values default")) + self.actionReset_default.setText(_translate("MainWindow", "Reset default values")) +from pyqtgraph import PlotWidget + + +if __name__ == "__main__": + import sys + app = QtWidgets.QApplication(sys.argv) + MainWindow = QtWidgets.QMainWindow() + ui = Ui_MainWindow() + ui.setupUi(MainWindow) + MainWindow.show() + sys.exit(app.exec()) diff --git a/Legacy/Instrument_Drivers/design_files/Keithley_2230G.ui b/Legacy/Instrument_Drivers/design_files/Keithley_2230G.ui new file mode 100644 index 0000000..eb8bea7 --- /dev/null +++ b/Legacy/Instrument_Drivers/design_files/Keithley_2230G.ui @@ -0,0 +1,4522 @@ + + + MainWindow + + + + 0 + 0 + 1006 + 508 + + + + Keithley 2230G + + + + + + 700 + 300 + 81 + 17 + + + + Disable plots + + + + + + 521 + 300 + 81 + 16 + + + + # points to plot + + + + + + 610 + 300 + 59 + 20 + + + + + + + 520 + 10 + 471 + 281 + + + + + + + 10 + 10 + 314 + 57 + + + + + + + Device Adress + + + + + + + true + + + + 0 + 0 + + + + + + + + File Path + + + + + + + + 0 + 0 + + + + + + + + Save + + + + + + + Connect + + + + + + + + + 10 + 70 + 121 + 22 + + + + + + + Save interval [s] + + + + + + + + 0 + 0 + + + + + + + + + + 10 + 130 + 81 + 16 + + + + + 75 + true + + + + Channel 1 + + + + + + 179 + 260 + 121 + 71 + + + + + + + V CH2 [V] + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + I CH2 [A] + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + P CH2 [W] + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + 9 + 240 + 81 + 16 + + + + + 75 + true + + + + Channel 2 + + + + + + 10 + 260 + 141 + 73 + + + + + + + V set CH2 [V] + + + + + + + + 0 + 0 + + + + + + + + I set CH2 [A] + + + + + + + + 0 + 0 + + + + + + + + CH2 Output On + + + + + + + + + 179 + 370 + 121 + 71 + + + + + + + V CH3 [V] + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + I CH3 [A] + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + P CH3 [W] + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + 9 + 350 + 81 + 16 + + + + + 75 + true + + + + Channel 3 + + + + + + 10 + 370 + 141 + 73 + + + + + + + V set CH3 [V] + + + + + + + + 0 + 0 + + + + + + + + I set CH3 [A] + + + + + + + + 0 + 0 + + + + + + + + CH3 Output On + + + + + + + + + 330 + 240 + 58 + 87 + + + + + + + Plot + + + + + + + V CH2 + + + true + + + + + + + I CH2 + + + true + + + + + + + P CH2 + + + true + + + + + + + + + 330 + 350 + 58 + 87 + + + + + + + Plot + + + + + + + V CH3 + + + true + + + + + + + I CH3 + + + true + + + + + + + P CH3 + + + true + + + + + + + + + 180 + 150 + 121 + 71 + + + + + + + V CH1 [V] + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + I CH1 [A] + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + P CH1 [W] + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + 11 + 150 + 141 + 73 + + + + + + + V set CH1 [V] + + + + + + + + 0 + 0 + + + + + + + + I set CH1 [A] + + + + + + + + 0 + 0 + + + + + + + + CH1 Output On + + + + + + + + + 330 + 130 + 58 + 87 + + + + + + + Plot + + + + + + + V CH1 + + + true + + + + + + + I CH1 + + + true + + + + + + + P CH1 + + + true + + + + + + + + + + 0 + 0 + 1006 + 26 + + + + + File + + + + + + + + + + Make current values default + + + + + Reset default values + + + + + + PlotWidget + QWidget +
pyqtgraph
+ 1 +
+
+ + line_devAdr + button_connect + line_filePath + checkBox_save + line_saveInterval + checkBox_disableplots + checkBox_V_1 + checkBox_I_1 + checkBox_P_1 + line_Nplot + + + +
diff --git a/Legacy/Instrument_Drivers/design_files/Keithley_2230G_design.py b/Legacy/Instrument_Drivers/design_files/Keithley_2230G_design.py new file mode 100644 index 0000000..eac08b4 --- /dev/null +++ b/Legacy/Instrument_Drivers/design_files/Keithley_2230G_design.py @@ -0,0 +1,1677 @@ +# Form implementation generated from reading ui file 'Keithley_2230G.ui' +# +# Created by: PyQt6 UI code generator 6.6.1 +# +# WARNING: Any manual changes made to this file will be lost when pyuic6 is +# run again. Do not edit this file unless you know what you are doing. + + +from PyQt6 import QtCore, QtGui, QtWidgets + + +class Ui_MainWindow(object): + def setupUi(self, MainWindow): + MainWindow.setObjectName("MainWindow") + MainWindow.resize(1006, 508) + self.centralwidget = QtWidgets.QWidget(parent=MainWindow) + self.centralwidget.setObjectName("centralwidget") + self.checkBox_disableplots = QtWidgets.QCheckBox(parent=self.centralwidget) + self.checkBox_disableplots.setGeometry(QtCore.QRect(700, 300, 81, 17)) + self.checkBox_disableplots.setObjectName("checkBox_disableplots") + self.label_5 = QtWidgets.QLabel(parent=self.centralwidget) + self.label_5.setGeometry(QtCore.QRect(521, 300, 81, 16)) + self.label_5.setObjectName("label_5") + self.line_Nplot = QtWidgets.QLineEdit(parent=self.centralwidget) + self.line_Nplot.setGeometry(QtCore.QRect(610, 300, 59, 20)) + self.line_Nplot.setObjectName("line_Nplot") + self.graphWidget = PlotWidget(parent=self.centralwidget) + self.graphWidget.setGeometry(QtCore.QRect(520, 10, 471, 281)) + self.graphWidget.setObjectName("graphWidget") + self.layoutWidget = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget.setGeometry(QtCore.QRect(10, 10, 314, 57)) + self.layoutWidget.setObjectName("layoutWidget") + self.gridLayout_2 = QtWidgets.QGridLayout(self.layoutWidget) + self.gridLayout_2.setContentsMargins(0, 0, 0, 0) + self.gridLayout_2.setObjectName("gridLayout_2") + self.label_6 = QtWidgets.QLabel(parent=self.layoutWidget) + self.label_6.setObjectName("label_6") + self.gridLayout_2.addWidget(self.label_6, 0, 0, 1, 1) + self.line_devAdr = QtWidgets.QLineEdit(parent=self.layoutWidget) + self.line_devAdr.setEnabled(True) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_devAdr.sizePolicy().hasHeightForWidth()) + self.line_devAdr.setSizePolicy(sizePolicy) + self.line_devAdr.setObjectName("line_devAdr") + self.gridLayout_2.addWidget(self.line_devAdr, 0, 1, 1, 1) + self.label_7 = QtWidgets.QLabel(parent=self.layoutWidget) + self.label_7.setObjectName("label_7") + self.gridLayout_2.addWidget(self.label_7, 1, 0, 1, 1) + self.line_filePath = QtWidgets.QLineEdit(parent=self.layoutWidget) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_filePath.sizePolicy().hasHeightForWidth()) + self.line_filePath.setSizePolicy(sizePolicy) + self.line_filePath.setObjectName("line_filePath") + self.gridLayout_2.addWidget(self.line_filePath, 1, 1, 1, 1) + self.checkBox_save = QtWidgets.QCheckBox(parent=self.layoutWidget) + self.checkBox_save.setObjectName("checkBox_save") + self.gridLayout_2.addWidget(self.checkBox_save, 1, 2, 1, 1) + self.button_connect = QtWidgets.QPushButton(parent=self.layoutWidget) + self.button_connect.setObjectName("button_connect") + self.gridLayout_2.addWidget(self.button_connect, 0, 2, 1, 1) + self.layoutWidget_2 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget_2.setGeometry(QtCore.QRect(10, 70, 121, 22)) + self.layoutWidget_2.setObjectName("layoutWidget_2") + self.gridLayout_3 = QtWidgets.QGridLayout(self.layoutWidget_2) + self.gridLayout_3.setContentsMargins(0, 0, 0, 0) + self.gridLayout_3.setObjectName("gridLayout_3") + self.label_15 = QtWidgets.QLabel(parent=self.layoutWidget_2) + self.label_15.setObjectName("label_15") + self.gridLayout_3.addWidget(self.label_15, 0, 0, 1, 1) + self.line_saveInterval = QtWidgets.QLineEdit(parent=self.layoutWidget_2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_saveInterval.sizePolicy().hasHeightForWidth()) + self.line_saveInterval.setSizePolicy(sizePolicy) + self.line_saveInterval.setObjectName("line_saveInterval") + self.gridLayout_3.addWidget(self.line_saveInterval, 0, 1, 1, 1) + self.label = QtWidgets.QLabel(parent=self.centralwidget) + self.label.setGeometry(QtCore.QRect(10, 130, 81, 16)) + font = QtGui.QFont() + font.setBold(True) + font.setWeight(75) + self.label.setFont(font) + self.label.setObjectName("label") + self.layoutWidget_3 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget_3.setGeometry(QtCore.QRect(179, 260, 121, 71)) + self.layoutWidget_3.setObjectName("layoutWidget_3") + self.gridLayout_6 = QtWidgets.QGridLayout(self.layoutWidget_3) + self.gridLayout_6.setContentsMargins(0, 0, 0, 0) + self.gridLayout_6.setObjectName("gridLayout_6") + self.label_21 = QtWidgets.QLabel(parent=self.layoutWidget_3) + self.label_21.setObjectName("label_21") + self.gridLayout_6.addWidget(self.label_21, 0, 0, 1, 1) + self.V_2 = QtWidgets.QLabel(parent=self.layoutWidget_3) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.V_2.setPalette(palette) + self.V_2.setAutoFillBackground(True) + self.V_2.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.V_2.setObjectName("V_2") + self.gridLayout_6.addWidget(self.V_2, 0, 1, 1, 1) + self.label_22 = QtWidgets.QLabel(parent=self.layoutWidget_3) + self.label_22.setObjectName("label_22") + self.gridLayout_6.addWidget(self.label_22, 1, 0, 1, 1) + self.I_2 = QtWidgets.QLabel(parent=self.layoutWidget_3) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.I_2.setPalette(palette) + self.I_2.setAutoFillBackground(True) + self.I_2.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.I_2.setObjectName("I_2") + self.gridLayout_6.addWidget(self.I_2, 1, 1, 1, 1) + self.label_23 = QtWidgets.QLabel(parent=self.layoutWidget_3) + self.label_23.setObjectName("label_23") + self.gridLayout_6.addWidget(self.label_23, 2, 0, 1, 1) + self.P_2 = QtWidgets.QLabel(parent=self.layoutWidget_3) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.P_2.setPalette(palette) + self.P_2.setAutoFillBackground(True) + self.P_2.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.P_2.setObjectName("P_2") + self.gridLayout_6.addWidget(self.P_2, 2, 1, 1, 1) + self.label_2 = QtWidgets.QLabel(parent=self.centralwidget) + self.label_2.setGeometry(QtCore.QRect(9, 240, 81, 16)) + font = QtGui.QFont() + font.setBold(True) + font.setWeight(75) + self.label_2.setFont(font) + self.label_2.setObjectName("label_2") + self.layoutWidget_4 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget_4.setGeometry(QtCore.QRect(10, 260, 141, 73)) + self.layoutWidget_4.setObjectName("layoutWidget_4") + self.gridLayout_4 = QtWidgets.QGridLayout(self.layoutWidget_4) + self.gridLayout_4.setContentsMargins(0, 0, 0, 0) + self.gridLayout_4.setObjectName("gridLayout_4") + self.label_24 = QtWidgets.QLabel(parent=self.layoutWidget_4) + self.label_24.setObjectName("label_24") + self.gridLayout_4.addWidget(self.label_24, 0, 0, 1, 1) + self.V_set_2 = QtWidgets.QLineEdit(parent=self.layoutWidget_4) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.V_set_2.sizePolicy().hasHeightForWidth()) + self.V_set_2.setSizePolicy(sizePolicy) + self.V_set_2.setObjectName("V_set_2") + self.gridLayout_4.addWidget(self.V_set_2, 0, 1, 1, 1) + self.label_25 = QtWidgets.QLabel(parent=self.layoutWidget_4) + self.label_25.setObjectName("label_25") + self.gridLayout_4.addWidget(self.label_25, 1, 0, 1, 1) + self.I_set_2 = QtWidgets.QLineEdit(parent=self.layoutWidget_4) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.I_set_2.sizePolicy().hasHeightForWidth()) + self.I_set_2.setSizePolicy(sizePolicy) + self.I_set_2.setObjectName("I_set_2") + self.gridLayout_4.addWidget(self.I_set_2, 1, 1, 1, 1) + self.Output_2 = QtWidgets.QCheckBox(parent=self.layoutWidget_4) + self.Output_2.setObjectName("Output_2") + self.gridLayout_4.addWidget(self.Output_2, 2, 0, 1, 2) + self.layoutWidget_5 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget_5.setGeometry(QtCore.QRect(179, 370, 121, 71)) + self.layoutWidget_5.setObjectName("layoutWidget_5") + self.gridLayout_7 = QtWidgets.QGridLayout(self.layoutWidget_5) + self.gridLayout_7.setContentsMargins(0, 0, 0, 0) + self.gridLayout_7.setObjectName("gridLayout_7") + self.label_26 = QtWidgets.QLabel(parent=self.layoutWidget_5) + self.label_26.setObjectName("label_26") + self.gridLayout_7.addWidget(self.label_26, 0, 0, 1, 1) + self.V_3 = QtWidgets.QLabel(parent=self.layoutWidget_5) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.V_3.setPalette(palette) + self.V_3.setAutoFillBackground(True) + self.V_3.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.V_3.setObjectName("V_3") + self.gridLayout_7.addWidget(self.V_3, 0, 1, 1, 1) + self.label_27 = QtWidgets.QLabel(parent=self.layoutWidget_5) + self.label_27.setObjectName("label_27") + self.gridLayout_7.addWidget(self.label_27, 1, 0, 1, 1) + self.I_3 = QtWidgets.QLabel(parent=self.layoutWidget_5) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.I_3.setPalette(palette) + self.I_3.setAutoFillBackground(True) + self.I_3.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.I_3.setObjectName("I_3") + self.gridLayout_7.addWidget(self.I_3, 1, 1, 1, 1) + self.label_28 = QtWidgets.QLabel(parent=self.layoutWidget_5) + self.label_28.setObjectName("label_28") + self.gridLayout_7.addWidget(self.label_28, 2, 0, 1, 1) + self.P_3 = QtWidgets.QLabel(parent=self.layoutWidget_5) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.P_3.setPalette(palette) + self.P_3.setAutoFillBackground(True) + self.P_3.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.P_3.setObjectName("P_3") + self.gridLayout_7.addWidget(self.P_3, 2, 1, 1, 1) + self.label_3 = QtWidgets.QLabel(parent=self.centralwidget) + self.label_3.setGeometry(QtCore.QRect(9, 350, 81, 16)) + font = QtGui.QFont() + font.setBold(True) + font.setWeight(75) + self.label_3.setFont(font) + self.label_3.setObjectName("label_3") + self.layoutWidget_6 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget_6.setGeometry(QtCore.QRect(10, 370, 141, 73)) + self.layoutWidget_6.setObjectName("layoutWidget_6") + self.gridLayout_8 = QtWidgets.QGridLayout(self.layoutWidget_6) + self.gridLayout_8.setContentsMargins(0, 0, 0, 0) + self.gridLayout_8.setObjectName("gridLayout_8") + self.label_29 = QtWidgets.QLabel(parent=self.layoutWidget_6) + self.label_29.setObjectName("label_29") + self.gridLayout_8.addWidget(self.label_29, 0, 0, 1, 1) + self.V_set_3 = QtWidgets.QLineEdit(parent=self.layoutWidget_6) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.V_set_3.sizePolicy().hasHeightForWidth()) + self.V_set_3.setSizePolicy(sizePolicy) + self.V_set_3.setObjectName("V_set_3") + self.gridLayout_8.addWidget(self.V_set_3, 0, 1, 1, 1) + self.label_30 = QtWidgets.QLabel(parent=self.layoutWidget_6) + self.label_30.setObjectName("label_30") + self.gridLayout_8.addWidget(self.label_30, 1, 0, 1, 1) + self.I_set_3 = QtWidgets.QLineEdit(parent=self.layoutWidget_6) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.I_set_3.sizePolicy().hasHeightForWidth()) + self.I_set_3.setSizePolicy(sizePolicy) + self.I_set_3.setObjectName("I_set_3") + self.gridLayout_8.addWidget(self.I_set_3, 1, 1, 1, 1) + self.Output_3 = QtWidgets.QCheckBox(parent=self.layoutWidget_6) + self.Output_3.setObjectName("Output_3") + self.gridLayout_8.addWidget(self.Output_3, 2, 0, 1, 2) + self.layoutWidget_7 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget_7.setGeometry(QtCore.QRect(330, 240, 58, 87)) + self.layoutWidget_7.setObjectName("layoutWidget_7") + self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.layoutWidget_7) + self.verticalLayout_2.setContentsMargins(0, 0, 0, 0) + self.verticalLayout_2.setObjectName("verticalLayout_2") + self.label_8 = QtWidgets.QLabel(parent=self.layoutWidget_7) + self.label_8.setObjectName("label_8") + self.verticalLayout_2.addWidget(self.label_8) + self.checkBox_V_2 = QtWidgets.QCheckBox(parent=self.layoutWidget_7) + self.checkBox_V_2.setChecked(True) + self.checkBox_V_2.setObjectName("checkBox_V_2") + self.verticalLayout_2.addWidget(self.checkBox_V_2) + self.checkBox_I_2 = QtWidgets.QCheckBox(parent=self.layoutWidget_7) + self.checkBox_I_2.setChecked(True) + self.checkBox_I_2.setObjectName("checkBox_I_2") + self.verticalLayout_2.addWidget(self.checkBox_I_2) + self.checkBox_P_2 = QtWidgets.QCheckBox(parent=self.layoutWidget_7) + self.checkBox_P_2.setChecked(True) + self.checkBox_P_2.setObjectName("checkBox_P_2") + self.verticalLayout_2.addWidget(self.checkBox_P_2) + self.layoutWidget_8 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget_8.setGeometry(QtCore.QRect(330, 350, 58, 87)) + self.layoutWidget_8.setObjectName("layoutWidget_8") + self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.layoutWidget_8) + self.verticalLayout_3.setContentsMargins(0, 0, 0, 0) + self.verticalLayout_3.setObjectName("verticalLayout_3") + self.label_9 = QtWidgets.QLabel(parent=self.layoutWidget_8) + self.label_9.setObjectName("label_9") + self.verticalLayout_3.addWidget(self.label_9) + self.checkBox_V_3 = QtWidgets.QCheckBox(parent=self.layoutWidget_8) + self.checkBox_V_3.setChecked(True) + self.checkBox_V_3.setObjectName("checkBox_V_3") + self.verticalLayout_3.addWidget(self.checkBox_V_3) + self.checkBox_I_3 = QtWidgets.QCheckBox(parent=self.layoutWidget_8) + self.checkBox_I_3.setChecked(True) + self.checkBox_I_3.setObjectName("checkBox_I_3") + self.verticalLayout_3.addWidget(self.checkBox_I_3) + self.checkBox_P_3 = QtWidgets.QCheckBox(parent=self.layoutWidget_8) + self.checkBox_P_3.setChecked(True) + self.checkBox_P_3.setObjectName("checkBox_P_3") + self.verticalLayout_3.addWidget(self.checkBox_P_3) + self.layoutWidget1 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget1.setGeometry(QtCore.QRect(180, 150, 121, 71)) + self.layoutWidget1.setObjectName("layoutWidget1") + self.gridLayout_5 = QtWidgets.QGridLayout(self.layoutWidget1) + self.gridLayout_5.setContentsMargins(0, 0, 0, 0) + self.gridLayout_5.setObjectName("gridLayout_5") + self.label_19 = QtWidgets.QLabel(parent=self.layoutWidget1) + self.label_19.setObjectName("label_19") + self.gridLayout_5.addWidget(self.label_19, 0, 0, 1, 1) + self.V_1 = QtWidgets.QLabel(parent=self.layoutWidget1) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.V_1.setPalette(palette) + self.V_1.setAutoFillBackground(True) + self.V_1.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.V_1.setObjectName("V_1") + self.gridLayout_5.addWidget(self.V_1, 0, 1, 1, 1) + self.label_18 = QtWidgets.QLabel(parent=self.layoutWidget1) + self.label_18.setObjectName("label_18") + self.gridLayout_5.addWidget(self.label_18, 1, 0, 1, 1) + self.I_1 = QtWidgets.QLabel(parent=self.layoutWidget1) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.I_1.setPalette(palette) + self.I_1.setAutoFillBackground(True) + self.I_1.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.I_1.setObjectName("I_1") + self.gridLayout_5.addWidget(self.I_1, 1, 1, 1, 1) + self.label_20 = QtWidgets.QLabel(parent=self.layoutWidget1) + self.label_20.setObjectName("label_20") + self.gridLayout_5.addWidget(self.label_20, 2, 0, 1, 1) + self.P_1 = QtWidgets.QLabel(parent=self.layoutWidget1) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.P_1.setPalette(palette) + self.P_1.setAutoFillBackground(True) + self.P_1.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.P_1.setObjectName("P_1") + self.gridLayout_5.addWidget(self.P_1, 2, 1, 1, 1) + self.layoutWidget2 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget2.setGeometry(QtCore.QRect(11, 150, 141, 73)) + self.layoutWidget2.setObjectName("layoutWidget2") + self.gridLayout = QtWidgets.QGridLayout(self.layoutWidget2) + self.gridLayout.setContentsMargins(0, 0, 0, 0) + self.gridLayout.setObjectName("gridLayout") + self.label_16 = QtWidgets.QLabel(parent=self.layoutWidget2) + self.label_16.setObjectName("label_16") + self.gridLayout.addWidget(self.label_16, 0, 0, 1, 1) + self.V_set_1 = QtWidgets.QLineEdit(parent=self.layoutWidget2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.V_set_1.sizePolicy().hasHeightForWidth()) + self.V_set_1.setSizePolicy(sizePolicy) + self.V_set_1.setObjectName("V_set_1") + self.gridLayout.addWidget(self.V_set_1, 0, 1, 1, 1) + self.label_17 = QtWidgets.QLabel(parent=self.layoutWidget2) + self.label_17.setObjectName("label_17") + self.gridLayout.addWidget(self.label_17, 1, 0, 1, 1) + self.I_set_1 = QtWidgets.QLineEdit(parent=self.layoutWidget2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.I_set_1.sizePolicy().hasHeightForWidth()) + self.I_set_1.setSizePolicy(sizePolicy) + self.I_set_1.setObjectName("I_set_1") + self.gridLayout.addWidget(self.I_set_1, 1, 1, 1, 1) + self.Output_1 = QtWidgets.QCheckBox(parent=self.layoutWidget2) + self.Output_1.setObjectName("Output_1") + self.gridLayout.addWidget(self.Output_1, 2, 0, 1, 2) + self.layoutWidget3 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget3.setGeometry(QtCore.QRect(330, 130, 58, 87)) + self.layoutWidget3.setObjectName("layoutWidget3") + self.verticalLayout = QtWidgets.QVBoxLayout(self.layoutWidget3) + self.verticalLayout.setContentsMargins(0, 0, 0, 0) + self.verticalLayout.setObjectName("verticalLayout") + self.label_4 = QtWidgets.QLabel(parent=self.layoutWidget3) + self.label_4.setObjectName("label_4") + self.verticalLayout.addWidget(self.label_4) + self.checkBox_V_1 = QtWidgets.QCheckBox(parent=self.layoutWidget3) + self.checkBox_V_1.setChecked(True) + self.checkBox_V_1.setObjectName("checkBox_V_1") + self.verticalLayout.addWidget(self.checkBox_V_1) + self.checkBox_I_1 = QtWidgets.QCheckBox(parent=self.layoutWidget3) + self.checkBox_I_1.setChecked(True) + self.checkBox_I_1.setObjectName("checkBox_I_1") + self.verticalLayout.addWidget(self.checkBox_I_1) + self.checkBox_P_1 = QtWidgets.QCheckBox(parent=self.layoutWidget3) + self.checkBox_P_1.setChecked(True) + self.checkBox_P_1.setObjectName("checkBox_P_1") + self.verticalLayout.addWidget(self.checkBox_P_1) + MainWindow.setCentralWidget(self.centralwidget) + self.menubar = QtWidgets.QMenuBar(parent=MainWindow) + self.menubar.setGeometry(QtCore.QRect(0, 0, 1006, 26)) + self.menubar.setObjectName("menubar") + self.menuFile = QtWidgets.QMenu(parent=self.menubar) + self.menuFile.setObjectName("menuFile") + MainWindow.setMenuBar(self.menubar) + self.statusbar = QtWidgets.QStatusBar(parent=MainWindow) + self.statusbar.setObjectName("statusbar") + MainWindow.setStatusBar(self.statusbar) + self.actionSet_default = QtGui.QAction(parent=MainWindow) + self.actionSet_default.setObjectName("actionSet_default") + self.actionReset_default = QtGui.QAction(parent=MainWindow) + self.actionReset_default.setObjectName("actionReset_default") + self.menuFile.addAction(self.actionSet_default) + self.menuFile.addAction(self.actionReset_default) + self.menubar.addAction(self.menuFile.menuAction()) + + self.retranslateUi(MainWindow) + QtCore.QMetaObject.connectSlotsByName(MainWindow) + MainWindow.setTabOrder(self.line_devAdr, self.button_connect) + MainWindow.setTabOrder(self.button_connect, self.line_filePath) + MainWindow.setTabOrder(self.line_filePath, self.checkBox_save) + MainWindow.setTabOrder(self.checkBox_save, self.line_saveInterval) + MainWindow.setTabOrder(self.line_saveInterval, self.checkBox_disableplots) + MainWindow.setTabOrder(self.checkBox_disableplots, self.checkBox_V_1) + MainWindow.setTabOrder(self.checkBox_V_1, self.checkBox_I_1) + MainWindow.setTabOrder(self.checkBox_I_1, self.checkBox_P_1) + MainWindow.setTabOrder(self.checkBox_P_1, self.line_Nplot) + + def retranslateUi(self, MainWindow): + _translate = QtCore.QCoreApplication.translate + MainWindow.setWindowTitle(_translate("MainWindow", "Keithley 2230G")) + self.checkBox_disableplots.setText(_translate("MainWindow", "Disable plots")) + self.label_5.setText(_translate("MainWindow", "# points to plot")) + self.label_6.setText(_translate("MainWindow", "Device Adress")) + self.label_7.setText(_translate("MainWindow", "File Path")) + self.checkBox_save.setText(_translate("MainWindow", "Save")) + self.button_connect.setText(_translate("MainWindow", "Connect")) + self.label_15.setText(_translate("MainWindow", "Save interval [s]")) + self.label.setText(_translate("MainWindow", "Channel 1")) + self.label_21.setText(_translate("MainWindow", "V CH2 [V]")) + self.V_2.setText(_translate("MainWindow", "0")) + self.label_22.setText(_translate("MainWindow", "I CH2 [A]")) + self.I_2.setText(_translate("MainWindow", "0")) + self.label_23.setText(_translate("MainWindow", "P CH2 [W]")) + self.P_2.setText(_translate("MainWindow", "0")) + self.label_2.setText(_translate("MainWindow", "Channel 2")) + self.label_24.setText(_translate("MainWindow", "V set CH2 [V]")) + self.label_25.setText(_translate("MainWindow", "I set CH2 [A]")) + self.Output_2.setText(_translate("MainWindow", "CH2 Output On")) + self.label_26.setText(_translate("MainWindow", "V CH3 [V]")) + self.V_3.setText(_translate("MainWindow", "0")) + self.label_27.setText(_translate("MainWindow", "I CH3 [A]")) + self.I_3.setText(_translate("MainWindow", "0")) + self.label_28.setText(_translate("MainWindow", "P CH3 [W]")) + self.P_3.setText(_translate("MainWindow", "0")) + self.label_3.setText(_translate("MainWindow", "Channel 3")) + self.label_29.setText(_translate("MainWindow", "V set CH3 [V]")) + self.label_30.setText(_translate("MainWindow", "I set CH3 [A]")) + self.Output_3.setText(_translate("MainWindow", "CH3 Output On")) + self.label_8.setText(_translate("MainWindow", "Plot")) + self.checkBox_V_2.setText(_translate("MainWindow", "V CH2")) + self.checkBox_I_2.setText(_translate("MainWindow", "I CH2")) + self.checkBox_P_2.setText(_translate("MainWindow", "P CH2")) + self.label_9.setText(_translate("MainWindow", "Plot")) + self.checkBox_V_3.setText(_translate("MainWindow", "V CH3")) + self.checkBox_I_3.setText(_translate("MainWindow", "I CH3")) + self.checkBox_P_3.setText(_translate("MainWindow", "P CH3")) + self.label_19.setText(_translate("MainWindow", "V CH1 [V]")) + self.V_1.setText(_translate("MainWindow", "0")) + self.label_18.setText(_translate("MainWindow", "I CH1 [A]")) + self.I_1.setText(_translate("MainWindow", "0")) + self.label_20.setText(_translate("MainWindow", "P CH1 [W]")) + self.P_1.setText(_translate("MainWindow", "0")) + self.label_16.setText(_translate("MainWindow", "V set CH1 [V]")) + self.label_17.setText(_translate("MainWindow", "I set CH1 [A]")) + self.Output_1.setText(_translate("MainWindow", "CH1 Output On")) + self.label_4.setText(_translate("MainWindow", "Plot")) + self.checkBox_V_1.setText(_translate("MainWindow", "V CH1")) + self.checkBox_I_1.setText(_translate("MainWindow", "I CH1")) + self.checkBox_P_1.setText(_translate("MainWindow", "P CH1")) + self.menuFile.setTitle(_translate("MainWindow", "File")) + self.actionSet_default.setText(_translate("MainWindow", "Make current values default")) + self.actionReset_default.setText(_translate("MainWindow", "Reset default values")) +from pyqtgraph import PlotWidget + + +if __name__ == "__main__": + import sys + app = QtWidgets.QApplication(sys.argv) + MainWindow = QtWidgets.QMainWindow() + ui = Ui_MainWindow() + ui.setupUi(MainWindow) + MainWindow.show() + sys.exit(app.exec()) diff --git a/Legacy/Instrument_Drivers/design_files/Keysight_34461A.ui b/Legacy/Instrument_Drivers/design_files/Keysight_34461A.ui new file mode 100644 index 0000000..041f554 --- /dev/null +++ b/Legacy/Instrument_Drivers/design_files/Keysight_34461A.ui @@ -0,0 +1,1624 @@ + + + MainWindow + + + + 0 + 0 + 787 + 391 + + + + Multimeter + + + + + + 320 + 10 + 431 + 281 + + + + + + + 200 + 270 + 91 + 17 + + + + Disable plot + + + + + + 291 + 301 + 81 + 16 + + + + # points to plot + + + + + + 390 + 300 + 59 + 20 + + + + + + + 200 + 220 + 81 + 22 + + + + + Voltage + + + + + Current + + + + + Temp (34465 Only) + + + + + + + 10 + 110 + 121 + 68 + + + + + 10 + + + + + Temp [°C] + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + Voltage [V] + + + + + + + Current [A] + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + 11 + 11 + 290 + 51 + + + + + + + true + + + + 0 + 0 + + + + + + + + + 0 + 0 + + + + + + + + Device Adress + + + + + + + File Path + + + + + + + Save + + + + + + + Connect + + + + + + + + + 11 + 68 + 121 + 22 + + + + + + + Save interval [s] + + + + + + + + 0 + 0 + + + + + + + + + + 200 + 250 + 81 + 22 + + + + + RTD + + + + + FRTD + + + + + Fthermistor + + + + + Thermistor + + + + + TC E + + + + + TC J + + + + + TC K + + + + + TC N + + + + + TC R + + + + + TC T + + + + + + + 140 + 250 + 55 + 19 + + + + Sensor Type + + + + + + + 0 + 0 + 787 + 18 + + + + + File + + + + + + + + + + Make current values default + + + + + Reset default values + + + + + + PlotWidget + QWidget +
pyqtgraph
+ 1 +
+
+ + line_devAdr + button_connect + line_filePath + checkBox_save + line_saveInterval + comboBox_Plot + checkBox_disableplots + line_Nplot + + + +
diff --git a/Legacy/Instrument_Drivers/design_files/Keysight_34461A_design.py b/Legacy/Instrument_Drivers/design_files/Keysight_34461A_design.py new file mode 100644 index 0000000..2bd1df9 --- /dev/null +++ b/Legacy/Instrument_Drivers/design_files/Keysight_34461A_design.py @@ -0,0 +1,607 @@ +# Form implementation generated from reading ui file 'Keysight_34461A.ui' +# +# Created by: PyQt6 UI code generator 6.6.1 +# +# WARNING: Any manual changes made to this file will be lost when pyuic6 is +# run again. Do not edit this file unless you know what you are doing. + + +from PyQt6 import QtCore, QtGui, QtWidgets + + +class Ui_MainWindow(object): + def setupUi(self, MainWindow): + MainWindow.setObjectName("MainWindow") + MainWindow.resize(787, 391) + self.centralwidget = QtWidgets.QWidget(parent=MainWindow) + self.centralwidget.setObjectName("centralwidget") + self.graphWidget = PlotWidget(parent=self.centralwidget) + self.graphWidget.setGeometry(QtCore.QRect(320, 10, 431, 281)) + self.graphWidget.setObjectName("graphWidget") + self.checkBox_disableplots = QtWidgets.QCheckBox(parent=self.centralwidget) + self.checkBox_disableplots.setGeometry(QtCore.QRect(200, 270, 91, 17)) + self.checkBox_disableplots.setObjectName("checkBox_disableplots") + self.label_5 = QtWidgets.QLabel(parent=self.centralwidget) + self.label_5.setGeometry(QtCore.QRect(291, 301, 81, 16)) + self.label_5.setObjectName("label_5") + self.line_Nplot = QtWidgets.QLineEdit(parent=self.centralwidget) + self.line_Nplot.setGeometry(QtCore.QRect(390, 300, 59, 20)) + self.line_Nplot.setObjectName("line_Nplot") + self.comboBox_Plot = QtWidgets.QComboBox(parent=self.centralwidget) + self.comboBox_Plot.setGeometry(QtCore.QRect(200, 220, 81, 22)) + self.comboBox_Plot.setObjectName("comboBox_Plot") + self.comboBox_Plot.addItem("") + self.comboBox_Plot.addItem("") + self.comboBox_Plot.addItem("") + self.layoutWidget = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget.setGeometry(QtCore.QRect(10, 110, 121, 68)) + self.layoutWidget.setObjectName("layoutWidget") + self.gridLayout = QtWidgets.QGridLayout(self.layoutWidget) + self.gridLayout.setContentsMargins(0, 0, 0, 0) + self.gridLayout.setHorizontalSpacing(10) + self.gridLayout.setObjectName("gridLayout") + self.label_10 = QtWidgets.QLabel(parent=self.layoutWidget) + self.label_10.setObjectName("label_10") + self.gridLayout.addWidget(self.label_10, 2, 0, 1, 1) + self.line_A = QtWidgets.QLabel(parent=self.layoutWidget) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.line_A.setPalette(palette) + self.line_A.setAutoFillBackground(True) + self.line_A.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.line_A.setObjectName("line_A") + self.gridLayout.addWidget(self.line_A, 1, 1, 1, 1) + self.line_V = QtWidgets.QLabel(parent=self.layoutWidget) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.line_V.setPalette(palette) + self.line_V.setAutoFillBackground(True) + self.line_V.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.line_V.setObjectName("line_V") + self.gridLayout.addWidget(self.line_V, 0, 1, 1, 1) + self.label = QtWidgets.QLabel(parent=self.layoutWidget) + self.label.setObjectName("label") + self.gridLayout.addWidget(self.label, 0, 0, 1, 1) + self.label_9 = QtWidgets.QLabel(parent=self.layoutWidget) + self.label_9.setObjectName("label_9") + self.gridLayout.addWidget(self.label_9, 1, 0, 1, 1) + self.line_Temp = QtWidgets.QLabel(parent=self.layoutWidget) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.line_Temp.setPalette(palette) + self.line_Temp.setAutoFillBackground(True) + self.line_Temp.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.line_Temp.setObjectName("line_Temp") + self.gridLayout.addWidget(self.line_Temp, 2, 1, 1, 1) + self.layoutWidget_2 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget_2.setGeometry(QtCore.QRect(11, 11, 290, 51)) + self.layoutWidget_2.setObjectName("layoutWidget_2") + self.gridLayout_2 = QtWidgets.QGridLayout(self.layoutWidget_2) + self.gridLayout_2.setContentsMargins(0, 0, 0, 0) + self.gridLayout_2.setObjectName("gridLayout_2") + self.line_devAdr = QtWidgets.QLineEdit(parent=self.layoutWidget_2) + self.line_devAdr.setEnabled(True) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_devAdr.sizePolicy().hasHeightForWidth()) + self.line_devAdr.setSizePolicy(sizePolicy) + self.line_devAdr.setObjectName("line_devAdr") + self.gridLayout_2.addWidget(self.line_devAdr, 0, 1, 1, 1) + self.line_filePath = QtWidgets.QLineEdit(parent=self.layoutWidget_2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_filePath.sizePolicy().hasHeightForWidth()) + self.line_filePath.setSizePolicy(sizePolicy) + self.line_filePath.setObjectName("line_filePath") + self.gridLayout_2.addWidget(self.line_filePath, 1, 1, 1, 1) + self.label_6 = QtWidgets.QLabel(parent=self.layoutWidget_2) + self.label_6.setObjectName("label_6") + self.gridLayout_2.addWidget(self.label_6, 0, 0, 1, 1) + self.label_7 = QtWidgets.QLabel(parent=self.layoutWidget_2) + self.label_7.setObjectName("label_7") + self.gridLayout_2.addWidget(self.label_7, 1, 0, 1, 1) + self.checkBox_save = QtWidgets.QCheckBox(parent=self.layoutWidget_2) + self.checkBox_save.setObjectName("checkBox_save") + self.gridLayout_2.addWidget(self.checkBox_save, 1, 2, 1, 1) + self.button_connect = QtWidgets.QPushButton(parent=self.layoutWidget_2) + self.button_connect.setObjectName("button_connect") + self.gridLayout_2.addWidget(self.button_connect, 0, 2, 1, 1) + self.layoutWidget1 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget1.setGeometry(QtCore.QRect(11, 68, 121, 22)) + self.layoutWidget1.setObjectName("layoutWidget1") + self.gridLayout_3 = QtWidgets.QGridLayout(self.layoutWidget1) + self.gridLayout_3.setContentsMargins(0, 0, 0, 0) + self.gridLayout_3.setObjectName("gridLayout_3") + self.label_2 = QtWidgets.QLabel(parent=self.layoutWidget1) + self.label_2.setObjectName("label_2") + self.gridLayout_3.addWidget(self.label_2, 0, 0, 1, 1) + self.line_saveInterval = QtWidgets.QLineEdit(parent=self.layoutWidget1) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_saveInterval.sizePolicy().hasHeightForWidth()) + self.line_saveInterval.setSizePolicy(sizePolicy) + self.line_saveInterval.setObjectName("line_saveInterval") + self.gridLayout_3.addWidget(self.line_saveInterval, 0, 1, 1, 1) + self.comboBox_sensor = QtWidgets.QComboBox(parent=self.centralwidget) + self.comboBox_sensor.setGeometry(QtCore.QRect(200, 250, 81, 22)) + self.comboBox_sensor.setObjectName("comboBox_sensor") + self.comboBox_sensor.addItem("") + self.comboBox_sensor.addItem("") + self.comboBox_sensor.addItem("") + self.comboBox_sensor.addItem("") + self.comboBox_sensor.addItem("") + self.comboBox_sensor.addItem("") + self.comboBox_sensor.addItem("") + self.comboBox_sensor.addItem("") + self.comboBox_sensor.addItem("") + self.comboBox_sensor.addItem("") + self.label_11 = QtWidgets.QLabel(parent=self.centralwidget) + self.label_11.setGeometry(QtCore.QRect(140, 250, 55, 19)) + self.label_11.setObjectName("label_11") + MainWindow.setCentralWidget(self.centralwidget) + self.menubar = QtWidgets.QMenuBar(parent=MainWindow) + self.menubar.setGeometry(QtCore.QRect(0, 0, 787, 18)) + self.menubar.setObjectName("menubar") + self.menuFile = QtWidgets.QMenu(parent=self.menubar) + self.menuFile.setObjectName("menuFile") + MainWindow.setMenuBar(self.menubar) + self.statusbar = QtWidgets.QStatusBar(parent=MainWindow) + self.statusbar.setObjectName("statusbar") + MainWindow.setStatusBar(self.statusbar) + self.actionSet_default = QtGui.QAction(parent=MainWindow) + self.actionSet_default.setObjectName("actionSet_default") + self.actionReset_default = QtGui.QAction(parent=MainWindow) + self.actionReset_default.setObjectName("actionReset_default") + self.menuFile.addAction(self.actionSet_default) + self.menuFile.addAction(self.actionReset_default) + self.menubar.addAction(self.menuFile.menuAction()) + + self.retranslateUi(MainWindow) + QtCore.QMetaObject.connectSlotsByName(MainWindow) + MainWindow.setTabOrder(self.line_devAdr, self.button_connect) + MainWindow.setTabOrder(self.button_connect, self.line_filePath) + MainWindow.setTabOrder(self.line_filePath, self.checkBox_save) + MainWindow.setTabOrder(self.checkBox_save, self.line_saveInterval) + MainWindow.setTabOrder(self.line_saveInterval, self.comboBox_Plot) + MainWindow.setTabOrder(self.comboBox_Plot, self.checkBox_disableplots) + MainWindow.setTabOrder(self.checkBox_disableplots, self.line_Nplot) + + def retranslateUi(self, MainWindow): + _translate = QtCore.QCoreApplication.translate + MainWindow.setWindowTitle(_translate("MainWindow", "Multimeter")) + self.checkBox_disableplots.setText(_translate("MainWindow", "Disable plot")) + self.label_5.setText(_translate("MainWindow", "# points to plot")) + self.comboBox_Plot.setItemText(0, _translate("MainWindow", "Voltage")) + self.comboBox_Plot.setItemText(1, _translate("MainWindow", "Current")) + self.comboBox_Plot.setItemText(2, _translate("MainWindow", "Temp (34465 Only)")) + self.label_10.setText(_translate("MainWindow", "Temp [°C]")) + self.line_A.setText(_translate("MainWindow", "0")) + self.line_V.setText(_translate("MainWindow", "0")) + self.label.setText(_translate("MainWindow", "Voltage [V]")) + self.label_9.setText(_translate("MainWindow", "Current [A]")) + self.line_Temp.setText(_translate("MainWindow", "0")) + self.label_6.setText(_translate("MainWindow", "Device Adress")) + self.label_7.setText(_translate("MainWindow", "File Path")) + self.checkBox_save.setText(_translate("MainWindow", "Save")) + self.button_connect.setText(_translate("MainWindow", "Connect")) + self.label_2.setText(_translate("MainWindow", "Save interval [s]")) + self.comboBox_sensor.setItemText(0, _translate("MainWindow", "RTD")) + self.comboBox_sensor.setItemText(1, _translate("MainWindow", "FRTD")) + self.comboBox_sensor.setItemText(2, _translate("MainWindow", "Fthermistor")) + self.comboBox_sensor.setItemText(3, _translate("MainWindow", "Thermistor")) + self.comboBox_sensor.setItemText(4, _translate("MainWindow", "TC E")) + self.comboBox_sensor.setItemText(5, _translate("MainWindow", "TC J")) + self.comboBox_sensor.setItemText(6, _translate("MainWindow", "TC K")) + self.comboBox_sensor.setItemText(7, _translate("MainWindow", "TC N")) + self.comboBox_sensor.setItemText(8, _translate("MainWindow", "TC R")) + self.comboBox_sensor.setItemText(9, _translate("MainWindow", "TC T")) + self.label_11.setText(_translate("MainWindow", "Sensor Type")) + self.menuFile.setTitle(_translate("MainWindow", "File")) + self.actionSet_default.setText(_translate("MainWindow", "Make current values default")) + self.actionReset_default.setText(_translate("MainWindow", "Reset default values")) +from pyqtgraph import PlotWidget diff --git a/Legacy/Instrument_Drivers/design_files/Keysight_U2042XA.ui b/Legacy/Instrument_Drivers/design_files/Keysight_U2042XA.ui new file mode 100644 index 0000000..caaa496 --- /dev/null +++ b/Legacy/Instrument_Drivers/design_files/Keysight_U2042XA.ui @@ -0,0 +1,930 @@ + + + Powermeter + + + + 0 + 0 + 787 + 481 + + + + PM Control + + + + + + 320 + 80 + 431 + 281 + + + + + + + 500 + 370 + 91 + 17 + + + + Disable plot + + + + + + 320 + 370 + 81 + 16 + + + + # points to plot + + + + + + 410 + 370 + 59 + 20 + + + + + + + 160 + 390 + 111 + 23 + + + + Update parameters + + + + + + 130 + 277 + 164 + 111 + + + + + + + Resolution + + + + + + + + High + + + + + Med + + + + + Low + + + + + + + + 1e-3 + + + + + + + Trig delay[s] + + + + + + + 1e-4 + + + + + + + Duration[s] + + + + + + + Trig Lev [dBm] + + + + + + + + + + + + 450 + 50 + 141 + 21 + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + Power [dBm] + + + + + + + + + 10 + 20 + 290 + 51 + + + + + + + File Path + + + + + + + Save + + + + + + + + 0 + 0 + + + + + + + + true + + + + 0 + 0 + + + + + + + + Device Adress + + + + + + + Connect + + + + + + + + + 10 + 110 + 185 + 72 + + + + + + + Calibrate on powerup + + + + + + + + 0 + 0 + + + + + + + + Attenuation input [dB] + + + + + + + + 0 + 0 + + + + + + + + Frequency [Hz] + + + + + + + + + + + + + + + + 190 + 250 + 61 + 21 + + + + + 12 + 75 + true + + + + Trace + + + Qt::AlignCenter + + + + + + 30 + 250 + 61 + 21 + + + + + 12 + 75 + true + + + + Pulse + + + Qt::AlignCenter + + + + + + 10 + 80 + 121 + 22 + + + + + + + Save interval [s] + + + + + + + + 0 + 0 + + + + + + + + + + 10 + 217 + 181 + 22 + + + + + 15 + + + + + Measurement mode + + + + + + + + CW + + + + + Pulse + + + + + Trace + + + + + + + + + + 11 + 280 + 111 + 22 + + + + + + + Dutycycle [%] + + + + + + + + 0 + 0 + + + + 1e-3 + + + + + + + + + + 0 + 0 + 787 + 21 + + + + + File + + + + + + + + + + Make current values default + + + + + Reset default values + + + + + + PlotWidget + QWidget +
pyqtgraph
+ 1 +
+
+ + line_devAdr + button_connect + line_filePath + checkBox_save + line_saveInterval + line_freq + line_ATT + checkBox_calibrate + comboBox_mode + line_Dutycycle + line_Duration + comboBox_res + line_TrigDelay + line_TrigLevel + button_updateTrace + line_Nplot + checkBox_disableplots + + + +
diff --git a/Legacy/Instrument_Drivers/design_files/Keysight_U2042XA_design.py b/Legacy/Instrument_Drivers/design_files/Keysight_U2042XA_design.py new file mode 100644 index 0000000..9b5cf2d --- /dev/null +++ b/Legacy/Instrument_Drivers/design_files/Keysight_U2042XA_design.py @@ -0,0 +1,428 @@ +# Form implementation generated from reading ui file 'Keysight_U2042XA.ui' +# +# Created by: PyQt6 UI code generator 6.6.1 +# +# WARNING: Any manual changes made to this file will be lost when pyuic6 is +# run again. Do not edit this file unless you know what you are doing. + + +from PyQt6 import QtCore, QtGui, QtWidgets + + +class Ui_Powermeter(object): + def setupUi(self, Powermeter): + Powermeter.setObjectName("Powermeter") + Powermeter.resize(787, 481) + self.centralwidget = QtWidgets.QWidget(parent=Powermeter) + self.centralwidget.setObjectName("centralwidget") + self.graphWidget_in = PlotWidget(parent=self.centralwidget) + self.graphWidget_in.setGeometry(QtCore.QRect(320, 80, 431, 281)) + self.graphWidget_in.setObjectName("graphWidget_in") + self.checkBox_disableplots = QtWidgets.QCheckBox(parent=self.centralwidget) + self.checkBox_disableplots.setGeometry(QtCore.QRect(500, 370, 91, 17)) + self.checkBox_disableplots.setObjectName("checkBox_disableplots") + self.label_5 = QtWidgets.QLabel(parent=self.centralwidget) + self.label_5.setGeometry(QtCore.QRect(320, 370, 81, 16)) + self.label_5.setObjectName("label_5") + self.line_Nplot = QtWidgets.QLineEdit(parent=self.centralwidget) + self.line_Nplot.setGeometry(QtCore.QRect(410, 370, 59, 20)) + self.line_Nplot.setObjectName("line_Nplot") + self.button_updateTrace = QtWidgets.QPushButton(parent=self.centralwidget) + self.button_updateTrace.setGeometry(QtCore.QRect(160, 390, 111, 23)) + self.button_updateTrace.setObjectName("button_updateTrace") + self.layoutWidget = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget.setGeometry(QtCore.QRect(130, 277, 164, 111)) + self.layoutWidget.setObjectName("layoutWidget") + self.gridLayout = QtWidgets.QGridLayout(self.layoutWidget) + self.gridLayout.setContentsMargins(0, 0, 0, 0) + self.gridLayout.setObjectName("gridLayout") + self.label_3 = QtWidgets.QLabel(parent=self.layoutWidget) + self.label_3.setObjectName("label_3") + self.gridLayout.addWidget(self.label_3, 1, 0, 1, 1) + self.comboBox_res = QtWidgets.QComboBox(parent=self.layoutWidget) + self.comboBox_res.setObjectName("comboBox_res") + self.comboBox_res.addItem("") + self.comboBox_res.addItem("") + self.comboBox_res.addItem("") + self.gridLayout.addWidget(self.comboBox_res, 1, 1, 1, 1) + self.line_Duration = QtWidgets.QLineEdit(parent=self.layoutWidget) + self.line_Duration.setObjectName("line_Duration") + self.gridLayout.addWidget(self.line_Duration, 0, 1, 1, 1) + self.label_4 = QtWidgets.QLabel(parent=self.layoutWidget) + self.label_4.setObjectName("label_4") + self.gridLayout.addWidget(self.label_4, 2, 0, 1, 1) + self.line_TrigDelay = QtWidgets.QLineEdit(parent=self.layoutWidget) + self.line_TrigDelay.setObjectName("line_TrigDelay") + self.gridLayout.addWidget(self.line_TrigDelay, 2, 1, 1, 1) + self.label_2 = QtWidgets.QLabel(parent=self.layoutWidget) + self.label_2.setObjectName("label_2") + self.gridLayout.addWidget(self.label_2, 0, 0, 1, 1) + self.label_8 = QtWidgets.QLabel(parent=self.layoutWidget) + self.label_8.setObjectName("label_8") + self.gridLayout.addWidget(self.label_8, 3, 0, 1, 1) + self.line_TrigLevel = QtWidgets.QLineEdit(parent=self.layoutWidget) + self.line_TrigLevel.setObjectName("line_TrigLevel") + self.gridLayout.addWidget(self.line_TrigLevel, 3, 1, 1, 1) + self.layoutWidget1 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget1.setGeometry(QtCore.QRect(450, 50, 141, 21)) + self.layoutWidget1.setObjectName("layoutWidget1") + self.gridLayout_2 = QtWidgets.QGridLayout(self.layoutWidget1) + self.gridLayout_2.setContentsMargins(0, 0, 0, 0) + self.gridLayout_2.setObjectName("gridLayout_2") + self.line_Power_in = QtWidgets.QLabel(parent=self.layoutWidget1) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.line_Power_in.setPalette(palette) + self.line_Power_in.setAutoFillBackground(True) + self.line_Power_in.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.line_Power_in.setObjectName("line_Power_in") + self.gridLayout_2.addWidget(self.line_Power_in, 0, 1, 1, 1) + self.label = QtWidgets.QLabel(parent=self.layoutWidget1) + self.label.setObjectName("label") + self.gridLayout_2.addWidget(self.label, 0, 0, 1, 1) + self.layoutWidget_3 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget_3.setGeometry(QtCore.QRect(10, 20, 290, 51)) + self.layoutWidget_3.setObjectName("layoutWidget_3") + self.gridLayout_4 = QtWidgets.QGridLayout(self.layoutWidget_3) + self.gridLayout_4.setContentsMargins(0, 0, 0, 0) + self.gridLayout_4.setObjectName("gridLayout_4") + self.label_7 = QtWidgets.QLabel(parent=self.layoutWidget_3) + self.label_7.setObjectName("label_7") + self.gridLayout_4.addWidget(self.label_7, 1, 0, 1, 1) + self.checkBox_save = QtWidgets.QCheckBox(parent=self.layoutWidget_3) + self.checkBox_save.setObjectName("checkBox_save") + self.gridLayout_4.addWidget(self.checkBox_save, 1, 2, 1, 1) + self.line_filePath = QtWidgets.QLineEdit(parent=self.layoutWidget_3) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_filePath.sizePolicy().hasHeightForWidth()) + self.line_filePath.setSizePolicy(sizePolicy) + self.line_filePath.setObjectName("line_filePath") + self.gridLayout_4.addWidget(self.line_filePath, 1, 1, 1, 1) + self.line_devAdr = QtWidgets.QLineEdit(parent=self.layoutWidget_3) + self.line_devAdr.setEnabled(True) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_devAdr.sizePolicy().hasHeightForWidth()) + self.line_devAdr.setSizePolicy(sizePolicy) + self.line_devAdr.setObjectName("line_devAdr") + self.gridLayout_4.addWidget(self.line_devAdr, 0, 1, 1, 1) + self.label_6 = QtWidgets.QLabel(parent=self.layoutWidget_3) + self.label_6.setObjectName("label_6") + self.gridLayout_4.addWidget(self.label_6, 0, 0, 1, 1) + self.button_connect = QtWidgets.QPushButton(parent=self.layoutWidget_3) + self.button_connect.setObjectName("button_connect") + self.gridLayout_4.addWidget(self.button_connect, 0, 2, 1, 1) + self.layoutWidget2 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget2.setGeometry(QtCore.QRect(10, 110, 185, 72)) + self.layoutWidget2.setObjectName("layoutWidget2") + self.gridLayout_3 = QtWidgets.QGridLayout(self.layoutWidget2) + self.gridLayout_3.setContentsMargins(0, 0, 0, 0) + self.gridLayout_3.setObjectName("gridLayout_3") + self.label_14 = QtWidgets.QLabel(parent=self.layoutWidget2) + self.label_14.setObjectName("label_14") + self.gridLayout_3.addWidget(self.label_14, 2, 0, 1, 1) + self.line_ATT = QtWidgets.QLineEdit(parent=self.layoutWidget2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Ignored) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_ATT.sizePolicy().hasHeightForWidth()) + self.line_ATT.setSizePolicy(sizePolicy) + self.line_ATT.setObjectName("line_ATT") + self.gridLayout_3.addWidget(self.line_ATT, 1, 1, 1, 1) + self.label_12 = QtWidgets.QLabel(parent=self.layoutWidget2) + self.label_12.setObjectName("label_12") + self.gridLayout_3.addWidget(self.label_12, 1, 0, 1, 1) + self.line_freq = QtWidgets.QLineEdit(parent=self.layoutWidget2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Ignored) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_freq.sizePolicy().hasHeightForWidth()) + self.line_freq.setSizePolicy(sizePolicy) + self.line_freq.setObjectName("line_freq") + self.gridLayout_3.addWidget(self.line_freq, 0, 1, 1, 1) + self.label_13 = QtWidgets.QLabel(parent=self.layoutWidget2) + self.label_13.setObjectName("label_13") + self.gridLayout_3.addWidget(self.label_13, 0, 0, 1, 1) + self.checkBox_calibrate = QtWidgets.QCheckBox(parent=self.layoutWidget2) + self.checkBox_calibrate.setText("") + self.checkBox_calibrate.setObjectName("checkBox_calibrate") + self.gridLayout_3.addWidget(self.checkBox_calibrate, 2, 1, 1, 1) + self.label_9 = QtWidgets.QLabel(parent=self.centralwidget) + self.label_9.setGeometry(QtCore.QRect(190, 250, 61, 21)) + font = QtGui.QFont() + font.setPointSize(12) + font.setBold(True) + font.setWeight(75) + self.label_9.setFont(font) + self.label_9.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter) + self.label_9.setObjectName("label_9") + self.label_11 = QtWidgets.QLabel(parent=self.centralwidget) + self.label_11.setGeometry(QtCore.QRect(30, 250, 61, 21)) + font = QtGui.QFont() + font.setPointSize(12) + font.setBold(True) + font.setWeight(75) + self.label_11.setFont(font) + self.label_11.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter) + self.label_11.setObjectName("label_11") + self.layoutWidget_2 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget_2.setGeometry(QtCore.QRect(10, 80, 121, 22)) + self.layoutWidget_2.setObjectName("layoutWidget_2") + self.gridLayout_7 = QtWidgets.QGridLayout(self.layoutWidget_2) + self.gridLayout_7.setContentsMargins(0, 0, 0, 0) + self.gridLayout_7.setObjectName("gridLayout_7") + self.label_16 = QtWidgets.QLabel(parent=self.layoutWidget_2) + self.label_16.setObjectName("label_16") + self.gridLayout_7.addWidget(self.label_16, 0, 0, 1, 1) + self.line_saveInterval = QtWidgets.QLineEdit(parent=self.layoutWidget_2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_saveInterval.sizePolicy().hasHeightForWidth()) + self.line_saveInterval.setSizePolicy(sizePolicy) + self.line_saveInterval.setObjectName("line_saveInterval") + self.gridLayout_7.addWidget(self.line_saveInterval, 0, 1, 1, 1) + self.widget = QtWidgets.QWidget(parent=self.centralwidget) + self.widget.setGeometry(QtCore.QRect(10, 217, 181, 22)) + self.widget.setObjectName("widget") + self.gridLayout_5 = QtWidgets.QGridLayout(self.widget) + self.gridLayout_5.setContentsMargins(0, 0, 0, 0) + self.gridLayout_5.setHorizontalSpacing(15) + self.gridLayout_5.setObjectName("gridLayout_5") + self.label_10 = QtWidgets.QLabel(parent=self.widget) + self.label_10.setObjectName("label_10") + self.gridLayout_5.addWidget(self.label_10, 0, 0, 1, 1) + self.comboBox_mode = QtWidgets.QComboBox(parent=self.widget) + self.comboBox_mode.setObjectName("comboBox_mode") + self.comboBox_mode.addItem("") + self.comboBox_mode.addItem("") + self.comboBox_mode.addItem("") + self.gridLayout_5.addWidget(self.comboBox_mode, 0, 1, 1, 1) + self.widget1 = QtWidgets.QWidget(parent=self.centralwidget) + self.widget1.setGeometry(QtCore.QRect(11, 280, 111, 22)) + self.widget1.setObjectName("widget1") + self.gridLayout_6 = QtWidgets.QGridLayout(self.widget1) + self.gridLayout_6.setContentsMargins(0, 0, 0, 0) + self.gridLayout_6.setObjectName("gridLayout_6") + self.label_15 = QtWidgets.QLabel(parent=self.widget1) + self.label_15.setObjectName("label_15") + self.gridLayout_6.addWidget(self.label_15, 0, 0, 1, 1) + self.line_Dutycycle = QtWidgets.QLineEdit(parent=self.widget1) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_Dutycycle.sizePolicy().hasHeightForWidth()) + self.line_Dutycycle.setSizePolicy(sizePolicy) + self.line_Dutycycle.setObjectName("line_Dutycycle") + self.gridLayout_6.addWidget(self.line_Dutycycle, 0, 1, 1, 1) + Powermeter.setCentralWidget(self.centralwidget) + self.menubar = QtWidgets.QMenuBar(parent=Powermeter) + self.menubar.setGeometry(QtCore.QRect(0, 0, 787, 21)) + self.menubar.setObjectName("menubar") + self.menuFile = QtWidgets.QMenu(parent=self.menubar) + self.menuFile.setObjectName("menuFile") + Powermeter.setMenuBar(self.menubar) + self.statusbar = QtWidgets.QStatusBar(parent=Powermeter) + self.statusbar.setObjectName("statusbar") + Powermeter.setStatusBar(self.statusbar) + self.actionSet_default = QtGui.QAction(parent=Powermeter) + self.actionSet_default.setObjectName("actionSet_default") + self.actionReset_default = QtGui.QAction(parent=Powermeter) + self.actionReset_default.setObjectName("actionReset_default") + self.menuFile.addAction(self.actionSet_default) + self.menuFile.addAction(self.actionReset_default) + self.menubar.addAction(self.menuFile.menuAction()) + + self.retranslateUi(Powermeter) + QtCore.QMetaObject.connectSlotsByName(Powermeter) + Powermeter.setTabOrder(self.line_devAdr, self.button_connect) + Powermeter.setTabOrder(self.button_connect, self.line_filePath) + Powermeter.setTabOrder(self.line_filePath, self.checkBox_save) + Powermeter.setTabOrder(self.checkBox_save, self.line_saveInterval) + Powermeter.setTabOrder(self.line_saveInterval, self.line_freq) + Powermeter.setTabOrder(self.line_freq, self.line_ATT) + Powermeter.setTabOrder(self.line_ATT, self.checkBox_calibrate) + Powermeter.setTabOrder(self.checkBox_calibrate, self.comboBox_mode) + Powermeter.setTabOrder(self.comboBox_mode, self.line_Dutycycle) + Powermeter.setTabOrder(self.line_Dutycycle, self.line_Duration) + Powermeter.setTabOrder(self.line_Duration, self.comboBox_res) + Powermeter.setTabOrder(self.comboBox_res, self.line_TrigDelay) + Powermeter.setTabOrder(self.line_TrigDelay, self.line_TrigLevel) + Powermeter.setTabOrder(self.line_TrigLevel, self.button_updateTrace) + Powermeter.setTabOrder(self.button_updateTrace, self.line_Nplot) + Powermeter.setTabOrder(self.line_Nplot, self.checkBox_disableplots) + + def retranslateUi(self, Powermeter): + _translate = QtCore.QCoreApplication.translate + Powermeter.setWindowTitle(_translate("Powermeter", "PM Control")) + self.checkBox_disableplots.setText(_translate("Powermeter", "Disable plot")) + self.label_5.setText(_translate("Powermeter", "# points to plot")) + self.button_updateTrace.setText(_translate("Powermeter", "Update parameters")) + self.label_3.setText(_translate("Powermeter", "Resolution")) + self.comboBox_res.setItemText(0, _translate("Powermeter", "High")) + self.comboBox_res.setItemText(1, _translate("Powermeter", "Med")) + self.comboBox_res.setItemText(2, _translate("Powermeter", "Low")) + self.line_Duration.setText(_translate("Powermeter", "1e-3")) + self.label_4.setText(_translate("Powermeter", "Trig delay[s]")) + self.line_TrigDelay.setText(_translate("Powermeter", "1e-4")) + self.label_2.setText(_translate("Powermeter", "Duration[s]")) + self.label_8.setText(_translate("Powermeter", "Trig Lev [dBm]")) + self.line_Power_in.setText(_translate("Powermeter", "0")) + self.label.setText(_translate("Powermeter", "Power [dBm]")) + self.label_7.setText(_translate("Powermeter", "File Path")) + self.checkBox_save.setText(_translate("Powermeter", "Save")) + self.label_6.setText(_translate("Powermeter", "Device Adress")) + self.button_connect.setText(_translate("Powermeter", "Connect")) + self.label_14.setText(_translate("Powermeter", "Calibrate on powerup")) + self.label_12.setText(_translate("Powermeter", "Attenuation input [dB]")) + self.label_13.setText(_translate("Powermeter", "Frequency [Hz]")) + self.label_9.setText(_translate("Powermeter", "Trace")) + self.label_11.setText(_translate("Powermeter", "Pulse")) + self.label_16.setText(_translate("Powermeter", "Save interval [s]")) + self.label_10.setText(_translate("Powermeter", "Measurement mode")) + self.comboBox_mode.setItemText(0, _translate("Powermeter", "CW")) + self.comboBox_mode.setItemText(1, _translate("Powermeter", "Pulse")) + self.comboBox_mode.setItemText(2, _translate("Powermeter", "Trace")) + self.label_15.setText(_translate("Powermeter", "Dutycycle [%]")) + self.line_Dutycycle.setText(_translate("Powermeter", "1e-3")) + self.menuFile.setTitle(_translate("Powermeter", "File")) + self.actionSet_default.setText(_translate("Powermeter", "Make current values default")) + self.actionReset_default.setText(_translate("Powermeter", "Reset default values")) +from pyqtgraph import PlotWidget diff --git a/Legacy/Instrument_Drivers/design_files/LS218.ui b/Legacy/Instrument_Drivers/design_files/LS218.ui new file mode 100644 index 0000000..e9bed37 --- /dev/null +++ b/Legacy/Instrument_Drivers/design_files/LS218.ui @@ -0,0 +1,3781 @@ + + + MainWindow + + + + 0 + 0 + 787 + 423 + + + + Lakeshore-218 + + + + + + 150 + 90 + 81 + 17 + + + + Disable plots + + + + + + 311 + 301 + 81 + 16 + + + + # points to plot + + + + + + 400 + 301 + 59 + 20 + + + + + + + 320 + 10 + 431 + 281 + + + + + + + 10 + 10 + 291 + 53 + + + + + + + Device Adress + + + + + + + true + + + + 0 + 0 + + + + + + + + File Path + + + + + + + + 0 + 0 + + + + + + + + Save + + + + + + + Connect + + + + + + + + + 10 + 70 + 121 + 22 + + + + + + + Save interval [s] + + + + + + + + 0 + 0 + + + + + + + + + + 10 + 112 + 201 + 171 + + + + + + + T Channel 1 [K] + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + Ch 1 + + + true + + + + + + + T Channel 2 [K] + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + Ch 2 + + + true + + + + + + + T Channel 3 [K] + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + Ch 3 + + + true + + + + + + + T Channel 4 [K] + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + Ch 4 + + + true + + + + + + + T Channel 5 [K] + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + Ch 5 + + + true + + + + + + + T Channel 6 [K] + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + Ch 6 + + + true + + + + + + + T Channel 7 [K] + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + Ch 7 + + + true + + + + + + + T Channel 8 [K] + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + Ch 8 + + + true + + + + + + + + + + 0 + 0 + 787 + 21 + + + + + File + + + + + + + + + + Make current values default + + + + + Reset default values + + + + + + PlotWidget + QWidget +
pyqtgraph
+ 1 +
+
+ + line_devAdr + button_connect + line_filePath + checkBox_save + line_saveInterval + checkBox_disableplots + checkBox_1 + checkBox_2 + checkBox_3 + checkBox_4 + line_Nplot + + + +
diff --git a/Legacy/Instrument_Drivers/design_files/LS218_design.py b/Legacy/Instrument_Drivers/design_files/LS218_design.py new file mode 100644 index 0000000..d7a4220 --- /dev/null +++ b/Legacy/Instrument_Drivers/design_files/LS218_design.py @@ -0,0 +1,1358 @@ +# Form implementation generated from reading ui file 'LS218.ui' +# +# Created by: PyQt6 UI code generator 6.6.1 +# +# WARNING: Any manual changes made to this file will be lost when pyuic6 is +# run again. Do not edit this file unless you know what you are doing. + + +from PyQt6 import QtCore, QtGui, QtWidgets + + +class Ui_MainWindow(object): + def setupUi(self, MainWindow): + MainWindow.setObjectName("MainWindow") + MainWindow.resize(787, 423) + self.centralwidget = QtWidgets.QWidget(parent=MainWindow) + self.centralwidget.setObjectName("centralwidget") + self.checkBox_disableplots = QtWidgets.QCheckBox(parent=self.centralwidget) + self.checkBox_disableplots.setGeometry(QtCore.QRect(150, 90, 81, 17)) + self.checkBox_disableplots.setObjectName("checkBox_disableplots") + self.label_5 = QtWidgets.QLabel(parent=self.centralwidget) + self.label_5.setGeometry(QtCore.QRect(311, 301, 81, 16)) + self.label_5.setObjectName("label_5") + self.line_Nplot = QtWidgets.QLineEdit(parent=self.centralwidget) + self.line_Nplot.setGeometry(QtCore.QRect(400, 301, 59, 20)) + self.line_Nplot.setObjectName("line_Nplot") + self.graphWidget = PlotWidget(parent=self.centralwidget) + self.graphWidget.setGeometry(QtCore.QRect(320, 10, 431, 281)) + self.graphWidget.setObjectName("graphWidget") + self.layoutWidget = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget.setGeometry(QtCore.QRect(10, 10, 291, 53)) + self.layoutWidget.setObjectName("layoutWidget") + self.gridLayout_2 = QtWidgets.QGridLayout(self.layoutWidget) + self.gridLayout_2.setContentsMargins(0, 0, 0, 0) + self.gridLayout_2.setObjectName("gridLayout_2") + self.label_6 = QtWidgets.QLabel(parent=self.layoutWidget) + self.label_6.setObjectName("label_6") + self.gridLayout_2.addWidget(self.label_6, 0, 0, 1, 1) + self.line_devAdr = QtWidgets.QLineEdit(parent=self.layoutWidget) + self.line_devAdr.setEnabled(True) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_devAdr.sizePolicy().hasHeightForWidth()) + self.line_devAdr.setSizePolicy(sizePolicy) + self.line_devAdr.setObjectName("line_devAdr") + self.gridLayout_2.addWidget(self.line_devAdr, 0, 1, 1, 1) + self.label_7 = QtWidgets.QLabel(parent=self.layoutWidget) + self.label_7.setObjectName("label_7") + self.gridLayout_2.addWidget(self.label_7, 1, 0, 1, 1) + self.line_filePath = QtWidgets.QLineEdit(parent=self.layoutWidget) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_filePath.sizePolicy().hasHeightForWidth()) + self.line_filePath.setSizePolicy(sizePolicy) + self.line_filePath.setObjectName("line_filePath") + self.gridLayout_2.addWidget(self.line_filePath, 1, 1, 1, 1) + self.checkBox_save = QtWidgets.QCheckBox(parent=self.layoutWidget) + self.checkBox_save.setObjectName("checkBox_save") + self.gridLayout_2.addWidget(self.checkBox_save, 1, 2, 1, 1) + self.button_connect = QtWidgets.QPushButton(parent=self.layoutWidget) + self.button_connect.setObjectName("button_connect") + self.gridLayout_2.addWidget(self.button_connect, 0, 2, 1, 1) + self.layoutWidget_2 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget_2.setGeometry(QtCore.QRect(10, 70, 121, 22)) + self.layoutWidget_2.setObjectName("layoutWidget_2") + self.gridLayout_3 = QtWidgets.QGridLayout(self.layoutWidget_2) + self.gridLayout_3.setContentsMargins(0, 0, 0, 0) + self.gridLayout_3.setObjectName("gridLayout_3") + self.label_15 = QtWidgets.QLabel(parent=self.layoutWidget_2) + self.label_15.setObjectName("label_15") + self.gridLayout_3.addWidget(self.label_15, 0, 0, 1, 1) + self.line_saveInterval = QtWidgets.QLineEdit(parent=self.layoutWidget_2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_saveInterval.sizePolicy().hasHeightForWidth()) + self.line_saveInterval.setSizePolicy(sizePolicy) + self.line_saveInterval.setObjectName("line_saveInterval") + self.gridLayout_3.addWidget(self.line_saveInterval, 0, 1, 1, 1) + self.widget = QtWidgets.QWidget(parent=self.centralwidget) + self.widget.setGeometry(QtCore.QRect(10, 112, 201, 171)) + self.widget.setObjectName("widget") + self.gridLayout = QtWidgets.QGridLayout(self.widget) + self.gridLayout.setContentsMargins(0, 0, 0, 0) + self.gridLayout.setObjectName("gridLayout") + self.label = QtWidgets.QLabel(parent=self.widget) + self.label.setObjectName("label") + self.gridLayout.addWidget(self.label, 0, 0, 1, 1) + self.T_1 = QtWidgets.QLabel(parent=self.widget) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.T_1.setPalette(palette) + self.T_1.setAutoFillBackground(True) + self.T_1.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.T_1.setObjectName("T_1") + self.gridLayout.addWidget(self.T_1, 0, 1, 1, 1) + self.checkBox_1 = QtWidgets.QCheckBox(parent=self.widget) + self.checkBox_1.setChecked(True) + self.checkBox_1.setObjectName("checkBox_1") + self.gridLayout.addWidget(self.checkBox_1, 0, 2, 1, 1) + self.label_2 = QtWidgets.QLabel(parent=self.widget) + self.label_2.setObjectName("label_2") + self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1) + self.T_2 = QtWidgets.QLabel(parent=self.widget) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.T_2.setPalette(palette) + self.T_2.setAutoFillBackground(True) + self.T_2.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.T_2.setObjectName("T_2") + self.gridLayout.addWidget(self.T_2, 1, 1, 1, 1) + self.checkBox_2 = QtWidgets.QCheckBox(parent=self.widget) + self.checkBox_2.setChecked(True) + self.checkBox_2.setObjectName("checkBox_2") + self.gridLayout.addWidget(self.checkBox_2, 1, 2, 1, 1) + self.label_3 = QtWidgets.QLabel(parent=self.widget) + self.label_3.setObjectName("label_3") + self.gridLayout.addWidget(self.label_3, 2, 0, 1, 1) + self.T_3 = QtWidgets.QLabel(parent=self.widget) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.T_3.setPalette(palette) + self.T_3.setAutoFillBackground(True) + self.T_3.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.T_3.setObjectName("T_3") + self.gridLayout.addWidget(self.T_3, 2, 1, 1, 1) + self.checkBox_3 = QtWidgets.QCheckBox(parent=self.widget) + self.checkBox_3.setChecked(True) + self.checkBox_3.setObjectName("checkBox_3") + self.gridLayout.addWidget(self.checkBox_3, 2, 2, 1, 1) + self.label_4 = QtWidgets.QLabel(parent=self.widget) + self.label_4.setObjectName("label_4") + self.gridLayout.addWidget(self.label_4, 3, 0, 1, 1) + self.T_4 = QtWidgets.QLabel(parent=self.widget) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.T_4.setPalette(palette) + self.T_4.setAutoFillBackground(True) + self.T_4.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.T_4.setObjectName("T_4") + self.gridLayout.addWidget(self.T_4, 3, 1, 1, 1) + self.checkBox_4 = QtWidgets.QCheckBox(parent=self.widget) + self.checkBox_4.setChecked(True) + self.checkBox_4.setObjectName("checkBox_4") + self.gridLayout.addWidget(self.checkBox_4, 3, 2, 1, 1) + self.label_8 = QtWidgets.QLabel(parent=self.widget) + self.label_8.setObjectName("label_8") + self.gridLayout.addWidget(self.label_8, 4, 0, 1, 1) + self.T_5 = QtWidgets.QLabel(parent=self.widget) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.T_5.setPalette(palette) + self.T_5.setAutoFillBackground(True) + self.T_5.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.T_5.setObjectName("T_5") + self.gridLayout.addWidget(self.T_5, 4, 1, 1, 1) + self.checkBox_5 = QtWidgets.QCheckBox(parent=self.widget) + self.checkBox_5.setChecked(True) + self.checkBox_5.setObjectName("checkBox_5") + self.gridLayout.addWidget(self.checkBox_5, 4, 2, 1, 1) + self.label_10 = QtWidgets.QLabel(parent=self.widget) + self.label_10.setObjectName("label_10") + self.gridLayout.addWidget(self.label_10, 5, 0, 1, 1) + self.T_6 = QtWidgets.QLabel(parent=self.widget) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.T_6.setPalette(palette) + self.T_6.setAutoFillBackground(True) + self.T_6.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.T_6.setObjectName("T_6") + self.gridLayout.addWidget(self.T_6, 5, 1, 1, 1) + self.checkBox_6 = QtWidgets.QCheckBox(parent=self.widget) + self.checkBox_6.setChecked(True) + self.checkBox_6.setObjectName("checkBox_6") + self.gridLayout.addWidget(self.checkBox_6, 5, 2, 1, 1) + self.label_9 = QtWidgets.QLabel(parent=self.widget) + self.label_9.setObjectName("label_9") + self.gridLayout.addWidget(self.label_9, 6, 0, 1, 1) + self.T_7 = QtWidgets.QLabel(parent=self.widget) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.T_7.setPalette(palette) + self.T_7.setAutoFillBackground(True) + self.T_7.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.T_7.setObjectName("T_7") + self.gridLayout.addWidget(self.T_7, 6, 1, 1, 1) + self.checkBox_7 = QtWidgets.QCheckBox(parent=self.widget) + self.checkBox_7.setChecked(True) + self.checkBox_7.setObjectName("checkBox_7") + self.gridLayout.addWidget(self.checkBox_7, 6, 2, 1, 1) + self.label_11 = QtWidgets.QLabel(parent=self.widget) + self.label_11.setObjectName("label_11") + self.gridLayout.addWidget(self.label_11, 7, 0, 1, 1) + self.T_8 = QtWidgets.QLabel(parent=self.widget) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.T_8.setPalette(palette) + self.T_8.setAutoFillBackground(True) + self.T_8.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.T_8.setObjectName("T_8") + self.gridLayout.addWidget(self.T_8, 7, 1, 1, 1) + self.checkBox_8 = QtWidgets.QCheckBox(parent=self.widget) + self.checkBox_8.setChecked(True) + self.checkBox_8.setObjectName("checkBox_8") + self.gridLayout.addWidget(self.checkBox_8, 7, 2, 1, 1) + MainWindow.setCentralWidget(self.centralwidget) + self.menubar = QtWidgets.QMenuBar(parent=MainWindow) + self.menubar.setGeometry(QtCore.QRect(0, 0, 787, 21)) + self.menubar.setObjectName("menubar") + self.menuFile = QtWidgets.QMenu(parent=self.menubar) + self.menuFile.setObjectName("menuFile") + MainWindow.setMenuBar(self.menubar) + self.statusbar = QtWidgets.QStatusBar(parent=MainWindow) + self.statusbar.setObjectName("statusbar") + MainWindow.setStatusBar(self.statusbar) + self.actionSet_default = QtGui.QAction(parent=MainWindow) + self.actionSet_default.setObjectName("actionSet_default") + self.actionReset_default = QtGui.QAction(parent=MainWindow) + self.actionReset_default.setObjectName("actionReset_default") + self.menuFile.addAction(self.actionSet_default) + self.menuFile.addAction(self.actionReset_default) + self.menubar.addAction(self.menuFile.menuAction()) + + self.retranslateUi(MainWindow) + QtCore.QMetaObject.connectSlotsByName(MainWindow) + MainWindow.setTabOrder(self.line_devAdr, self.button_connect) + MainWindow.setTabOrder(self.button_connect, self.line_filePath) + MainWindow.setTabOrder(self.line_filePath, self.checkBox_save) + MainWindow.setTabOrder(self.checkBox_save, self.line_saveInterval) + MainWindow.setTabOrder(self.line_saveInterval, self.checkBox_disableplots) + MainWindow.setTabOrder(self.checkBox_disableplots, self.checkBox_1) + MainWindow.setTabOrder(self.checkBox_1, self.checkBox_2) + MainWindow.setTabOrder(self.checkBox_2, self.checkBox_3) + MainWindow.setTabOrder(self.checkBox_3, self.checkBox_4) + MainWindow.setTabOrder(self.checkBox_4, self.line_Nplot) + + def retranslateUi(self, MainWindow): + _translate = QtCore.QCoreApplication.translate + MainWindow.setWindowTitle(_translate("MainWindow", "Lakeshore-218")) + self.checkBox_disableplots.setText(_translate("MainWindow", "Disable plots")) + self.label_5.setText(_translate("MainWindow", "# points to plot")) + self.label_6.setText(_translate("MainWindow", "Device Adress")) + self.label_7.setText(_translate("MainWindow", "File Path")) + self.checkBox_save.setText(_translate("MainWindow", "Save")) + self.button_connect.setText(_translate("MainWindow", "Connect")) + self.label_15.setText(_translate("MainWindow", "Save interval [s]")) + self.label.setText(_translate("MainWindow", "T Channel 1 [K]")) + self.T_1.setText(_translate("MainWindow", "0")) + self.checkBox_1.setText(_translate("MainWindow", "Ch 1")) + self.label_2.setText(_translate("MainWindow", "T Channel 2 [K]")) + self.T_2.setText(_translate("MainWindow", "0")) + self.checkBox_2.setText(_translate("MainWindow", "Ch 2")) + self.label_3.setText(_translate("MainWindow", "T Channel 3 [K]")) + self.T_3.setText(_translate("MainWindow", "0")) + self.checkBox_3.setText(_translate("MainWindow", "Ch 3")) + self.label_4.setText(_translate("MainWindow", "T Channel 4 [K]")) + self.T_4.setText(_translate("MainWindow", "0")) + self.checkBox_4.setText(_translate("MainWindow", "Ch 4")) + self.label_8.setText(_translate("MainWindow", "T Channel 5 [K]")) + self.T_5.setText(_translate("MainWindow", "0")) + self.checkBox_5.setText(_translate("MainWindow", "Ch 5")) + self.label_10.setText(_translate("MainWindow", "T Channel 6 [K]")) + self.T_6.setText(_translate("MainWindow", "0")) + self.checkBox_6.setText(_translate("MainWindow", "Ch 6")) + self.label_9.setText(_translate("MainWindow", "T Channel 7 [K]")) + self.T_7.setText(_translate("MainWindow", "0")) + self.checkBox_7.setText(_translate("MainWindow", "Ch 7")) + self.label_11.setText(_translate("MainWindow", "T Channel 8 [K]")) + self.T_8.setText(_translate("MainWindow", "0")) + self.checkBox_8.setText(_translate("MainWindow", "Ch 8")) + self.menuFile.setTitle(_translate("MainWindow", "File")) + self.actionSet_default.setText(_translate("MainWindow", "Make current values default")) + self.actionReset_default.setText(_translate("MainWindow", "Reset default values")) +from pyqtgraph import PlotWidget + + +if __name__ == "__main__": + import sys + app = QtWidgets.QApplication(sys.argv) + MainWindow = QtWidgets.QMainWindow() + ui = Ui_MainWindow() + ui.setupUi(MainWindow) + MainWindow.show() + sys.exit(app.exec()) diff --git a/Legacy/Instrument_Drivers/design_files/LS336.ui b/Legacy/Instrument_Drivers/design_files/LS336.ui new file mode 100644 index 0000000..ec34e4f --- /dev/null +++ b/Legacy/Instrument_Drivers/design_files/LS336.ui @@ -0,0 +1,2267 @@ + + + MainWindow + + + + 0 + 0 + 787 + 423 + + + + Lakeshore-336 + + + + + + 12 + 110 + 141 + 87 + + + + + + + T Channel A [K] + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + T Channel B [K] + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + T Channel C [K] + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + T Channel D [K] + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + 230 + 190 + 70 + 17 + + + + Ch A + + + true + + + + + + 230 + 210 + 70 + 17 + + + + Ch B + + + true + + + + + + 230 + 230 + 70 + 17 + + + + Ch C + + + true + + + + + + 230 + 250 + 70 + 17 + + + + Ch D + + + true + + + + + + 230 + 270 + 70 + 17 + + + + Power + + + false + + + + + + 230 + 170 + 81 + 17 + + + + Disable plots + + + + + + 311 + 301 + 81 + 16 + + + + # points to plot + + + + + + 400 + 301 + 59 + 20 + + + + + + + 10 + 310 + 75 + 23 + + + + set PID + + + + + true + + + + 24 + 247 + 41 + 20 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + 11 + 273 + 16 + 16 + + + + D + + + + + + 24 + 221 + 41 + 20 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + 24 + 273 + 41 + 20 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + 11 + 247 + 16 + 16 + + + + I + + + + + + 11 + 221 + 16 + 16 + + + + P + + + + + + 320 + 10 + 431 + 281 + + + + + + + 82 + 222 + 131 + 111 + + + + + + + Rate [K/min] + + + + + + + T set [K] + + + + + + + + 0 + 0 + + + + + + + + + 0 + 0 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + CH [0-4] + + + + + + + + 0 + 0 + + + + + A + + + + + B + + + + + C + + + + + D + + + + + + + + Range + + + + + + + + 0 + 0 + + + + + OFF + + + + + Low + + + + + Med + + + + + High + + + + + + + + + + 10 + 10 + 291 + 53 + + + + + + + Device Adress + + + + + + + true + + + + 0 + 0 + + + + + + + + File Path + + + + + + + + 0 + 0 + + + + + + + + Save + + + + + + + Connect + + + + + + + + + 10 + 70 + 121 + 22 + + + + + + + Save interval [s] + + + + + + + + 0 + 0 + + + + + + + + + + + 0 + 0 + 787 + 21 + + + + + File + + + + + + + + + + Make current values default + + + + + Reset default values + + + + + + PlotWidget + QWidget +
pyqtgraph
+ 1 +
+
+ + line_devAdr + button_connect + line_filePath + checkBox_save + line_saveInterval + line_setP + line_setI + line_setD + button_setPID + line_setT + line_Ramprate + comboBox_Channel + comboBox_range + checkBox_disableplots + checkBox_A + checkBox_B + checkBox_C + checkBox_D + checkBox_pwr + line_Nplot + + + +
diff --git a/Legacy/Instrument_Drivers/design_files/LS336_design.py b/Legacy/Instrument_Drivers/design_files/LS336_design.py new file mode 100644 index 0000000..96d39ae --- /dev/null +++ b/Legacy/Instrument_Drivers/design_files/LS336_design.py @@ -0,0 +1,854 @@ +# Form implementation generated from reading ui file 'LS336.ui' +# +# Created by: PyQt6 UI code generator 6.6.1 +# +# WARNING: Any manual changes made to this file will be lost when pyuic6 is +# run again. Do not edit this file unless you know what you are doing. + + +from PyQt6 import QtCore, QtGui, QtWidgets + + +class Ui_MainWindow(object): + def setupUi(self, MainWindow): + MainWindow.setObjectName("MainWindow") + MainWindow.resize(787, 423) + self.centralwidget = QtWidgets.QWidget(parent=MainWindow) + self.centralwidget.setObjectName("centralwidget") + self.layoutWidget = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget.setGeometry(QtCore.QRect(12, 110, 141, 87)) + self.layoutWidget.setObjectName("layoutWidget") + self.formLayout = QtWidgets.QFormLayout(self.layoutWidget) + self.formLayout.setContentsMargins(0, 0, 0, 0) + self.formLayout.setObjectName("formLayout") + self.label = QtWidgets.QLabel(parent=self.layoutWidget) + self.label.setObjectName("label") + self.formLayout.setWidget(0, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label) + self.T_A = QtWidgets.QLabel(parent=self.layoutWidget) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.T_A.setPalette(palette) + self.T_A.setAutoFillBackground(True) + self.T_A.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.T_A.setObjectName("T_A") + self.formLayout.setWidget(0, QtWidgets.QFormLayout.ItemRole.FieldRole, self.T_A) + self.label_2 = QtWidgets.QLabel(parent=self.layoutWidget) + self.label_2.setObjectName("label_2") + self.formLayout.setWidget(1, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_2) + self.T_B = QtWidgets.QLabel(parent=self.layoutWidget) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.T_B.setPalette(palette) + self.T_B.setAutoFillBackground(True) + self.T_B.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.T_B.setObjectName("T_B") + self.formLayout.setWidget(1, QtWidgets.QFormLayout.ItemRole.FieldRole, self.T_B) + self.label_3 = QtWidgets.QLabel(parent=self.layoutWidget) + self.label_3.setObjectName("label_3") + self.formLayout.setWidget(2, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_3) + self.T_C = QtWidgets.QLabel(parent=self.layoutWidget) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.T_C.setPalette(palette) + self.T_C.setAutoFillBackground(True) + self.T_C.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.T_C.setObjectName("T_C") + self.formLayout.setWidget(2, QtWidgets.QFormLayout.ItemRole.FieldRole, self.T_C) + self.label_4 = QtWidgets.QLabel(parent=self.layoutWidget) + self.label_4.setObjectName("label_4") + self.formLayout.setWidget(3, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_4) + self.T_D = QtWidgets.QLabel(parent=self.layoutWidget) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.T_D.setPalette(palette) + self.T_D.setAutoFillBackground(True) + self.T_D.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.T_D.setObjectName("T_D") + self.formLayout.setWidget(3, QtWidgets.QFormLayout.ItemRole.FieldRole, self.T_D) + self.checkBox_A = QtWidgets.QCheckBox(parent=self.centralwidget) + self.checkBox_A.setGeometry(QtCore.QRect(230, 190, 70, 17)) + self.checkBox_A.setChecked(True) + self.checkBox_A.setObjectName("checkBox_A") + self.checkBox_B = QtWidgets.QCheckBox(parent=self.centralwidget) + self.checkBox_B.setGeometry(QtCore.QRect(230, 210, 70, 17)) + self.checkBox_B.setChecked(True) + self.checkBox_B.setObjectName("checkBox_B") + self.checkBox_C = QtWidgets.QCheckBox(parent=self.centralwidget) + self.checkBox_C.setGeometry(QtCore.QRect(230, 230, 70, 17)) + self.checkBox_C.setChecked(True) + self.checkBox_C.setObjectName("checkBox_C") + self.checkBox_D = QtWidgets.QCheckBox(parent=self.centralwidget) + self.checkBox_D.setGeometry(QtCore.QRect(230, 250, 70, 17)) + self.checkBox_D.setChecked(True) + self.checkBox_D.setObjectName("checkBox_D") + self.checkBox_pwr = QtWidgets.QCheckBox(parent=self.centralwidget) + self.checkBox_pwr.setGeometry(QtCore.QRect(230, 270, 70, 17)) + self.checkBox_pwr.setChecked(False) + self.checkBox_pwr.setObjectName("checkBox_pwr") + self.checkBox_disableplots = QtWidgets.QCheckBox(parent=self.centralwidget) + self.checkBox_disableplots.setGeometry(QtCore.QRect(230, 170, 81, 17)) + self.checkBox_disableplots.setObjectName("checkBox_disableplots") + self.label_5 = QtWidgets.QLabel(parent=self.centralwidget) + self.label_5.setGeometry(QtCore.QRect(311, 301, 81, 16)) + self.label_5.setObjectName("label_5") + self.line_Nplot = QtWidgets.QLineEdit(parent=self.centralwidget) + self.line_Nplot.setGeometry(QtCore.QRect(400, 301, 59, 20)) + self.line_Nplot.setObjectName("line_Nplot") + self.button_setPID = QtWidgets.QPushButton(parent=self.centralwidget) + self.button_setPID.setGeometry(QtCore.QRect(10, 310, 75, 23)) + self.button_setPID.setObjectName("button_setPID") + self.line_setI = QtWidgets.QLineEdit(parent=self.centralwidget) + self.line_setI.setEnabled(True) + self.line_setI.setGeometry(QtCore.QRect(24, 247, 41, 20)) + self.line_setI.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.line_setI.setObjectName("line_setI") + self.label_12 = QtWidgets.QLabel(parent=self.centralwidget) + self.label_12.setGeometry(QtCore.QRect(11, 273, 16, 16)) + self.label_12.setObjectName("label_12") + self.line_setP = QtWidgets.QLineEdit(parent=self.centralwidget) + self.line_setP.setGeometry(QtCore.QRect(24, 221, 41, 20)) + self.line_setP.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.line_setP.setObjectName("line_setP") + self.line_setD = QtWidgets.QLineEdit(parent=self.centralwidget) + self.line_setD.setGeometry(QtCore.QRect(24, 273, 41, 20)) + self.line_setD.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.line_setD.setObjectName("line_setD") + self.label_11 = QtWidgets.QLabel(parent=self.centralwidget) + self.label_11.setGeometry(QtCore.QRect(11, 247, 16, 16)) + self.label_11.setObjectName("label_11") + self.label_10 = QtWidgets.QLabel(parent=self.centralwidget) + self.label_10.setGeometry(QtCore.QRect(11, 221, 16, 16)) + self.label_10.setObjectName("label_10") + self.graphWidget = PlotWidget(parent=self.centralwidget) + self.graphWidget.setGeometry(QtCore.QRect(320, 10, 431, 281)) + self.graphWidget.setObjectName("graphWidget") + self.layoutWidget1 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget1.setGeometry(QtCore.QRect(82, 222, 131, 111)) + self.layoutWidget1.setObjectName("layoutWidget1") + self.gridLayout = QtWidgets.QGridLayout(self.layoutWidget1) + self.gridLayout.setContentsMargins(0, 0, 0, 0) + self.gridLayout.setObjectName("gridLayout") + self.label_8 = QtWidgets.QLabel(parent=self.layoutWidget1) + self.label_8.setObjectName("label_8") + self.gridLayout.addWidget(self.label_8, 1, 0, 1, 1) + self.label_9 = QtWidgets.QLabel(parent=self.layoutWidget1) + self.label_9.setObjectName("label_9") + self.gridLayout.addWidget(self.label_9, 0, 0, 1, 1) + self.line_Ramprate = QtWidgets.QLineEdit(parent=self.layoutWidget1) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_Ramprate.sizePolicy().hasHeightForWidth()) + self.line_Ramprate.setSizePolicy(sizePolicy) + self.line_Ramprate.setObjectName("line_Ramprate") + self.gridLayout.addWidget(self.line_Ramprate, 1, 1, 1, 1) + self.line_setT = QtWidgets.QLineEdit(parent=self.layoutWidget1) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_setT.sizePolicy().hasHeightForWidth()) + self.line_setT.setSizePolicy(sizePolicy) + self.line_setT.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.line_setT.setObjectName("line_setT") + self.gridLayout.addWidget(self.line_setT, 0, 1, 1, 1) + self.label_13 = QtWidgets.QLabel(parent=self.layoutWidget1) + self.label_13.setObjectName("label_13") + self.gridLayout.addWidget(self.label_13, 2, 0, 1, 1) + self.comboBox_Channel = QtWidgets.QComboBox(parent=self.layoutWidget1) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.comboBox_Channel.sizePolicy().hasHeightForWidth()) + self.comboBox_Channel.setSizePolicy(sizePolicy) + self.comboBox_Channel.setObjectName("comboBox_Channel") + self.comboBox_Channel.addItem("") + self.comboBox_Channel.addItem("") + self.comboBox_Channel.addItem("") + self.comboBox_Channel.addItem("") + self.gridLayout.addWidget(self.comboBox_Channel, 2, 1, 1, 1) + self.label_14 = QtWidgets.QLabel(parent=self.layoutWidget1) + self.label_14.setObjectName("label_14") + self.gridLayout.addWidget(self.label_14, 3, 0, 1, 1) + self.comboBox_range = QtWidgets.QComboBox(parent=self.layoutWidget1) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.comboBox_range.sizePolicy().hasHeightForWidth()) + self.comboBox_range.setSizePolicy(sizePolicy) + self.comboBox_range.setObjectName("comboBox_range") + self.comboBox_range.addItem("") + self.comboBox_range.addItem("") + self.comboBox_range.addItem("") + self.comboBox_range.addItem("") + self.gridLayout.addWidget(self.comboBox_range, 3, 1, 1, 1) + self.layoutWidget2 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget2.setGeometry(QtCore.QRect(10, 10, 291, 53)) + self.layoutWidget2.setObjectName("layoutWidget2") + self.gridLayout_2 = QtWidgets.QGridLayout(self.layoutWidget2) + self.gridLayout_2.setContentsMargins(0, 0, 0, 0) + self.gridLayout_2.setObjectName("gridLayout_2") + self.label_6 = QtWidgets.QLabel(parent=self.layoutWidget2) + self.label_6.setObjectName("label_6") + self.gridLayout_2.addWidget(self.label_6, 0, 0, 1, 1) + self.line_devAdr = QtWidgets.QLineEdit(parent=self.layoutWidget2) + self.line_devAdr.setEnabled(True) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_devAdr.sizePolicy().hasHeightForWidth()) + self.line_devAdr.setSizePolicy(sizePolicy) + self.line_devAdr.setObjectName("line_devAdr") + self.gridLayout_2.addWidget(self.line_devAdr, 0, 1, 1, 1) + self.label_7 = QtWidgets.QLabel(parent=self.layoutWidget2) + self.label_7.setObjectName("label_7") + self.gridLayout_2.addWidget(self.label_7, 1, 0, 1, 1) + self.line_filePath = QtWidgets.QLineEdit(parent=self.layoutWidget2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_filePath.sizePolicy().hasHeightForWidth()) + self.line_filePath.setSizePolicy(sizePolicy) + self.line_filePath.setObjectName("line_filePath") + self.gridLayout_2.addWidget(self.line_filePath, 1, 1, 1, 1) + self.checkBox_save = QtWidgets.QCheckBox(parent=self.layoutWidget2) + self.checkBox_save.setObjectName("checkBox_save") + self.gridLayout_2.addWidget(self.checkBox_save, 1, 2, 1, 1) + self.button_connect = QtWidgets.QPushButton(parent=self.layoutWidget2) + self.button_connect.setObjectName("button_connect") + self.gridLayout_2.addWidget(self.button_connect, 0, 2, 1, 1) + self.layoutWidget_2 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget_2.setGeometry(QtCore.QRect(10, 70, 121, 22)) + self.layoutWidget_2.setObjectName("layoutWidget_2") + self.gridLayout_3 = QtWidgets.QGridLayout(self.layoutWidget_2) + self.gridLayout_3.setContentsMargins(0, 0, 0, 0) + self.gridLayout_3.setObjectName("gridLayout_3") + self.label_15 = QtWidgets.QLabel(parent=self.layoutWidget_2) + self.label_15.setObjectName("label_15") + self.gridLayout_3.addWidget(self.label_15, 0, 0, 1, 1) + self.line_saveInterval = QtWidgets.QLineEdit(parent=self.layoutWidget_2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_saveInterval.sizePolicy().hasHeightForWidth()) + self.line_saveInterval.setSizePolicy(sizePolicy) + self.line_saveInterval.setObjectName("line_saveInterval") + self.gridLayout_3.addWidget(self.line_saveInterval, 0, 1, 1, 1) + MainWindow.setCentralWidget(self.centralwidget) + self.menubar = QtWidgets.QMenuBar(parent=MainWindow) + self.menubar.setGeometry(QtCore.QRect(0, 0, 787, 21)) + self.menubar.setObjectName("menubar") + self.menuFile = QtWidgets.QMenu(parent=self.menubar) + self.menuFile.setObjectName("menuFile") + MainWindow.setMenuBar(self.menubar) + self.statusbar = QtWidgets.QStatusBar(parent=MainWindow) + self.statusbar.setObjectName("statusbar") + MainWindow.setStatusBar(self.statusbar) + self.actionSet_default = QtGui.QAction(parent=MainWindow) + self.actionSet_default.setObjectName("actionSet_default") + self.actionReset_default = QtGui.QAction(parent=MainWindow) + self.actionReset_default.setObjectName("actionReset_default") + self.menuFile.addAction(self.actionSet_default) + self.menuFile.addAction(self.actionReset_default) + self.menubar.addAction(self.menuFile.menuAction()) + + self.retranslateUi(MainWindow) + QtCore.QMetaObject.connectSlotsByName(MainWindow) + MainWindow.setTabOrder(self.line_devAdr, self.button_connect) + MainWindow.setTabOrder(self.button_connect, self.line_filePath) + MainWindow.setTabOrder(self.line_filePath, self.checkBox_save) + MainWindow.setTabOrder(self.checkBox_save, self.line_saveInterval) + MainWindow.setTabOrder(self.line_saveInterval, self.line_setP) + MainWindow.setTabOrder(self.line_setP, self.line_setI) + MainWindow.setTabOrder(self.line_setI, self.line_setD) + MainWindow.setTabOrder(self.line_setD, self.button_setPID) + MainWindow.setTabOrder(self.button_setPID, self.line_setT) + MainWindow.setTabOrder(self.line_setT, self.line_Ramprate) + MainWindow.setTabOrder(self.line_Ramprate, self.comboBox_Channel) + MainWindow.setTabOrder(self.comboBox_Channel, self.comboBox_range) + MainWindow.setTabOrder(self.comboBox_range, self.checkBox_disableplots) + MainWindow.setTabOrder(self.checkBox_disableplots, self.checkBox_A) + MainWindow.setTabOrder(self.checkBox_A, self.checkBox_B) + MainWindow.setTabOrder(self.checkBox_B, self.checkBox_C) + MainWindow.setTabOrder(self.checkBox_C, self.checkBox_D) + MainWindow.setTabOrder(self.checkBox_D, self.checkBox_pwr) + MainWindow.setTabOrder(self.checkBox_pwr, self.line_Nplot) + + def retranslateUi(self, MainWindow): + _translate = QtCore.QCoreApplication.translate + MainWindow.setWindowTitle(_translate("MainWindow", "Lakeshore-336")) + self.label.setText(_translate("MainWindow", "T Channel A [K]")) + self.T_A.setText(_translate("MainWindow", "0")) + self.label_2.setText(_translate("MainWindow", "T Channel B [K]")) + self.T_B.setText(_translate("MainWindow", "0")) + self.label_3.setText(_translate("MainWindow", "T Channel C [K]")) + self.T_C.setText(_translate("MainWindow", "0")) + self.label_4.setText(_translate("MainWindow", "T Channel D [K]")) + self.T_D.setText(_translate("MainWindow", "0")) + self.checkBox_A.setText(_translate("MainWindow", "Ch A")) + self.checkBox_B.setText(_translate("MainWindow", "Ch B")) + self.checkBox_C.setText(_translate("MainWindow", "Ch C")) + self.checkBox_D.setText(_translate("MainWindow", "Ch D")) + self.checkBox_pwr.setText(_translate("MainWindow", "Power")) + self.checkBox_disableplots.setText(_translate("MainWindow", "Disable plots")) + self.label_5.setText(_translate("MainWindow", "# points to plot")) + self.button_setPID.setText(_translate("MainWindow", "set PID")) + self.label_12.setText(_translate("MainWindow", "D")) + self.label_11.setText(_translate("MainWindow", "I")) + self.label_10.setText(_translate("MainWindow", "P")) + self.label_8.setText(_translate("MainWindow", "Rate [K/min]")) + self.label_9.setText(_translate("MainWindow", "T set [K]")) + self.label_13.setText(_translate("MainWindow", "CH [0-4]")) + self.comboBox_Channel.setItemText(0, _translate("MainWindow", "A")) + self.comboBox_Channel.setItemText(1, _translate("MainWindow", "B")) + self.comboBox_Channel.setItemText(2, _translate("MainWindow", "C")) + self.comboBox_Channel.setItemText(3, _translate("MainWindow", "D")) + self.label_14.setText(_translate("MainWindow", "Range")) + self.comboBox_range.setItemText(0, _translate("MainWindow", "OFF")) + self.comboBox_range.setItemText(1, _translate("MainWindow", "Low")) + self.comboBox_range.setItemText(2, _translate("MainWindow", "Med")) + self.comboBox_range.setItemText(3, _translate("MainWindow", "High")) + self.label_6.setText(_translate("MainWindow", "Device Adress")) + self.label_7.setText(_translate("MainWindow", "File Path")) + self.checkBox_save.setText(_translate("MainWindow", "Save")) + self.button_connect.setText(_translate("MainWindow", "Connect")) + self.label_15.setText(_translate("MainWindow", "Save interval [s]")) + self.menuFile.setTitle(_translate("MainWindow", "File")) + self.actionSet_default.setText(_translate("MainWindow", "Make current values default")) + self.actionReset_default.setText(_translate("MainWindow", "Reset default values")) +from pyqtgraph import PlotWidget diff --git a/Legacy/Instrument_Drivers/design_files/Tabor_LS6081B.ui b/Legacy/Instrument_Drivers/design_files/Tabor_LS6081B.ui new file mode 100644 index 0000000..866e201 --- /dev/null +++ b/Legacy/Instrument_Drivers/design_files/Tabor_LS6081B.ui @@ -0,0 +1,1093 @@ + + + MainWindow + + + + 0 + 0 + 329 + 286 + + + + Tabor LS6081B + + + + + + 30 + 60 + 61 + 31 + + + + + 16 + + + + CW + + + + + + 170 + 60 + 61 + 31 + + + + + 16 + + + + Pulse + + + + + + 160 + 110 + 131 + 53 + + + + + + + DC [%] + + + + + + + Width [s] + + + + + + + + + + + + + + + 30 + 180 + 93 + 28 + + + + RF on/OFF + + + + + + 180 + 180 + 93 + 28 + + + + Pulse on/OFF + + + + + + 30 + 210 + 91 + 21 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 0 + 0 + + + + + + + 255 + 127 + 127 + + + + + + + 255 + 63 + 63 + + + + + + + 127 + 0 + 0 + + + + + + + 170 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 127 + 127 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 0 + 0 + + + + + + + 255 + 127 + 127 + + + + + + + 255 + 63 + 63 + + + + + + + 127 + 0 + 0 + + + + + + + 170 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 127 + 127 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 0 + 0 + + + + + + + 255 + 0 + 0 + + + + + + + 255 + 127 + 127 + + + + + + + 255 + 63 + 63 + + + + + + + 127 + 0 + 0 + + + + + + + 170 + 0 + 0 + + + + + + + 127 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 0 + 0 + + + + + + + 255 + 0 + 0 + + + + + + + 255 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 0 + 0 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + <html><head/><body><p><br/></p></body></html> + + + + + + 180 + 210 + 91 + 21 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 0 + 0 + + + + + + + 255 + 127 + 127 + + + + + + + 255 + 63 + 63 + + + + + + + 127 + 0 + 0 + + + + + + + 170 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 127 + 127 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 0 + 0 + + + + + + + 255 + 127 + 127 + + + + + + + 255 + 63 + 63 + + + + + + + 127 + 0 + 0 + + + + + + + 170 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 127 + 127 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 0 + 0 + + + + + + + 255 + 0 + 0 + + + + + + + 255 + 127 + 127 + + + + + + + 255 + 63 + 63 + + + + + + + 127 + 0 + 0 + + + + + + + 170 + 0 + 0 + + + + + + + 127 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 0 + 0 + + + + + + + 255 + 0 + 0 + + + + + + + 255 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 0 + 0 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + <html><head/><body><p><br/></p></body></html> + + + + + + 10 + 110 + 131 + 53 + + + + + + + P [dBm] + + + + + + + Freq. [Hz] + + + + + + + + + + + + + + + 16 + 20 + 69 + 23 + + + + Device Adress + + + + + true + + + + 91 + 21 + 133 + 20 + + + + + 0 + 0 + + + + + + + 230 + 20 + 75 + 23 + + + + Connect + + + + + + + 0 + 0 + 329 + 21 + + + + + File + + + + + + + + + + Make current values default + + + + + Reset default values + + + + + line_devAdr + button_connect + line_Freq + line_Power + line_width + line_DC + button_RF + button_Pulse + + + + diff --git a/Legacy/Instrument_Drivers/design_files/Tabor_LS6081B_design.py b/Legacy/Instrument_Drivers/design_files/Tabor_LS6081B_design.py new file mode 100644 index 0000000..ea60461 --- /dev/null +++ b/Legacy/Instrument_Drivers/design_files/Tabor_LS6081B_design.py @@ -0,0 +1,414 @@ +# Form implementation generated from reading ui file 'Tabor_LS6081B.ui' +# +# Created by: PyQt6 UI code generator 6.6.1 +# +# WARNING: Any manual changes made to this file will be lost when pyuic6 is +# run again. Do not edit this file unless you know what you are doing. + + +from PyQt6 import QtCore, QtGui, QtWidgets + + +class Ui_MainWindow(object): + def setupUi(self, MainWindow): + MainWindow.setObjectName("MainWindow") + MainWindow.resize(329, 286) + self.centralwidget = QtWidgets.QWidget(parent=MainWindow) + self.centralwidget.setObjectName("centralwidget") + self.label = QtWidgets.QLabel(parent=self.centralwidget) + self.label.setGeometry(QtCore.QRect(30, 60, 61, 31)) + font = QtGui.QFont() + font.setPointSize(16) + self.label.setFont(font) + self.label.setObjectName("label") + self.label_2 = QtWidgets.QLabel(parent=self.centralwidget) + self.label_2.setGeometry(QtCore.QRect(170, 60, 61, 31)) + font = QtGui.QFont() + font.setPointSize(16) + self.label_2.setFont(font) + self.label_2.setObjectName("label_2") + self.layoutWidget = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget.setGeometry(QtCore.QRect(160, 110, 131, 53)) + self.layoutWidget.setObjectName("layoutWidget") + self.gridLayout_2 = QtWidgets.QGridLayout(self.layoutWidget) + self.gridLayout_2.setContentsMargins(0, 0, 0, 0) + self.gridLayout_2.setObjectName("gridLayout_2") + self.label_5 = QtWidgets.QLabel(parent=self.layoutWidget) + self.label_5.setObjectName("label_5") + self.gridLayout_2.addWidget(self.label_5, 1, 0, 1, 1) + self.label_6 = QtWidgets.QLabel(parent=self.layoutWidget) + self.label_6.setObjectName("label_6") + self.gridLayout_2.addWidget(self.label_6, 0, 0, 1, 1) + self.line_DC = QtWidgets.QLineEdit(parent=self.layoutWidget) + self.line_DC.setObjectName("line_DC") + self.gridLayout_2.addWidget(self.line_DC, 1, 1, 1, 1) + self.line_width = QtWidgets.QLineEdit(parent=self.layoutWidget) + self.line_width.setObjectName("line_width") + self.gridLayout_2.addWidget(self.line_width, 0, 1, 1, 1) + self.button_RF = QtWidgets.QPushButton(parent=self.centralwidget) + self.button_RF.setGeometry(QtCore.QRect(30, 180, 93, 28)) + self.button_RF.setObjectName("button_RF") + self.button_Pulse = QtWidgets.QPushButton(parent=self.centralwidget) + self.button_Pulse.setGeometry(QtCore.QRect(180, 180, 93, 28)) + self.button_Pulse.setObjectName("button_Pulse") + self.label_RF = QtWidgets.QLabel(parent=self.centralwidget) + self.label_RF.setGeometry(QtCore.QRect(30, 210, 91, 21)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 63, 63)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 63, 63)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 63, 63)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.label_RF.setPalette(palette) + self.label_RF.setAutoFillBackground(True) + self.label_RF.setObjectName("label_RF") + self.label_Pulse = QtWidgets.QLabel(parent=self.centralwidget) + self.label_Pulse.setGeometry(QtCore.QRect(180, 210, 91, 21)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 63, 63)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 63, 63)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 63, 63)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.label_Pulse.setPalette(palette) + self.label_Pulse.setAutoFillBackground(True) + self.label_Pulse.setObjectName("label_Pulse") + self.layoutWidget1 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget1.setGeometry(QtCore.QRect(10, 110, 131, 53)) + self.layoutWidget1.setObjectName("layoutWidget1") + self.gridLayout = QtWidgets.QGridLayout(self.layoutWidget1) + self.gridLayout.setContentsMargins(0, 0, 0, 0) + self.gridLayout.setObjectName("gridLayout") + self.label_4 = QtWidgets.QLabel(parent=self.layoutWidget1) + self.label_4.setObjectName("label_4") + self.gridLayout.addWidget(self.label_4, 1, 0, 1, 1) + self.label_3 = QtWidgets.QLabel(parent=self.layoutWidget1) + self.label_3.setObjectName("label_3") + self.gridLayout.addWidget(self.label_3, 0, 0, 1, 1) + self.line_Power = QtWidgets.QLineEdit(parent=self.layoutWidget1) + self.line_Power.setObjectName("line_Power") + self.gridLayout.addWidget(self.line_Power, 1, 1, 1, 1) + self.line_Freq = QtWidgets.QLineEdit(parent=self.layoutWidget1) + self.line_Freq.setObjectName("line_Freq") + self.gridLayout.addWidget(self.line_Freq, 0, 1, 1, 1) + self.label_7 = QtWidgets.QLabel(parent=self.centralwidget) + self.label_7.setGeometry(QtCore.QRect(16, 20, 69, 23)) + self.label_7.setObjectName("label_7") + self.line_devAdr = QtWidgets.QLineEdit(parent=self.centralwidget) + self.line_devAdr.setEnabled(True) + self.line_devAdr.setGeometry(QtCore.QRect(91, 21, 133, 20)) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_devAdr.sizePolicy().hasHeightForWidth()) + self.line_devAdr.setSizePolicy(sizePolicy) + self.line_devAdr.setObjectName("line_devAdr") + self.button_connect = QtWidgets.QPushButton(parent=self.centralwidget) + self.button_connect.setGeometry(QtCore.QRect(230, 20, 75, 23)) + self.button_connect.setObjectName("button_connect") + MainWindow.setCentralWidget(self.centralwidget) + self.menubar = QtWidgets.QMenuBar(parent=MainWindow) + self.menubar.setGeometry(QtCore.QRect(0, 0, 329, 21)) + self.menubar.setObjectName("menubar") + self.menuFile = QtWidgets.QMenu(parent=self.menubar) + self.menuFile.setObjectName("menuFile") + MainWindow.setMenuBar(self.menubar) + self.statusbar = QtWidgets.QStatusBar(parent=MainWindow) + self.statusbar.setObjectName("statusbar") + MainWindow.setStatusBar(self.statusbar) + self.actionSet_default = QtGui.QAction(parent=MainWindow) + self.actionSet_default.setObjectName("actionSet_default") + self.actionReset_default = QtGui.QAction(parent=MainWindow) + self.actionReset_default.setObjectName("actionReset_default") + self.menuFile.addAction(self.actionSet_default) + self.menuFile.addAction(self.actionReset_default) + self.menubar.addAction(self.menuFile.menuAction()) + + self.retranslateUi(MainWindow) + QtCore.QMetaObject.connectSlotsByName(MainWindow) + MainWindow.setTabOrder(self.line_devAdr, self.button_connect) + MainWindow.setTabOrder(self.button_connect, self.line_Freq) + MainWindow.setTabOrder(self.line_Freq, self.line_Power) + MainWindow.setTabOrder(self.line_Power, self.line_width) + MainWindow.setTabOrder(self.line_width, self.line_DC) + MainWindow.setTabOrder(self.line_DC, self.button_RF) + MainWindow.setTabOrder(self.button_RF, self.button_Pulse) + + def retranslateUi(self, MainWindow): + _translate = QtCore.QCoreApplication.translate + MainWindow.setWindowTitle(_translate("MainWindow", "Tabor LS6081B")) + self.label.setText(_translate("MainWindow", "CW")) + self.label_2.setText(_translate("MainWindow", "Pulse")) + self.label_5.setText(_translate("MainWindow", "DC [%]")) + self.label_6.setText(_translate("MainWindow", "Width [s]")) + self.button_RF.setText(_translate("MainWindow", "RF on/OFF")) + self.button_Pulse.setText(_translate("MainWindow", "Pulse on/OFF")) + self.label_RF.setText(_translate("MainWindow", "


")) + self.label_Pulse.setText(_translate("MainWindow", "


")) + self.label_4.setText(_translate("MainWindow", "P [dBm]")) + self.label_3.setText(_translate("MainWindow", "Freq. [Hz]")) + self.label_7.setText(_translate("MainWindow", "Device Adress")) + self.button_connect.setText(_translate("MainWindow", "Connect")) + self.menuFile.setTitle(_translate("MainWindow", "File")) + self.actionSet_default.setText(_translate("MainWindow", "Make current values default")) + self.actionReset_default.setText(_translate("MainWindow", "Reset default values")) diff --git a/Legacy/Instrument_Drivers/drivers/Agilent_304_FS_AG.py b/Legacy/Instrument_Drivers/drivers/Agilent_304_FS_AG.py new file mode 100644 index 0000000..5d2ed65 --- /dev/null +++ b/Legacy/Instrument_Drivers/drivers/Agilent_304_FS_AG.py @@ -0,0 +1,185 @@ +import serial +import time +import numpy as np + +timedelta = 0.02 + +class AG_304_FS: + + def __init__(self,adress): + #establish connection to device + try: + self.inst = serial.Serial(adress, 9600, timeout=1) # Replace with your COM port and baudrate + print(f'connected to {adress}') + except: + print(f'could not connect to {adress}') + return + time.sleep(1) + + def __del__(self): + self.inst.close() + print('Disconnected') + + def read_pressure(self): + '''read the pressure from the controller (Window 224, see manual)''' + hex_string = "028032323430033837" # pressure + + # Convert the hex string to bytes + bytes_to_send = bytes.fromhex(hex_string) + + # Send the bytes to the COM port + self.inst.write(bytes_to_send) + # Read response + data_b = self.inst.read(100) # read up to hundred bytes or timeout is reached + val_b = data_b[6:13] + try: + val = float(val_b) + except ValueError: + val = 0 + return(val) + + def read_temp(self): + '''read the pump temperature (Window 204)''' + hex_string = "028032303430033835" # temperature + + # Convert the hex string to bytes + bytes_to_send = bytes.fromhex(hex_string) + + # Send the bytes to the COM port + self.inst.write(bytes_to_send) + # Read response + data_b = self.inst.read(100) # read up to hundred bytes or timeout is reached + val_b = data_b[6:12] #get rid of additional bytes + try: + val = float(val_b) + except ValueError: + val = 0 + return(val) + + def read_status(self): + '''read pump status (window 205)''' + hex_string = "028032303530033834" # status + + # Convert the hex string to bytes + bytes_to_send = bytes.fromhex(hex_string) + + # Send the bytes to the COM port + self.inst.write(bytes_to_send) + # Read response + data_b = self.inst.read(100) # read up to hundred bytes or timeout is reached + val_b = data_b[6:12] #get rid of additional bytes + status = ['Stop', 'Waiting intlk', ' Starting', 'Autotuning', 'Braking', 'Normal', 'Fail'] + try: + val = int(val_b) + except ValueError: + val = 6 + return(status[val]) + + def read_freq(self): + '''read pump frequency [Hz] (window 203)''' + hex_string = "028032303330033832" # temperature + + # Convert the hex string to bytes + bytes_to_send = bytes.fromhex(hex_string) + + # Send the bytes to the COM port + self.inst.write(bytes_to_send) + # Read response + data_b = self.inst.read(100) # read up to hundred bytes or timeout is reached + val_b = data_b[6:12] #get rid of additional bytes + try: + val = int(val_b) + except ValueError: + val = 0 + return(val) + + def read_fan_status(self): + '''reads the status of the fan (window 144)''' + hex_string = "028031343430033832" + + # Convert the hex string to bytes + bytes_to_send = bytes.fromhex(hex_string) + + # Send the bytes to the COM port + self.inst.write(bytes_to_send) + # Read response + data_b = self.inst.read(100) # read up to hundred bytes or timeout is reached + val_b = data_b[5:7] #get rid of additional bytes (Response is different here compared to others) + val = int(val_b) + return(val) + + def set_fan_status(self,on): + '''sets the status of the fan (window 144)''' + if on == True or on == 'On' or on == 'ON' or on == 'on' or on == 1: + hex_string = "02803134333132034236" # sets external fan activation to on + # hex_string = "02803134343130034233" + else: + hex_string = "02803134333131034235" # sets external fan activation to off + + # Convert the hex string to bytes + bytes_to_send = bytes.fromhex(hex_string) + + # Send the bytes to the COM port + self.inst.write(bytes_to_send) + # Read response + data_b = self.inst.read(100) # read up to hundred bytes or timeout is reached + print(data_b) + val_b = data_b[5:7] #get rid of additional bytes (Response is different here compared to others) + val = int(val_b) + return(val) + + def start_pump(self): + '''start pump (Window 000)''' + hex_string = "02803030303131034233" + # Convert the hex string to bytes + bytes_to_send = bytes.fromhex(hex_string) + + # Send the bytes to the COM port + self.inst.write(bytes_to_send) + # Read response + data_b = self.inst.read(100) # read up to hundred bytes or timeout is reached + # if data_b[2:3] == b'\x06': + # print('Starting Pump') + # else: + # print('Pump cannot be started.') + + def stop_pump(self): + '''stop pump (Window ...)''' + hex_string = "02803030303130034232" + # Convert the hex string to bytes + bytes_to_send = bytes.fromhex(hex_string) + + # Send the bytes to the COM port + self.inst.write(bytes_to_send) + # Read response + data_b = self.inst.read(100) # read up to hundred bytes or timeout is reached + # if data_b == data_b[2:3] == b'\x06': + # print('Stop Pump') + # else: + # print('Pump cannot be stopped.') + + +# test area +# adress = 'COM2' +# ag = AG_304_FS(adress) +# print(ag.read_pressure()) +# ag.__del__() + +##Open the COM port +# ser = serial.Serial('COM2', 9600, timeout=1) # Replace with your COM port and baudrate + +# # Define the hex string +# hex_string = "028032303530033834" # pump status +# hex_string = "028032323430033837" # pressure + +# # Convert the hex string to bytes +# bytes_to_send = bytes.fromhex(hex_string) + +# # Send the bytes to the COM port +# ser.write(bytes_to_send) +# # Read response +# s = ser.read(100) # read up to ten bytes (timeout) +# print(s) + +# # Close the COM port +# ser.close() \ No newline at end of file diff --git a/Legacy/Instrument_Drivers/drivers/BK_9132B.py b/Legacy/Instrument_Drivers/drivers/BK_9132B.py new file mode 100644 index 0000000..08db4b1 --- /dev/null +++ b/Legacy/Instrument_Drivers/drivers/BK_9132B.py @@ -0,0 +1,96 @@ +import pyvisa +import time + +timedelta = 0.02 + +class BK_9132B: + + def __init__(self,adress): + #establish connection to device with pyvisa. The device is initiallized with visa adress "adress" + self.rm = pyvisa.ResourceManager() + try: + self.inst = self.rm.open_resource(adress) + except: + print(f'could not connect to {adress}') + return + time.sleep(1) + + def __del__(self): + self.rm.close() + + def read_Voltage(self): + #reads applied voltage of all three channels simultaneously. Output has format [V1, V2, V3]. + + command = f':MEAS:VOLT:ALL?' + data = str(self.inst.query(command)) + data = data.split(', ') #Split string in single objects + data = [float(i) for i in data] + time.sleep(timedelta) + return data + + def read_Current(self): + #reads applied current of all three channels simultaneously. Output has format [I1, I2, I3]. + + command = f':MEAS:CURR:ALL?' + data = str(self.inst.query(command)) + data = data.split(', ') #Split string in single objects + data = [float(i) for i in data] + time.sleep(timedelta) + return data + + def read_Power(self): + #reads applied power of all three channels simultaneously. Output has format [P1, P2, P3]. + + command = f':MEAS:POW:ALL?' + data = str(self.inst.query(command)) + data = data.split(', ') #Split string in single objects + data = [float(i) for i in data] + time.sleep(timedelta) + return data + + def set_Voltage(self, CH, Voltage): + #sets Voltage in Volt for channel CH + + #Selects channel which voltage should be changed: + command = f'INST CH{CH}' + self.inst.write(command) + time.sleep(timedelta) + + #Sets voltage of selected channel: + command = f':SOUR:VOLT {Voltage}' + self.inst.write(command) + time.sleep(timedelta) + + def set_Current(self, CH, Current): + #sets Current in Ampere for channel CH + + #Selects channel which current should be changed: + command = f'INST CH{CH}' + self.inst.write(command) + time.sleep(timedelta) + + #Sets current of selected channel: + command = f':SOUR:CURR {Current}' + self.inst.write(command) + time.sleep(timedelta) + + def set_Output(self, CH, On): + #sets Output of channel CH on or off. + # On -> On = True, + # Off -> On = False + + #Selects channel which output should be changed: + command = f'INST CH{CH}' + self.inst.write(command) + time.sleep(timedelta) + + #Sets output of selected channel: + + if On == True: + command = ':SOUR:CHAN:OUTP ON' + self.inst.write(command) + elif On == False: + command = ':SOUR:CHAN:OUTP OFF' + self.inst.write(command) + + time.sleep(timedelta) diff --git a/Legacy/Instrument_Drivers/drivers/BK_9174B.py b/Legacy/Instrument_Drivers/drivers/BK_9174B.py new file mode 100644 index 0000000..d794c64 --- /dev/null +++ b/Legacy/Instrument_Drivers/drivers/BK_9174B.py @@ -0,0 +1,107 @@ +import pyvisa +import time + +timedelta = 0.02 + +class BK_9174B: + + def __init__(self,adress): + #establish connection to device with pyvisa. The device is initiallized with visa adress "adress" + self.rm = pyvisa.ResourceManager() + try: + self.inst = self.rm.open_resource(adress, baud_rate=57600) #Default baud_rate is 9600 but this results in an error. + except: + print(f'could not connect to {adress}') + return + time.sleep(1) + + def __del__(self): + self.rm.close() + + def read_Voltage(self): + #reads applied voltage of both channels simultaneously. Output has format [V1, V2]. + + command1 = f':MEAS:VOLT?' + command2 = f':MEAS:VOLT 2?' + data1 = str(self.inst.query(command1)) + time.sleep(timedelta) + data2 = str(self.inst.query(command2)) + data = [float(data1), float(data2)] + time.sleep(timedelta) + return data + + def read_Current(self): + #reads applied current of both channels simultaneously. Output has format [I1, I2]. + + command1 = f':MEAS:CURR?' + command2 = f':MEAS:CURR 2?' + data1 = str(self.inst.query(command1)) + time.sleep(timedelta) + data2 = str(self.inst.query(command2)) + data = [float(data1), float(data2)] + time.sleep(timedelta) + return data + + def set_Voltage(self, CH, Voltage): + #sets Voltage in Volt for channel CH + + if CH==1: + command = f':VOLT {Voltage}' + self.inst.write(command) + time.sleep(timedelta) + + if CH==2: + command = f':VOLT2 {Voltage}' + self.inst.write(command) + time.sleep(timedelta) + + + def set_Current(self, CH, Current): + #sets Current in Ampere for channel CH + + if CH==1: + command = f':CURR {Current}' + self.inst.write(command) + time.sleep(timedelta) + + if CH==2: + command = f':CURR2 {Current}' + self.inst.write(command) + time.sleep(timedelta) + + def set_Output(self, CH, On): + #sets Output of channel CH on or off. + # ON = True -> Turns output on + # ON = False -> Turns output off + + if CH==1: + if On == True: + command = ':OUT ON' + self.inst.write(command) + elif On == False: + command = ':OUT OFF' + self.inst.write(command) + + if CH==2: + if On == True: + command = ':OUT2 ON' + self.inst.write(command) + elif On == False: + command = ':OUT2 OFF' + self.inst.write(command) + + time.sleep(timedelta) + + def set_Voltage_slewrate(self, CH, slewrate): + #sets slew rate of channel CH, [slewrate] = V/ms + + if CH==1: + command = f':OUT:SR:VOLT {slewrate}' + self.inst.write(command) + time.sleep(timedelta) + + if CH==2: + command = f':OUT:SR:VOLT2 {slewrate}' + self.inst.write(command) + time.sleep(timedelta) + diff --git a/Legacy/Instrument_Drivers/drivers/Keithley_2230G.py b/Legacy/Instrument_Drivers/drivers/Keithley_2230G.py new file mode 100644 index 0000000..30f1045 --- /dev/null +++ b/Legacy/Instrument_Drivers/drivers/Keithley_2230G.py @@ -0,0 +1,106 @@ +import pyvisa +import time + +timedelta = 0.05 + +class Keithley_2230G: + + def __init__(self,adress): + #establish connection to device with pyvisa. The device is initiallized with visa adress "adress" + self.rm = pyvisa.ResourceManager() + try: + self.inst = self.rm.open_resource(adress) + except: + print(f'could not connect to {adress}') + return + time.sleep(1) + + self.set_Output(1, False) + time.sleep(0.1) + self.set_Output(2, False) + time.sleep(0.1) + self.set_Output(3, False) + time.sleep(0.1) + + def __del__(self): + self.rm.close() + + def read_Voltage(self): + #reads applied voltage of all three channels simultaneously. Output has format [V1, V2, V3]. + + command = f':MEAS:VOLT? ALL' + data = str(self.inst.query(command)) + data = data.split(', ') #Split string in single objects + data = [float(i) for i in data] + time.sleep(timedelta) + return data + + def read_Current(self): + #reads applied current of all three channels simultaneously. Output has format [I1, I2, I3]. + + command = f':MEAS:CURR? ALL' + data = str(self.inst.query(command)) + data = data.split(', ') #Split string in single objects + data = [float(i) for i in data] + time.sleep(timedelta) + return data + + def read_Power(self): + #reads applied power of all three channels simultaneously. Output has format [P1, P2, P3]. + + command = f':MEAS:POW? ALL' + data = str(self.inst.query(command)) + data = data.split(', ') #Split string in single objects + data = [float(i) for i in data] + time.sleep(timedelta) + return data + + def set_Voltage(self, CH, Voltage): + #sets Voltage in Volt for channel CH + + #Selects channel which voltage should be changed: + command = f':INST:SEL CH{CH}' + self.inst.write(command) + time.sleep(timedelta) + + #Sets voltage of selected channel: + command = f':SOURCE:VOLT {Voltage}V' + self.inst.write(command) + time.sleep(timedelta) + + def set_Current(self, CH, Current): + #sets Current in Ampere for channel CH + + #Selects channel which current should be changed: + command = f':INST:SEL CH{CH}' + self.inst.write(command) + time.sleep(timedelta) + + #Sets current of selected channel: + command = f':SOURCE:CURR {Current}A' + self.inst.write(command) + time.sleep(timedelta) + + def set_Output(self, CH, On): + #sets Output of channel CH on or off. + # On -> On = True, + # Off -> On = False + + #Selects channel which output should be changed: + command = f':INST:SEL CH{CH}' + self.inst.write(command) + time.sleep(timedelta) + + #Sets output of selected channel: + + if On == True: + command = 'SOURCE:OUTP:ENAB ON' + self.inst.write(command) + time.sleep(timedelta) + command = 'SOUR:OUTP ON' #in case all three channels were disabled the device sets output = off automatically. Enabling one channel again will not turn on the output again. We have to do it by hand. + self.inst.write(command) + elif On == False: + command = 'SOURCE:OUTP:ENAB OFF' + self.inst.write(command) + + time.sleep(timedelta) diff --git a/Legacy/Instrument_Drivers/drivers/Keysight_34461A.py b/Legacy/Instrument_Drivers/drivers/Keysight_34461A.py new file mode 100644 index 0000000..d521b27 --- /dev/null +++ b/Legacy/Instrument_Drivers/drivers/Keysight_34461A.py @@ -0,0 +1,90 @@ +import socket +import time +import re +Buffer = 2048 + +class Keysight34461A: + + def __init__(self, ip): + #establishes ethernet connection to the device with ip "ip" + try: + self.s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + self.s.connect((ip, 5024)) + time.sleep(0.2) + self.s.recv(Buffer) + except: + print(f'could not connect to device with IP: {ip}') + + def __del__(self): + #closes the connection + self.s.send(b'ABOR\r\n') + self.s.close() + + def configure(self,VoC = 'VOLT', DC = 'DC', meas_range = 'AUTO', trig_source = 'IMM', trig_count = 'INF'): + #configures the device to measure the desired value: + #VoC(Volt or Current): measure volt or current. Values: "VOLT";"CURR";' + #DC(DirectCureent): measure DC or AC. Values: "DC";"AC" + #meas_range:sets the measurement range. Values:'AUTO' maybe others, I cant't find them in the manual + #trig_source: sets how the device in triggered. Values: 'IMM', 'BUS', 'EXT', 'INT' (see manual p.434) + #trig_count:How many triggers are excepted before device stops measurement. Values:'INF', (1 to 1e6) + + command = f'CONF:{VoC}:{DC} {meas_range}\r\n' + self.s.send(command.encode('utf-8')) + time.sleep(0.2) + + command = f'CONF:{VoC}:RANG {meas_range}\r\n' + self.s.send(command.encode('utf-8')) + time.sleep(0.2) + + command = f'TRIG:SOUR {trig_source}\r\n' + self.s.send(command.encode('utf-8')) + time.sleep(0.2) + + command = f'TRIG:COUN {trig_count}\r\n' + self.s.send(command.encode('utf-8')) + time.sleep(0.2) + + def configure_temp(self,Sensor = 'TC', Type = 'R', trig_source = 'IMM', trig_count = 'INF'): + #configures the device to measure temperature: + #Sensor: : {FRTD|RTD|FTHermistor|THERmistor|TCouple} (Manual p.451) + #Type: 85 (only possible value for RTD/FRTD), 5000 (only possible value for THERmistor/FTHermistor), or E, J, K, N, R, T (TCouple). + #trig_source: sets how the device in triggered. Values: 'IMM', 'BUS', 'EXT', 'INT' (see manual p.434) + #trig_count:How many triggers are excepted before device stops measurement. Values:'INF', (1 to 1e6) + + command = f'CONF:TEMP {Sensor},{Type}\r\n' + print(command) + self.s.send(command.encode('utf-8')) + time.sleep(0.2) + + command = f'TRIG:SOUR {trig_source}\r\n' + self.s.send(command.encode('utf-8')) + time.sleep(0.2) + + command = f'TRIG:COUN {trig_count}\r\n' + self.s.send(command.encode('utf-8')) + time.sleep(0.2) + + def initiate_measurement(self): + #initializes measurement + self.s.send(b'INIT\r\n') + time.sleep(0.2) + + def stop_measurement(self): + #stops measurement + self.s.send(b'ABOR\r\n') + time.sleep(0.2) + + def read(self): + #gets current value from device + self.s.send(b'R? 1\r\n') + time.sleep(0.2) + data = str(self.s.recv(Buffer))[14:] + try: + data = float(data.split('\\')[0]) + except: + data = 0 + self.s.send(b'R?\r\n') + time.sleep(0.2) + self.s.recv(Buffer)[14:] + return data + \ No newline at end of file diff --git a/Legacy/Instrument_Drivers/drivers/Keysight_U2042XA.py b/Legacy/Instrument_Drivers/drivers/Keysight_U2042XA.py new file mode 100644 index 0000000..d68a3aa --- /dev/null +++ b/Legacy/Instrument_Drivers/drivers/Keysight_U2042XA.py @@ -0,0 +1,79 @@ +import pyvisa +import time + +class KeysightU2042XA: + + def __init__(self,adress,freq,cal=1): + #establish connection to device with pyvisa. The device is initiallized with visa adress "adress" and with frequency "freq". If cal == 1 a on e time calibration + #and zeroing is performed + self.rm = pyvisa.ResourceManager() + try: + self.inst = self.rm.open_resource(adress) + except: + print(f'could not connect to {adress}') + return + self.inst.timeout = 20000 + self.inst.write('SYST:PRES') + # time.sleep(0.2) + self.inst.write(f'SENS:FREQ {freq}') + time.sleep(0.2) + if cal == 1: + self.inst.write('CAL:ZERO:AUTO ONCE') + time.sleep(16) + self.inst.write('CAL:AUTO ONCE') + time.sleep(6) + self.inst.write('CAL:ZERO:AUTO OFF') + self.inst.write('CAL:AUTO OFF') + self.inst.write('INIT:CONT ON') + time.sleep(2) + + def __del__(self): + self.rm.close() + + def activate_CW(self): + #bring the device in a state to measure CW. The values can then be obtained by "read" + self.inst.write('CAL:ZERO:AUTO OFF') + self.inst.write('CAL:AUTO OFF') + self.inst.write('DET:FUNC AVER') + self.inst.write('INIT:CONT ON') + + def activate_trace(self): + #brings the device in a state to measure traces. The traces are obtained with read_trace + self.inst.write('CAL:ZERO:AUTO OFF') + self.inst.write('CAL:AUTO OFF') + self.inst.write('DET:FUNC NORM') + self.inst.write('INIT:CONT OFF') + self.inst.write('TRIG:SOUR INT') + self.inst.write('TRAC:STAT ON') + + def read(self): + #reads the CW or Pulse measurement from the device + data = float(self.inst.query('FETC?')) + return data + + def read_trace(self,res): + #reads a trace with resolution "res" from the device + self.inst.write('INIT') + # data = self.inst.query(f"TRAC? {res}") + data = self.inst.query_binary_values(f"TRAC? {res}", datatype='f', is_big_endian = True) + # self.inst.write('TRAC? LRES') + # data = self.inst.read_raw() + return data + + def set_trace_time(self,t): + #sets the duration of the trace + self.inst.write(f"SENS:TRAC:TIME {t}") + + def set_trigger_delay(self,t): + #sets the trigger delay of the trace + print(f'TRIG:DEL {t}') + self.inst.write(f'TRIG:DEL {t}') + + def set_trigger_level(self,*args): + #sets the trigger level of the device. If no argument is given it is set to auto + if args: + self.inst.write(f"TRIG:LEV:AUTO 0") + self.inst.write(f"TRIG:LEV {args[0]}") + else: + self.inst.write(f"TRIG:LEV:AUTO 1") + diff --git a/Legacy/Instrument_Drivers/drivers/Lakeshore218.py b/Legacy/Instrument_Drivers/drivers/Lakeshore218.py new file mode 100644 index 0000000..fa7be7e --- /dev/null +++ b/Legacy/Instrument_Drivers/drivers/Lakeshore218.py @@ -0,0 +1,43 @@ +import pyvisa +import time + +class LakeShore218: + + def __init__(self,adress): + #establish connection to device with pyvisa. The device is initiallized with visa adress "adress" + self.rm = pyvisa.ResourceManager() + try: + self.inst = self.rm.open_resource(adress) + except: + print(f'could not connect to {adress}') + return + time.sleep(1) + + def __del__(self): + self.rm.close() + + def read(self,CH): + #reads temperature Data in Kelvin from channels specified in CH. CH can be 1-8 for integer output of Channel CH. + #if CH=0 the output is a List of all 8 channels. CH can be a List (e.g. [1,4,7]) for the output of a List of specific channels. + if isinstance(CH, int): #if CH is a integer: Read a single channel + if CH>=0 and CH<9: + command = f'KRDG? {CH}' + data = str(self.inst.query(command)) + data = data.split(',') #Split string in single objects (important for CH=0) + data = [float(i) for i in data] + time.sleep(0.1) + + elif isinstance(CH, list): #if CH is a list: Read all specified channels manually. + data = [] + for i in CH: + command = f'KRDG? {i}' + data_single = float(self.inst.query(command)) + data.append(data_single) + time.sleep(0.1) + + else: + data = [0] + + return data + + diff --git a/Legacy/Instrument_Drivers/drivers/Lakeshore336.py b/Legacy/Instrument_Drivers/drivers/Lakeshore336.py new file mode 100644 index 0000000..321970d --- /dev/null +++ b/Legacy/Instrument_Drivers/drivers/Lakeshore336.py @@ -0,0 +1,76 @@ +import socket +import time + +TCP_PORT = 7777 +Buffer = 80 + +class LakeShore336: + + def __init__(self, ip): + #establishes connection to device via ethernet. + try: + self.s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + self.s.connect((ip, TCP_PORT)) + self.s.settimeout(1) + time.sleep(0.2) + except: + print(f'could not connect to device with IP: {ip}') + + def __del__(self): + self.s.close() + + def read(self,CH): #reads temperature Data in Kelvin from channels specified in CH. CH is in format ['A','B','C','D'] + for i in CH: + command = f'KRDG? {i}\r\n' + self.s.send(command.encode('utf-8')) + time.sleep(0.2) + data = str(self.s.recv(Buffer))[2:] + data = data.split('\\r\\n') + data = [float(i) for i in data[:-1]] + return data + + def set_T(self,out,T): + #set the temperture setpoint "T" (in preferred units of the control loop sensor) of output "out" + command = f'SETP {out},{T}\r\n' + self.s.send(command.encode('utf-8')) + time.sleep(0.2) + + def set_Ramp(self,out,ON,ramp): + #sets temperature rate of output "out", turns it on, if "ON" is not 0 or 'OFF', with ramprate "ramp" in Kelvin per minute. + #If a ramprate of 0 is entered, the ramprate is turned off + if ramp == 0: + ON = 0 + if ON == 0 or ON == 'OFF': + command = f'RAMP {out},0\r\n' + else: + command = f'RAMP {out},{ON},{ramp}\r\n' + self.s.send(command.encode('utf-8')) + time.sleep(0.2) + + def conf_outp(self,out=1,mode=0,inp=1,powup=0): + #configures putputmode: + # Specifies which output to configure: 1–4. + # Specifies the control mode. Valid entries: 0 = Off, 1 = ClosedLoop PID, 2 = Zone, 3 = Open Loop, 4 = Monitor Out,5 = Warmup Supply + # Specifies which input to use for control: 0 = None, 1 = A, 2 = B, 3 = C, 4 = D, 5 = Input D2, 6 = Input D3, 7 = Input D4,8 = Input D5 for 3062 option) + # Specifies whether the output remains on or shuts off afterpower cycle. Valid entries: 0 = powerup enable off,1 = powerup enable on. + command = f'OUTMODE {out},{mode},{inp},{powup}\r\n' + self.s.send(command.encode('utf-8')) + time.sleep(0.2) + + def turn_on_outp(self, out=1, range = 0): + #turns the heater output on or off by setting the heater range to: + #For outputs 1 and 2: 0 = Off, 1 = Low, 2 = Medium, 3 = High + #For outputs 3 and 4: 0 = Off, 1 = On + command = f'Range {out},{range}\r\n' + self.s.send(command.encode('utf-8')) + time.sleep(0.2) + + def conf_pid(self, out, Pid, pId, piD): + #sets PID values of output "out" + # Specifies which output’s control loop to configure: 1 or 2. + #

The value for output Proportional (gain): 0.1 to 1000. + # The value for output Integral (reset): 0.1 to 1000. + # The value for output Derivative (rate): 0 to 200. + command = f'PID {out},{Pid},{pId},{piD}\r\n' + self.s.send(command.encode('utf-8')) + time.sleep(0.2) \ No newline at end of file diff --git a/Legacy/Instrument_Drivers/drivers/Tabor_LS6081B.py b/Legacy/Instrument_Drivers/drivers/Tabor_LS6081B.py new file mode 100644 index 0000000..6d2cf8d --- /dev/null +++ b/Legacy/Instrument_Drivers/drivers/Tabor_LS6081B.py @@ -0,0 +1,78 @@ +import socket +import time + +TCP_PORT = 10000 +Buffer = 80 + +class TaborLS6081B: + + def __init__(self, ip): + #establishes connection via ethernet to ip "ip" + try: + self.s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + time.sleep(0.1) + self.s.settimeout(5) + time.sleep(0.1) + self.s.connect((ip, TCP_PORT)) + time.sleep(0.2) + except: + print(f'could not connect to device with IP: {ip}') + + def __del__(self): + #closes connection + time.sleep(0.1) + command = 'OUTP OFF\n' + self.s.send(command.encode('utf-8')) + self.s.close() + + def CW(self,P,freq,ON): + # enables CW mode, and can turn power on or off + #P (Power): sets power value in dBm. Values:-100-20 + #freq: sets frequency. Values: 9e3-12e9 + #ON: turn RF on or off. Values: 'OFF','On',0,1 + command = 'INIT:CONT ON\n' + self.s.send(command.encode('utf-8')) + time.sleep(0.1) + command = 'SOUR:PULS OFF\n' + time.sleep(0.1) + self.s.send(command.encode('utf-8')) + command = f'SOUR:FREQ {freq}\n' + self.s.send(command.encode('utf-8')) + time.sleep(0.1) + command = f'SOUR:POW {P}\n' + self.s.send(command.encode('utf-8')) + time.sleep(0.1) + command = f'OUTP {ON}\n' + self.s.send(command.encode('utf-8')) + + def Pulse(self,P,freq,width,duty,ON): + # enables pulse mode, and can turn power on or off. Uses internal source for timing. + #P (Power): sets power value in dBm. Values:-100-20 + #freq: sets frequency. Values: 9e3-12e9 + #width: length of pulse (including off time) Values: (1-1e-6)s + #duty(dutycycle): sets the duty cycle of the puls. Values:0-1 Setting it to 0 or 1 might not be the best thing (haven't tried it) + #ON: turn RF on or off. Values: 'OFF','On',0,1 + command = 'INIT:CONT ON\n' + self.s.send(command.encode('utf-8')) + time.sleep(0.1) + command = f'SOUR:FREQ {freq}\n' + self.s.send(command.encode('utf-8')) + time.sleep(0.1) + command = f'SOUR:POW {P}\n' + self.s.send(command.encode('utf-8')) + command = 'SOUR:PULS 1\n' + time.sleep(0.1) + self.s.send(command.encode('utf-8')) + time.sleep(0.1) + command = ':PULS:SOUR INT\n' + self.s.send(command.encode('utf-8')) + time.sleep(0.1) + command = f':PULS:FREQ {1/width}\n' + self.s.send(command.encode('utf-8')) + time.sleep(0.1) + command = f':PULS:WIDT {duty*width}\n' + self.s.send(command.encode('utf-8')) + time.sleep(0.1) + command = f'OUTP {ON}\n' + self.s.send(command.encode('utf-8')) + \ No newline at end of file diff --git a/Legacy/Instrument_Drivers/global_variables.py b/Legacy/Instrument_Drivers/global_variables.py new file mode 100644 index 0000000..5a2a8ed --- /dev/null +++ b/Legacy/Instrument_Drivers/global_variables.py @@ -0,0 +1,93 @@ +import multiprocessing +import multiprocessing.managers + +#This starts a server (mulitprocessing basemanager) where all standalones store their current measurement values and set_parameters. This data can be accessed from +#all python instances running on this computer. It can be extended so it can be reached from other PCs aswell. +#The dictionarioes which store the values must be initialized and registered here. To register a new dictionary an (empty) dictionary must be created and a function +#must be defined which returns this dictionary. After that the dictionary must be registered in the manager. This is done with: +#MyListManager.register('syncdict',get_dict) where 'syncdict' is the name that other programs use to reach this dictionary and get_dict the function which return the +#dictionary. +#The values don't have to be stored in dictionaries. List or simple variables also work. But I haven't tested all posibillities. +#To access these dictionaries from other programs, a basemanager must be created in the program which is then connected to the manager created here. There the +#dictionary must also be registered. Finally a local variable is created which points at the dictionary on this server. The following example is from Keysigh_U2042XA_control + +#manager = multiprocessing.managers.BaseManager(address=('localhost',5001), authkey=b'') +#manager.connect() +#manager.register('sync_K_U2042XA') +#self.sync_K_U2042XA = manager.sync_K_U2042XA() <- the local variable "self.sync_K_U2042XA" can have any name + +class MyListManager(multiprocessing.managers.BaseManager): + pass + +#!!! +#please use unambigous names +#!!! + +syncdict = {} #dummy where everything can be stored +sync_AG_304 = {} +sync_K_U2042XA = {} +sync_K_34461A = {} +sync_K_34461A_2 = {} +sync_T_LS6081B = {} +sync_LS_336 = {} +sync_LS_218 = {} +sync_BK_9131B = {} +sync_BK_9132B = {} +sync_BK_9132B_2 = {} +sync_BK_9174B = {} +sync_BK_9174B_2 = {} +sync_Keithley_2230G = {} + +def get_dict(): + return syncdict +def get_dict_sync_AG_304(): + return sync_AG_304 +def get_dict_sync_K_U2042XA(): + return sync_K_U2042XA +def get_dict_sync_K_34461A(): + return sync_K_34461A +def get_dict_sync_K_34461A_2(): + return sync_K_34461A_2 +def get_dict_sync_T_LS6081B(): + return sync_T_LS6081B +def get_dict_sync_LS_336(): + return sync_LS_336 +def get_dict_sync_LS_218(): + return sync_LS_218 +def get_dict_sync_BK_9131B(): + return sync_BK_9131B +def get_dict_sync_BK_9132B(): + return sync_BK_9132B +def get_dict_sync_BK_9132B_2(): + return sync_BK_9132B_2 +def get_dict_sync_BK_9174B(): + return sync_BK_9174B +def get_dict_sync_BK_9174B_2(): + return sync_BK_9174B_2 +def get_dict_sync_Keithley_2230G(): + return sync_Keithley_2230G + +def main(): + MyListManager.register('syncdict',get_dict) + MyListManager.register('sync_AG_304',get_dict_sync_AG_304) + MyListManager.register('sync_K_U2042XA',get_dict_sync_K_U2042XA) + MyListManager.register('sync_T_LS6081B',get_dict_sync_T_LS6081B) + MyListManager.register('sync_LS_336',get_dict_sync_LS_336) + MyListManager.register('sync_K_34461A',get_dict_sync_K_34461A) + MyListManager.register('sync_K_34461A_2',get_dict_sync_K_34461A_2) + MyListManager.register('sync_LS_218',get_dict_sync_LS_218) + MyListManager.register('sync_BK_9131B', get_dict_sync_BK_9131B) + MyListManager.register('sync_BK_9132B', get_dict_sync_BK_9132B) + MyListManager.register('sync_BK_9132B_2', get_dict_sync_BK_9132B_2) + MyListManager.register('sync_BK_9174B', get_dict_sync_BK_9174B) + MyListManager.register('sync_BK_9174B_2', get_dict_sync_BK_9174B_2) + MyListManager.register('sync_Keithley_2230G', get_dict_sync_Keithley_2230G) + + manager = MyListManager(address=('localhost',5001), authkey=b'') + manager.start() + + input("Press Enter (Not Str+C) to exit. But kill client first".center(50,"-")) #keeps program running until enter is pressed + manager.shutdown() + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/Legacy/Instrument_Drivers/import_txt.py b/Legacy/Instrument_Drivers/import_txt.py new file mode 100644 index 0000000..3698ae0 --- /dev/null +++ b/Legacy/Instrument_Drivers/import_txt.py @@ -0,0 +1,204 @@ +import csv +import numpy as np +import fnmatch +import datetime + + +def read_wdate(path,dateformat,rowheader = 0,delim = '\t'): + #imports csv data from path, with header in rows to "rowheader", time in first column in "dateformat", and with delimiter "delim". Returns header and times as list and data as numpy array. + rows = [] + header = [] + with open(path, 'r') as file: + csvreader = csv.reader(file,delimiter = delim) + for i, row in enumerate(csvreader): + header.append(row) + if i == rowheader: + break + for row in csvreader: + rows.append(row) + rows = rows[rowheader:] + + temp = rows[0] #Check if las column is empty and adjust number of colums + if temp[-1] == '': + c = len(temp)-1 + else: + c = len(temp) + out = np.empty([len(rows),c-1]) + + if len(fnmatch.filter(rows[-1],'*,*')) > 0: #Convert comma to point in numbers if necassary + for i,r in enumerate(rows): + temp = [s.replace(',','.') for s in r] + for n,s in enumerate(temp): #replace empty entries to 0, so it can be converted + if s == '' or s == 'Off': + temp[n] = '0' + elif s == 'On': + temp[n] = '1' + try: #if therer a non convertable string in the row replace them with NaN + out[i] = np.asarray(temp[1:c],dtype = float) #convert row to np array and set in in "out" array + except: + for k,v in enumerate(temp[1:c]): #find the entry that cannot be converted and set it to NaN + try: + float(v) + except: + temp[k+1] = 'Nan' + out[i] = np.asarray(temp[1:c],dtype = float) #convert the modified row to np array and set it in "out" + else: + for i,r in enumerate(rows): + for n,s in enumerate(r): #replace empty entries to 0, so it can be converted + if s == '' or s == 'Off': + r[n] = '0' + elif s == 'On': + r[n] = '1' + + try: #if therer a non convertable string in the row replace them with NaN + out[i] = np.asarray(r[1:c],dtype = float) #convert row to np array and set in in "out" array + except: + for k,v in enumerate(r[1:c]): #find the entry that cannot be converted and set it to NaN + try: + float(v) + except: + r[k+1] = 'NaN' + out[i] = np.asarray(r[1:c],dtype = float) #convert the modified row to np array and set it in "out" + #Create time list + times = [] + for r in rows: + times.append(datetime.datetime.strptime(r[0],dateformat)) + + + return(header,out,times) + +def read_wheader(path,rowheader = 0,delim = '\t'): + #imports csv data from path, with header in rows to "rowheader", and with delimiter "delim". Returns header as list and data as numpy array. + rows = [] + header = [] + with open(path, 'r') as file: + csvreader = csv.reader(file,delimiter = delim) + for i, row in enumerate(csvreader): + header.append(row) + if i == rowheader: + break + for row in csvreader: + rows.append(row) + rows = rows[rowheader:] + + temp = rows[0] #Check if las column is empty and adjust number of colums + if temp[-1] == '': + c = len(temp)-1 + else: + c = len(temp) + out = np.empty([len(rows),c]) + + if len(fnmatch.filter(rows[-1],'*,*')) > 0: #Convert comma to point in numbers if necassary + for i,r in enumerate(rows): + temp = [s.replace(',','.') for s in r] + for n,s in enumerate(temp): #replace empty entries to 0, so it can be converted + if s == '' or s == 'Off': + temp[n] = '0' + elif s == 'On': + temp[n] = '1' + try: #if therer a non convertable string in the row replace them with NaN + out[i] = np.asarray(temp[0:c],dtype = float) #convert row to np array and set in in "out" array + except: + for k,v in enumerate(temp[0:c]): #find the entry that cannot be converted and set it to NaN + try: + float(v) + except: + temp[k] = 'Nan' + out[i] = np.asarray(temp[0:c],dtype = float) #convert the modified row to np array and set it in "out" + else: + for i,r in enumerate(rows): + for n,s in enumerate(r): #replace empty entries to 0, so it can be converted + if s == '' or s == 'Off': + r[n] = '0' + elif s == 'On': + r[n] = '1' + + try: #if therer a non convertable string in the row replace them with NaN + out[i] = np.asarray(r[0:c],dtype = float) #convert row to np array and set in in "out" array + except: + for k,v in enumerate(r[0:c]): #find the entry that cannot be converted and set it to NaN + try: + float(v) + except: + r[k] = 'NaN' + out[i] = np.asarray(r[0:c],dtype = float) #convert the modified row to np array and set it in "out" + + return(header,out) + +def read_raw_np(path,delim = '\t'): #imports csv data from path, without header, and with delimiter "delim". Returns data as numpy array. + rows = [] + with open(path, 'r') as file: + csvreader = csv.reader(file,delimiter = delim) + for row in csvreader: + rows.append(row) + + temp = rows[0] #Check if last column is empty and adjust number of colums + if temp[-1] == '': + c = len(temp)-1 + else: + c = len(temp) + out = np.empty([len(rows),c]) + + if len(fnmatch.filter(rows[-1],'*,*')) > 0: #Convert comma to point in numbers if necassary + for i,r in enumerate(rows): + temp = [s.replace(',','.') for s in r] + for n,s in enumerate(temp): #replace empty entries to 0, so it can be converted + if s == '' or s == 'Off': + temp[n] = '0' + elif s == 'On': + temp[n] = '1' + try: #if therer a non convertable string in the row replace them with NaN + out[i] = np.asarray(temp[0:c],dtype = float) #convert row to np array and set in in "out" array + except: + for k,v in enumerate(temp[0:c]): #find the entry that cannot be converted and set it to NaN + try: + float(v) + except: + temp[k] = 'NaN' + out[i] = np.asarray(temp[0:c],dtype = float) #convert the modified row to np array and set it in "out" + else: + for i,r in enumerate(rows): + for n,s in enumerate(r): #replace empty entries to 0, so it can be converted + if s == '' or s == 'Off': + r[n] = '0' + elif s == 'On': + r[n] = '1' + + try: #if therer a non convertable string in the row replace them with NaN + out[i] = np.asarray(r[0:c],dtype = float) #convert row to np array and set in in "out" array + except: + for k,v in enumerate(r[0:c]): #find the entry that cannot be converted and set it to NaN + try: + float(v) + except: + r[k] = 'NaN' + out[i] = np.asarray(r[0:c],dtype = float) #convert the modified row to np array and set it in "out" + + + return(out) + +def read_raw(path,delim = '\t',convert = False): + #imports csv data from path, without header, and with delimiter "delim". Can also import strings. Returns data as list. If convert = True commas will be changed to points. + #Carefull: not only converts commas in numbers, but in all strings. + rows = [] + with open(path, 'r') as file: + csvreader = csv.reader(file,delimiter = delim) + for row in csvreader: + rows.append(row) + + temp = rows[0] #Check if last column is empty and adjust number of colums + if temp[-1] == '': + c = len(temp)-1 + else: + c = len(temp) + out = [len(rows),c] + + if len(fnmatch.filter(rows[-1],'*,*')) > 0 and convert == True: #Convert comma to point in numbers if necassary + for i,r in enumerate(rows): + temp = [s.replace(',','.') for s in r] + out[i] = temp[0:c] + else: + for i,r in enumerate(rows): + out[i] = r[0:c] + + return(out) \ No newline at end of file diff --git a/Legacy/Instrument_Drivers/requirements.txt b/Legacy/Instrument_Drivers/requirements.txt new file mode 100644 index 0000000..323c490 --- /dev/null +++ b/Legacy/Instrument_Drivers/requirements.txt @@ -0,0 +1,10 @@ +numpy==1.26.4 +PyQt6==6.6.1 +PyQt6-Qt6==6.6.2 +PyQt6-sip==13.6.0 +pyqtgraph==0.13.4 +pyserial==3.5 +PyVISA==1.14.1 +PyVISA-py==0.7.2 +simple-pid==2.0.1 +typing_extensions==4.10.0 diff --git a/Legacy/TF_Control/.DS_Store b/Legacy/TF_Control/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..1ac39c1b9800acebd7be692e522d449051aa22d4 GIT binary patch literal 6148 zcmeHK!A=4(5S_v%pklHI4<0=96XfP`C96NcL2tlOoKxO90=$S_JLNh8V z(c%yVM1ez7fX{ABW1QL?r*`xFE@(g#bDBr_wA&vS^Q9%eUZiQ37a3yt<8jsK zd|vODH~CfG@@bQ!#!}S6z6x5P5U$E`hOF?|NBYuOB4_V{*?kMO8Y5a z+FWg|Y>sQKMjN8Baa?K9q@Z)<*bKN7pQ9PWGtC2F;;^&`4@~|D7#XA!1^!flZ-DK& A-2eap literal 0 HcmV?d00001 diff --git a/Legacy/TF_Control/.gitignore b/Legacy/TF_Control/.gitignore new file mode 100644 index 0000000..4a7c6e1 --- /dev/null +++ b/Legacy/TF_Control/.gitignore @@ -0,0 +1,20 @@ +## list of files and file extensions that should be ignored by git +#pycache files +*pyc + +# #config files +# *_config.txt +imc_Cernox_calibr_config.txt + +#virtual environment +env +.venv + +#cernox calibration +calibration_data + +#test data for Result_window +test_data + +#the usual messy files +test.* \ No newline at end of file diff --git a/Legacy/TF_Control/AMR_calibration.py b/Legacy/TF_Control/AMR_calibration.py new file mode 100644 index 0000000..3316d5b --- /dev/null +++ b/Legacy/TF_Control/AMR_calibration.py @@ -0,0 +1,377 @@ +from PyQt6.QtGui import * +from PyQt6.QtWidgets import * +from PyQt6.QtCore import * + +import multiprocessing +import multiprocessing.managers + +import time +from timeit import default_timer as timer +from datetime import datetime +import csv +import random +import traceback, sys, os +import numpy as np +from scipy.optimize import curve_fit +from design_files.AMR_calibration_design import Ui_MainWindow + +# Get the current script's directory +current_dir = os.path.dirname(os.path.abspath(__file__)) +# Get the parent directory by going one level up +parent_dir = os.path.dirname(current_dir) +# Add the parent directory to sys.path +sys.path.append(parent_dir) +from scripts import import_txt + + +class WorkerSignals(QObject): + ''' + Defines the signals available from a running worker thread. + Supported signals are: + finished: No data + error: tuple (exctype, value, traceback.format_exc() ) + result: object data returned from processing, anything + progress: int indicating % progress + ''' + finished = pyqtSignal() + error = pyqtSignal(tuple) + result = pyqtSignal(object) + progress = pyqtSignal(list) + +class Worker(QRunnable): + ''' + Worker thread + Inherits from QRunnable to handler worker thread setup, signals and wrap-up. + :param callback: The function callback to run on this worker thread. Supplied args and + kwargs will be passed through to the runner. + :type callback: function + :param args: Arguments to pass to the callback function + :param kwargs: Keywords to pass to the callback function + ''' + + def __init__(self, fn, *args, **kwargs): + super(Worker, self).__init__() + + # Store constructor arguments (re-used for processing) + self.fn = fn + self.args = args + self.kwargs = kwargs + self.signals = WorkerSignals() + + # Add the callback to our kwargs + self.kwargs['progress_callback'] = self.signals.progress + + @pyqtSlot() + def run(self): + ''' + Initialise the runner function with passed args, kwargs. + ''' + + # Retrieve args/kwargs here; and fire processing using them + try: + result = self.fn(*self.args, **self.kwargs) + except: + traceback.print_exc() + exctype, value = sys.exc_info()[:2] + self.signals.error.emit((exctype, value, traceback.format_exc())) + else: + self.signals.result.emit(result) # Return the result of the processing + finally: + self.signals.finished.emit() # Done + +def get_float(Qline,default = 0): #gets value from QLineEdit and converts it to float. If text is empty or cannot be converted, it returns "default" which is 0, if not specified + try: + out = float(Qline.text()) + except: + out = default + return(out) + +def update_single_entry(dict,name,ind,val): #updates a single value in global vars. To do so it gets the current value of "dict('name')", replaces "val" at indec "ind" and sends this back + data = dict.get(f"{name}") #get data + data[ind] = val #replace entry + dict.update({f"{name}":data}) #send data back + +class MainWindow(QMainWindow, Ui_MainWindow): + def __init__(self, *args, **kwargs): + # Get the current script's directory + self.current_dir = os.path.dirname(os.path.abspath(__file__)) + # Get the parent directory by going one level up + self.parent_dir = os.path.dirname(current_dir) + + #establish connection to global variables} + try: #try to connect to global variables + manager = multiprocessing.managers.BaseManager(address=('localhost',5001), authkey=b'') + manager.connect() + manager.register('sync_BK_9131B') + manager.register('sync_BK_9174B') + manager.register('sync_BK_9174B_2') + manager.register('sync_imc') + manager.register('sync_converted') + self.sync_BK_9131B = manager.sync_BK_9131B() + self.sync_BK_9174B = manager.sync_BK_9174B() + self.sync_BK_9174B_2 = manager.sync_BK_9174B_2() + self.sync_imc = manager.sync_imc() + self.sync_converted = manager.sync_converted() + except: #open global variables, if no connection can be made (i.e. it is not running). Then connect to it + # subprocess.call(['D:\\Python instrument drivers\\env\\Scripts\\python.exe', 'D:\\Python instrument drivers\\StandAlones\\global_variables.py']) + self.global_vars = QProcess() + self.global_vars.start(self.current_dir+"\\.venv\\Scripts\\python.exe", [self.current_dir+'\\global_variables_TF.py']) + manager.connect() + manager.register('sync_BK_9131B') + manager.register('sync_BK_9174B') + manager.register('sync_BK_9174B_2') + manager.register('sync_imc') + manager.register('sync_converted') + self.sync_BK_9131B = manager.sync_BK_9131B() + self.sync_BK_9174B = manager.sync_BK_9174B() + self.sync_BK_9174B_2 = manager.sync_BK_9174B_2() + self.sync_imc = manager.sync_imc() + self.sync_converted = manager.sync_converted() + print('!!!\nI opened global variables myself. If you close me, global variables will shut down too. Consider starting global variables in own instance for more security\n!!!') + + #fill in variables, in case they are not defined in global variables + + #import Gui from QT designer file + super(MainWindow, self).__init__(*args, **kwargs) + self.setupUi(self) + + #setup plot + + #set up pyQT threadpool + self.threadpool = QThreadPool() + + #start standard threads + worker = Worker(self.convert_Data) + self.threadpool.start(worker) + + #define signals and slots + self.action_save_default.triggered.connect(self.save_default) + self.action_load_default.triggered.connect(self.load_default) + self.dSB_timing.valueChanged.connect(self.set_timing) + self.comboBox.currentIndexChanged.connect(self.select_output) + self.Button_calibrate.clicked.connect(self.start_calibration) + self.Button_load.clicked.connect(self.load_params) + + #define constants + self.running = True #True as long as programm is running. Is set to false in close event + self.convert = False #true while when ComboBox is set to Flux density. If it is True, voltage data is converted to flux density. + self.timing = 0.1 #wait time in function "update_Data". + self.SB_all = [self.sB_nPoints, self.dSB_settling_time, self.dSB_timing] #list of all Spinboxes, helps for saving and loading of default values + self.lines_all = [self.line_savePath,self.line_loadPath] #list of all lines, helps for saving and loading of default values + + #read default values from config and set values in gui + self.load_default() + + #print programm name + print('AMR calibration') + + + def calibrate(self, progress_callback): #sets "number of points" random fields and records the FG and AMR response. With this data a 3 dimensional fit is performed + #define constants and functions + # I_all = [[1,0,0],[0,1,0],[0,0,1],[1,1,0],[1,0,1],[0,1,1],[1,1,1],[random.random(),random.random(),random.random()],[random.random(),random.random(),random.random()]]#list of all combinations for coil currents that are used + I_all = [[random.random()*0.2,random.random()*0.2,random.random()*0.2] for i in range(self.sB_nPoints.value())] #enable this for random fields + FG = [] #store fluxgate data for each field + V_all = [] #store output voltage of AMR sensors for each field. They are orders [15 times X_sensors, 15 times Y, 15 times Z] + def f(B,a,b,c,d): #function for fitting. (Dissertation Felix p.49 eq.3.2) + Bx,By,Bz = B + return a*Bx + b*By + c*Bz + d + + #get data for fitting + + ##this part is for preset fields + # for n in range(2): #take all points twice, with and without relais activated + # #set field + # if n == 0: + # self.sync_BK_9131B.update({'OutputOn':[False,False,False]}) + # i=0 + # else: + # self.sync_BK_9131B.update({'SetU':[5,5,5]}) + # self.sync_BK_9131B.update({'SetI':[1,1,1]}) + # self.sync_BK_9131B.update({'OutputOn':[True,True,True]}) + # i = len(I_all)-1 + ##if you don't want to use preset fields, comment the lines above and delete the tab infront of the following for loop + for i,I in enumerate(I_all): + if i == int(len(I_all)/2): #turn on relais after half of the points + self.sync_BK_9131B.update({'setU':[5,5,5]}) + self.sync_BK_9131B.update({'setI':[1,1,1]}) + self.sync_BK_9131B.update({'OutputOn':[True,True,True]}) + self.sync_BK_9174B.update({'setI':I[0:2]}) + update_single_entry(self.sync_BK_9174B_2,'setI',0,I[2]) + self.sync_BK_9174B.update({'OutputOn':[True,True]}) + update_single_entry(self.sync_BK_9174B_2,'OutputOn',0,True) + time.sleep(self.dSB_settling_time.value()) + #get data + FG.append([i*100 for i in self.sync_imc.get('FG')]) #multiply times 100 to convert V to µT + V_all.append(self.sync_imc.get('AMR_x') + self.sync_imc.get('AMR_y') + self.sync_imc.get('AMR_z')) + #update "current point" label + self.lab_currentpoint.setText(f"{i}") + self.sync_BK_9131B.update({'OutputOn':[False,False,False]})#turn off relais + + #reset power supplies to zero + I = [0 for n in range(3)] + self.sync_BK_9174B.update({'setI':[0,0]}) + update_single_entry(self.sync_BK_9174B_2,'setI',0,0) + self.sync_BK_9174B.update({'OutputOn':[False,False]}) + update_single_entry(self.sync_BK_9174B_2,'OutputOn',0,False) + self.sync_BK_9131B.update({'OutputOn':[False,False,False]}) + + #perform fit + FGn= np.array(FG).transpose() #convert fluxgate data to numpy array so curve_fit can use it + self.params = [] #store fit parameters + for n in range(45): + V = np.array([sub[n] for sub in V_all]) #get voltage data of one sensor at all fields, and convert them to numpy array so curve_fit can use it + self.params.append(curve_fit(f,FGn,V)) + + #update "current point" label to 0 to indicate that the fit is complete + self.lab_currentpoint.setText('0') + #store parameters in file + self.save_params() + + def convert_Data(self, progress_callback):#is constantly running. If self.convert == True the voltage data is converted to B + Bx = [0 for i in range(15)] #store converted AMR data + By = [0 for i in range(15)] + Bz = [0 for i in range(15)] + while self.running == True: + if self.convert == True: + start = timer() + #get current voltage data from imc + Vx = self.sync_imc.get('AMR_x') + Vy = self.sync_imc.get('AMR_y') + Vz = self.sync_imc.get('AMR_z') + #solve system of linear equation according to Felix' diss p.49 eq. 3.3. + for i,V in enumerate(zip(Vx,Vy,Vz)): + V = np.array(V) #convert tuple from zip into np.array + V0 = np.array([self.params[i][0][3],self.params[i+15][0][3],self.params[i+30][0][3]]) #get the offset voltages of all sensors in group number i + S = np.array([self.params[i][0][0:3],self.params[i+15][0][0:3],self.params[i+30][0][0:3]]) #assemble the sensitivity matrix of group number i + try: + B = np.linalg.solve(S,V-V0) #solve the linear equation + except: + B = [0,0,0] + print(i) + Bx[i] = B[0] + By[i] = B[1] + Bz[i] = B[2] + #write converted data in sync_converted + self.sync_converted.update({'AMR_x':Bx}) + self.sync_converted.update({'AMR_y':By}) + self.sync_converted.update({'AMR_z':Bz}) + end = timer() + # print(end-start) + try: + time.sleep(self.timing-(end-start)) + except: + print(end-start) + else: + #just pass imc data to sync_converted which is accessed by "Main.py" for plotting the AMR data + Vx = self.sync_imc.get('AMR_x') + Vy = self.sync_imc.get('AMR_y') + Vz = self.sync_imc.get('AMR_z') + self.sync_converted.update({'AMR_x':Vx}) + self.sync_converted.update({'AMR_y':Vy}) + self.sync_converted.update({'AMR_z':Vz}) + time.sleep(self.timing) + + def start_calibration(self): #is called when "perform calibration" is clicked. Starts a new thread with self.calibrate(). + worker_cal = Worker(self.calibrate) + self.threadpool.start(worker_cal) + + def select_output(self): #is triggered when between "voltage" and "flux density" is switched. Sets self.convert to the corresponding value. In case "flux density" is chosen, it start a threat von "self.convert_data()" + if self.comboBox.currentText() == 'Voltage': + self.convert = False + else: + self.convert = True + + def set_timing(self,t): #is triggered when timing is changed. Sets variable self.timing to the new value + self.timing = t + + def save_params(self): #saves self.params (the fit parameters) to file. Is called at the end of self.calibrate + extension = "\\" + time.strftime("%Y-%m-%d_%H-%M-%S",time.gmtime(time.time()))+".txt" + path = self.line_savePath.text() + extension + path_short = path[:-4] + "_short.txt" + print(path) + #create list of only the parameters, without erros + params_short = [] + for L in self.params: + params_short.append(L[0]) + try: + file = open(path,'w') + for i in self.params: + file.write(f"{i}\t") + file_short = open(path_short,'w') + for i in params_short: + file_short.write(f"{i}\t") + + file.close + file_short.close() + except: + print('Invalid path') + + def load_params(self):#loads self.params (the fit parameters) from file and sets self.params to the new values. Is called when load button is pushed + path = self.line_loadPath.text() + try: #exit function if file does not exist + rows = [] + with open(path, 'r') as file: + csvreader = csv.reader(file,delimiter = '\t') + for row in csvreader: + rows.append(row) + + #recreate arrays + coeffs = [] + for r in rows[0][0:45]: #last entry is '' at index 45 + r_short = r[2:-1] #get rid of "[ "at the beginning, and "]" at the end + r_split = r_short.split(' ') #split at every space + coeff_list = [x for x in r_split if x != ''] #get rid of empty entries that can occur if a double space was written in the text file + coeff_list = [float(x) for x in coeff_list] #convert str to float + coeff_array = np.array(coeff_list) + coeffs.append([coeff_array,0]) #append a list with a dummy zero, just so the data structure is as it was when self.params is created by the programm + + self.params = coeffs + print(self.params) + except: + print('could not load data') + return + + def save_default(self): + #saves current set values to txt file in subdirectory configs. Saves values from al spin boxes and text lines. + #Overwrites old values in config file. + path = self.current_dir+'\\configs\\AMR_config.txt' #To make shure the config file is at the right place, independent from where the program is started the location of the file is retrieved + file = open(path,'w') + for SB in self.SB_all: + temp = f"{SB.value()}" + file.write(temp+'\t') + for l in self.lines_all: + file.write(l.text()+'\t') + + file.write('\n') + file.close + + def load_default(self): + #reads default values from config file in subdirectory config and sets the values in gui. (If no config file exists, it does nothing.) + path = self.current_dir+'\\configs\\AMR_config.txt' #To make shure the config file is read from the right place, independent from where the program is started the location of the file is retrieved + try: #exit function if config file does not exist + vals = import_txt.read_raw(path) + for l,v in zip(self.lines_all,vals[0][-len(self.lines_all):]): + l.setText(v) + except: + return + + for SB,v in zip(self.SB_all,vals[0]): + if type(SB) == QDoubleSpinBox: + v = float(v) #convert string in txt to float, so number can be set in dSB + else: + v = int(v) #convert string in txt to int, so number can be set in SB + SB.setValue(v) + + for l,v in zip(self.lines_all,vals[0][-len(self.lines_all):]): + l.setText(v) + + def closeEvent(self,event): #when window is closed self.running and self.monitor are set to False, so all threads stop + self.running = False + time.sleep(1) + event.accept() + +app = QApplication(sys.argv) + +window = MainWindow() +window.show() +app.exec() \ No newline at end of file diff --git a/Legacy/TF_Control/AMR_config.txt b/Legacy/TF_Control/AMR_config.txt new file mode 100644 index 0000000..90e6184 --- /dev/null +++ b/Legacy/TF_Control/AMR_config.txt @@ -0,0 +1,3 @@ +15 1.5 0.1 D:\Data\TF_2024-09-20\AMR_Kalibration + + diff --git a/Legacy/TF_Control/Automation_Measurement.py b/Legacy/TF_Control/Automation_Measurement.py new file mode 100644 index 0000000..fbd2ad6 --- /dev/null +++ b/Legacy/TF_Control/Automation_Measurement.py @@ -0,0 +1,1111 @@ +from PyQt6.QtGui import * +from PyQt6.QtWidgets import * +from PyQt6.QtCore import * + +import multiprocessing +import multiprocessing.managers + +import time +import traceback,sys,os +import numpy as np +import pyqtgraph as pg +from scripts import import_txt +import collections +import json + +# Get the current script's directory +current_dir = os.path.dirname(os.path.abspath(__file__)) +# Get the parent directory by going one level up +parent_dir = os.path.dirname(current_dir) +# Add the parent directory to sys.path +sys.path.append(parent_dir) + +from design_files.Automation_Measurement_design import Ui_MainWindow + + +class WorkerSignals(QObject): + ''' + Defines the signals available from a running worker thread. + Supported signals are: + finished: No data + error: tuple (exctype, value, traceback.format_exc() ) + result: object data returned from processing, anything + progress: int indicating % progress + ''' + finished = pyqtSignal() + error = pyqtSignal(tuple) + result = pyqtSignal(object) + progress = pyqtSignal(list) + + +class Worker(QRunnable): + ''' + Worker thread + Inherits from QRunnable to handler worker thread setup, signals and wrap-up. + :param callback: The function callback to run on this worker thread. Supplied args and + kwargs will be passed through to the runner. + :type callback: function + :param args: Arguments to pass to the callback function + :param kwargs: Keywords to pass to the callback function + ''' + + def __init__(self, fn, *args, **kwargs): + super(Worker, self).__init__() + + # Store constructor arguments (re-used for processing) + self.fn = fn + self.args = args + self.kwargs = kwargs + self.signals = WorkerSignals() + + # Add the callback to our kwargs + self.kwargs['progress_callback'] = self.signals.progress + + @pyqtSlot() + def run(self): + ''' + Initialise the runner function with passed args, kwargs. + ''' + + # Retrieve args/kwargs here; and fire processing using them + try: + result = self.fn(*self.args, **self.kwargs) + except: + traceback.print_exc() + exctype, value = sys.exc_info()[:2] + self.signals.error.emit((exctype, value, traceback.format_exc())) + else: + self.signals.result.emit(result) # Return the result of the processing + finally: + self.signals.finished.emit() # Done + +def get_float(Qline,default = 0): #gets value from QLineEdit and converts it to float. If text is empty or cannot be converted, it returns "default" which is 0, if not specified + try: + out = float(Qline.text()) + except: + out = default + return(out) + +def update_single_entry(dict,name,ind,val): #updates a single value in global vars. To do so it gets the current value of "dict('name')", replaces "val" at indec "ind" and sends this back + data = dict.get(f"{name}") #get data + data[ind] = val #replace entry + dict.update({f"{name}":data}) #send data back + +class MainWindow(QMainWindow, Ui_MainWindow): + def __init__(self, *args, **kwargs): + # Get the current script's directory + self.current_dir = os.path.dirname(os.path.abspath(__file__)) + # Get the parent directory by going one level up + self.parent_dir = os.path.dirname(current_dir) + + #establish connection to global variables + try: #try to connect to global variables + self.manager = multiprocessing.managers.BaseManager(address=('localhost',5001), authkey=b'') + self.manager.connect() + self.manager.register('syncdict') + self.manager.register('sync_main') + self.manager.register('sync_BK_9174B') + self.manager.register('sync_BK_9174B_2') + self.manager.register('sync_BK_9131B') + self.syncdict = self.manager.syncdict() + self.sync_main = self.manager.sync_main() + self.sync_BK_9174B = self.manager.sync_BK_9174B() + self.sync_BK_9174B_2 = self.manager.sync_BK_9174B_2() + self.sync_BK_9131B = self.manager.sync_BK_9131B() + except: #open global variables, if no connection can be made (i.e. it is not running). Then connect to it + # subprocess.call(['D:\\Python instrument drivers\\env\\Scripts\\python.exe', 'D:\\Python instrument drivers\\StandAlones\\global_variables.py']) + self.global_vars = QProcess() + self.global_vars.start(self.current_dir+"\\.venv\\Scripts\\python.exe", [self.current_dir+'\\global_variables_TF.py']) + self.manager.connect() + self.manager.register('syncdict') + self.manager.register('sync_main') + self.manager.register('sync_BK_9174B') + self.manager.register('sync_BK_9174B_2') + self.manager.register('sync_BK_9131B') + self.syncdict = self.manager.syncdict() + self.sync_main = self.manager.sync_main() + self.sync_BK_9174B = self.manager.sync_BK_9174B() + self.sync_BK_9174B_2 = self.manager.sync_BK_9174B_2() + self.sync_BK_9131B = self.manager.sync_BK_9131B() + print('!!!\nI opened global variables myself. If you close me, global variables will shut down too. Consider starting global variables in own instance for more security\n!!!') + + #fill in variables, if they are not defined in global variables + + #import Gui from QT designer file + super(MainWindow, self).__init__(*args, **kwargs) + self.setupUi(self) + + #setup of pens for Plots + pen1 = pg.mkPen(color=(255, 180, 180), width=2) #pen for T + pen1_avg = pg.mkPen(color=(200, 0, 0), width=2) #pen for T average + pen2 = pg.mkPen(color=(0, 0, 255), width=2) #pen for Tset + pen3 = pg.mkPen(color=(0,0,255), width=2, style=Qt.PenStyle.DashLine) #pen for Tset range + + + #setup PID Monitoring Plot + self.graphWidget_Temp_Top.setBackground('w') + self.graphWidget_Temp_Top.setTitle("PID Temperature Top") + self.graphWidget_Temp_Top.setLabel('left', 'Temperature (K)') + self.graphWidget_Temp_Top.setLabel('bottom', 'Time (s)') + + self.graphWidget_Temp_Bottom.setBackground('w') + self.graphWidget_Temp_Bottom.setTitle("PID Temperature Bottom") + self.graphWidget_Temp_Bottom.setLabel('left', 'Temperature (K)') + self.graphWidget_Temp_Bottom.setLabel('bottom', 'Time (s)') + + self.plot_top_T = self.graphWidget_Temp_Top.plot([0,1],[1,0],pen = pen1, name = 'T') + self.plot_top_T_average = self.graphWidget_Temp_Top.plot([0,1],[1,0],pen = pen1_avg, name = 'T avg') + self.plot_top_Tset = self.graphWidget_Temp_Top.plot([0,1],[1,0],pen = pen2, name = 'Tset') + self.plot_top_Tset_range_lower = self.graphWidget_Temp_Top.plot([0,1],[1,0],pen = pen3, name = 'Tset Range') + self.plot_top_Tset_range_upper = self.graphWidget_Temp_Top.plot([0,1],[1,0],pen = pen3, name = 'Tset Range') + self.plot_top_Tset_cooldown_finished = self.graphWidget_Temp_Top.plot([0,1],[1,0],pen = pen3, name = 'Cooldown fin.') + + self.plot_bottom_T = self.graphWidget_Temp_Bottom.plot([0,1],[1,0],pen = pen1, name = 'T') + self.plot_bottom_T_average = self.graphWidget_Temp_Bottom.plot([0,1],[1,0],pen = pen1_avg, name = 'T avg') + self.plot_bottom_Tset = self.graphWidget_Temp_Bottom.plot([0,1],[1,0],pen = pen2, name = 'Tset') + self.plot_bottom_Tset_range_lower = self.graphWidget_Temp_Bottom.plot([0,1],[1,0],pen = pen3, name = 'Tset Range') + self.plot_bottom_Tset_range_upper = self.graphWidget_Temp_Bottom.plot([0,1],[1,0],pen = pen3, name = 'Tset Range') + self.plot_bottom_Tset_cooldown_finished = self.graphWidget_Temp_Bottom.plot([0,1],[1,0],pen = pen3, name = 'Cooldown fin.') + + self.plot_top_Tset.hide() + self.plot_bottom_Tset.hide() + + self.graphWidget_Temp_Top.addLegend() + self.graphWidget_Temp_Bottom.addLegend() + + #set up pyQT threadpool + self.threadpool = QThreadPool() + + + #define signals and slots + self.actionSet_default.triggered.connect(self.set_default) + self.actionReset_default.triggered.connect(self.read_default) + self.comboBox_Current_Mode.currentIndexChanged.connect(self.set_Current_Mode) + self.line_Gradient.editingFinished.connect(self.set_Additional_Params) + self.line_Bext.editingFinished.connect(self.set_Additional_Params) + self.line_Speed.editingFinished.connect(self.set_Additional_Params) + self.pushButton_Start_Measurement.clicked.connect(self.Start_Measurement) + self.pushButton_Stop_Measurement.clicked.connect(self.Stop_Measurement) + self.lineEdit_Gradient_List.editingFinished.connect(self.set_Bext_Gradient_List) + self.pushButton_Stop_Waiting.clicked.connect(self.set_stop_wait_process) + self.pushButton_Calculate_Parameters.clicked.connect(self.Calculate_Parameters) + self.pushButton_Perform_Compensation.clicked.connect(self.Run_Perform_all_Bext_Compensations) + self.pushButton_Abort_Compensation.clicked.connect(self.Abort_Perform_all_Bext_Compensations) + self.pushButton_Compensation_Take_It.clicked.connect(self.Set_Take_It_Current) + self.pushButton_load_Bext_Compensation.clicked.connect(self.load_Bext_Compensation_parameters) + self.pushButton_Pause_Measurement.clicked.connect(self.set_Pause) + + + + #define constants + self.running = True + self.set_old = [0,0,1] #variable to save the 'old' set values to compare them to the global variables. It differs from set_new in the first iteration. This ensures that new parameters are send to the device + self.set_new = [0,0,0] #variable to save the new set values to compare them to the old ones + self.lines_config_float = [self.line_Min_Gradient, self.line_Max_Gradient, self.line_Gradient_Stepwidth, self.line_Min_Bext, self.line_Max_Bext, self.line_Stepwidth_Bext, self.line_Base_Temperature, self.line_Cooldown_Finished_Temperature, self.line_Sensor_Distance, self.line_Gradient, self.line_Bext, self.line_Speed, self.line_time_per_cooldown, self.line_PID_Temperature_Average_Time, self.line_PID_Temperature_Tolerance, self.line_PID_Temperature_Time, self.line_Buffer_Length, self.line_Plot_Seconds]#is used for config file + self.lines_config_strings = [self.lineEdit_Gradient_List, self.line_Points_Folder_Path, self.line_Bext_Compensation_Path]#is used for config file + self.checkboxes_config = [self.checkBox_Unlimited_Measurements]#is used for config file + self.combobox_config = [self.comboBox_Current_Mode]#is used for config file + self.Params_Lines = [self.line_Min_Gradient, self.line_Max_Gradient, self.line_Gradient_Stepwidth, self.line_Min_Bext, self.line_Max_Bext, self.line_Stepwidth_Bext, self.lineEdit_Gradient_List, self.checkBox_Unlimited_Measurements] + self.Additional_Params = [0,0,0] + self.Bext_Gradient_List = [] #List of Gradients for TF vs. Bext Measurement + self.Status_Perform_Measurement = False + self.Current_Mode = 0 + self.Temp_Buffer = collections.deque([]) + self.Temp_Average_Buffer = collections.deque([]) + self.stop_wait_process = False #used to stop the waiting process for reaching Tset or Cooldown_Finished_Temperature + self.PID_Temperature_Checker_On = False # Variable to check if PID_Temperature_Checker is running + self.Cooldown_Finished_Checker_On = False # Variable to check if Cooldown_Finished_Checker is running + self.Perform_all_Bext_Compensations_Boolean = False #Variable to check if self.Perform_all_Bext_Compensations should be running + self.Bext_Compensations_Current_List = [] # List with all Compensation parameters + self.Bext_Compensation_List = [] # List with all Bext values to be compensated + self.Take_It_Current = False #Boolean which will be set to True if Compensated failed but currents should be stored + self.pause = False #Pause measurement series if True + + #read default values from config and set them in gui + self.read_default() + self.set_Bext_Gradient_List() + self.set_Additional_Params() + + # Standard things + self.line_Status.setText("Ready for measurements.") + + # Start standard thread + self.worker = Worker(self.update_all) + self.worker.signals.progress.connect(self.Update_PID_Monitor) + self.threadpool.start(self.worker) + + # # Start temperature monitoring thread + # worker_temperature = Worker(self.temperature_thread) + # self.threadpool.start(worker_temperature) + + + + + def update_all(self, progress_callback): + #Checks if global variables changed from last iteration. + while self.running == True: + #Checking for changes in global variables (e.g. temperatures) + for i,n in enumerate(['T']): #get new set values from global variables and compare to old ones. + self.set_new[i] = self.sync_main.get(n) + + if self.set_new != self.set_old: #if a button is clicked or global variables are changed the program checks which setting has been changed. + if self.set_new[0] != self.set_old[0]: #if T changed, write T in local variable + self.T = self.set_new[0] + # if self.T is a list with two values: + if self.T is not None and isinstance(self.T, list) and len(self.T) == 2: + # self.Temperature_Monitor() #Write Temps in Dqueue, etc. + progress_callback.emit(self.T) + + if self.set_new[1] != self.set_old[1]: #if Start_Compensation is changed new Start_Compensation is saved locally + self.Start_Compensation = self.set_new[1] + + # self.update_setValues(self.set_new) #Change GUI text lines + + self.set_old = self.set_new[:] #List needs to be sliced so that only values are taken and not just a pointer is created + + + print("Closed") + + def Calculate_Parameters(self): + #Collect Measurement parameters: + Current_Mode = self.Current_Mode + self.Gradient_List = [] + self.Bext_List = [] + Number_of_Measurements = 0 + + if Current_Mode == 0: #Collect params for TF vs. DT Measurement Series + Min_Gradient = get_float(self.line_Min_Gradient) + Max_Gradient = get_float(self.line_Max_Gradient) + Stepwidth_Gradient = get_float(self.line_Gradient_Stepwidth) + Unlimited_Measurements = self.checkBox_Unlimited_Measurements.isChecked() + + # Create list with Gradients from Min to Max (incl. Max) with Stepwidth_Gradient stepwidth + try: + self.Gradient_List = list(np.arange(Min_Gradient, Max_Gradient + Stepwidth_Gradient, Stepwidth_Gradient)) + except: + self.line_Status.setText("Error in Gradient params.") + return + self.Gradient_List = [np.round(self.Gradient_List[i],3) for i in range(len(self.Gradient_List))] + self.Number_of_Measurements = len(self.Gradient_List) + + # Fill Bext + Zero-Bext into listWidget_Bext + Bext = self.Additional_Params[1] + self.Bext_Compensation_List = [[0,0,0], [0,Bext,0]] #Bext List and Zero-Bext in the beginning + self.listWidget_Bext.clear() # Clear old entries + self.listWidget_Bext_Progress.clear() # Clear old entries + for i, Bext in enumerate(self.Bext_Compensation_List): + self.listWidget_Bext.addItem(str(Bext)) + self.listWidget_Bext_Progress.addItem(QListWidgetItem("Pending")) + + + + if Current_Mode == 1: #Collect params for TF vs. Bext Measurement Series + Min_Bext = get_float(self.line_Min_Bext) + Max_Bext = get_float(self.line_Max_Bext) + Stepwidth_Bext = get_float(self.line_Stepwidth_Bext) + + + # Create list with Bext from Min to Max (incl. Max) with Stepwidth_Bext stepwidth + try: + if Max_Bext >= Min_Bext: + self.Bext_List = list(np.arange(Min_Bext, Max_Bext + Stepwidth_Bext, Stepwidth_Bext)) + else: # in case Max_Bext < Min_Bext calculate np.arange in other direction and reverse + self.Bext_List = list(np.arange(Max_Bext, Min_Bext + Stepwidth_Bext, Stepwidth_Bext)) + self.Bext_List.reverse() + except: + self.line_Status.setText("Error in Bext params.") + return + + self.Bext_List = [np.round(self.Bext_List[i],3) for i in range(len(self.Bext_List))] + if len(self.Bext_Gradient_List) == 0: # If Bext_List is empty, return + self.line_Status.setText("Error in Bext params. Gradient List is empty.") + return + else: + self.Number_of_Measurements = len(self.Bext_List)* len(self.Bext_Gradient_List) # Number of measurements is the product of the number of Bext and the number of Gradients + + # Fill Bext + Zero-Bext into listWidget_Bext + Bext_List_with_ZeroBext = self.Bext_List.copy() + Bext_List_with_ZeroBext.insert(0,0) + self.Bext_Compensation_List = [[0, x, 0] for x in Bext_List_with_ZeroBext] #Bext List and Zero-Bext in the beginning + self.listWidget_Bext.clear() # Clear old entries + self.listWidget_Bext_Progress.clear() # Clear old entries + for i, Bext in enumerate(self.Bext_Compensation_List): + self.listWidget_Bext.addItem(str(Bext)) + self.listWidget_Bext_Progress.addItem(QListWidgetItem("Pending")) + + + # Write number of measurements in lineEdit + self.line_Number_Cooldowns.setText(str(self.Number_of_Measurements)) + + # If line_time_per_cooldown is float, calculate the total time for the measurement + try: + Time_per_Cooldown = get_float(self.line_time_per_cooldown) + except: + Time_per_Cooldown = 0 + + # Decide for the unit of time. for > 120 seconds, use minutes, for > 120 minutes, use hours, otherwise use seconds + Time_total = Time_per_Cooldown * self.Number_of_Measurements + if Time_total > 120*60: # If total time is greater than 120 minutes, use hours + Time_total = Time_total / 3600 # Convert to hours + Time_unit = "h" + elif Time_total > 120: # If total time is greater than 120 seconds, use minutes + Time_total = Time_total / 60 # Convert to minutes + Time_unit = "min" + else: # If total time is greater than 0 seconds, use seconds + Time_unit = "s" + + # Write total time in lineEdit + self.line_total_time_needed.setText(f"{Time_total:.2f} {Time_unit}") + + + + + def Perform_Measurement(self, progress_callback): + # Calculate Measurement parameters + self.Calculate_Parameters() + Current_Mode = self.Current_Mode + + + # Get Points Folder Path + Points_Folder_Path = self.line_Points_Folder_Path.text() + # if Points_Folder_Path is empty, return + if Points_Folder_Path == "": + self.line_Status.setText("Please specify a Points Folder Path.") + return + Points_Fileend_Gradient = "points_TF_vs_DT" + Points_Fileend_Bext = "points_TF_vs_Bext" + + #Set GUI properties + self.line_Status.setText("Measurement started.") + self.enable_line_edits(self.Params_Lines, False) + self.comboBox_Current_Mode.setEnabled(False) + self.pushButton_Calculate_Parameters.setEnabled(False) + # self.progressBar.setEnabled(True) + # Update Cooldown number in GUI + self.line_Number_Cooldowns.setText(f"0 / {self.Number_of_Measurements}") + + # PERFORM MEASUREMENT + + if Current_Mode == 0: #Perform TF vs. Gradient Measurement + # If Points_Folder already has a file with the same name, append a number to the filename + if os.path.exists(os.path.join(Points_Folder_Path, Points_Fileend_Gradient + ".txt")): + i = 1 + while os.path.exists(os.path.join(Points_Folder_Path, Points_Fileend_Gradient + f"_{i}.txt")): + i += 1 + Points_Fileend_Gradient += f"_{i}" + + Points_Path = Points_Folder_Path + "\\" + Points_Fileend_Gradient + ".txt" # Full path to the points file + + # Put the points_path and filename in the sync_main dictionary + self.sync_main.update({'Points_Path': Points_Path}) + + # Get additional parameters + Bext = self.Additional_Params[1] + Speed = self.Additional_Params[2] + + # Perform Cooldowns according to the Gradient_List: + for Cooldown_index, Gradient in enumerate(self.Gradient_List): + if self.Status_Perform_Measurement == False: # If self.Status_Perform_Measurement is False, break the loop + break + + # Update gradient in line_gradient + self.line_Gradient.setText(str(Gradient)) + + # Perform Cooldown with Gradient, Bext and Speed + self.Perform_Cooldown(Gradient, Bext, Speed) # Perform Cooldown with Gradient, Bext and Speed + + # Update Cooldown number in GUI + self.line_Number_Cooldowns.setText(f"{Cooldown_index + 1} / {self.Number_of_Measurements}") + + if self.pause == True: #Pause measurement series if True + + #turn off coils + self.sync_BK_9174B.update({'OutputOn':[False,False]}) + self.sync_BK_9174B_2.update({'OutputOn':[False,False]}) + #turn off relais + self.sync_BK_9131B.update({'OutputOn':[False,False,False]}) + + #Set PID to T=0 + self.sync_main.update({'T_set':[0, 0]}) + self.sync_main.update({'T_reset':True}) + + while self.pause == True: + time.sleep(0.1) + + + + + if Current_Mode == 1: #Perform TF vs. Bext Measurement + # If Points_Folder already has a file with the same name, append a number to the filename + if os.path.exists(os.path.join(Points_Folder_Path, Points_Fileend_Bext + ".txt")): + i = 1 + while os.path.exists(os.path.join(Points_Folder_Path, Points_Fileend_Bext + f"_{i}.txt")): + i += 1 + Points_Fileend_Bext += f"_{i}" + + Points_Path = Points_Folder_Path + "\\" + Points_Fileend_Bext + ".txt" # Full path to the points file + + # Put the points_path and filename in the sync_main dictionary + self.sync_main.update({'Points_Path': Points_Path}) + + # Get additional parameters + Speed = self.Additional_Params[2] + + # Perform Cooldowns according to the self.Bext_Gradient_List and Bext_List + Cooldown_index = 0 + for Gradient_index, Gradient in enumerate(self.Bext_Gradient_List): + for Bext_index, Bext in enumerate(self.Bext_List): + + if self.Status_Perform_Measurement == False: # If self.Status_Perform_Measurement is False, break the loop + break + + # Update gradient in line_gradient + self.line_Gradient.setText(str(Gradient)) + # Update Bext in line_Bext + self.line_Bext.setText(str(Bext)) + + # Perform Cooldown with Gradient, Bext and Speed + self.Perform_Cooldown(Gradient, Bext, Speed) # Perform Cooldown with Gradient, Bext and Speed + + # Update Cooldown number in GUI + self.line_Number_Cooldowns.setText(f"{Cooldown_index + 1} / {self.Number_of_Measurements}") + + # Update progress bar + # progress_value = int((Cooldown_index + 1) / self.Number_of_Measurements * 100) + # self.progressBar.setValue(progress_value) + + Cooldown_index = Cooldown_index + 1 + + # Update list Widget Gradient Progress entry with index Gradient_index according to progress_value + progress_value_gradient = int((Bext_index + 1) / len(self.Bext_List) * 100) + self.listWidget_Gradients_Progress.item(Gradient_index).setText(f"{progress_value_gradient} %") + if progress_value_gradient == 100: # If progress is 100%, set the item to green + self.listWidget_Gradients_Progress.item(Gradient_index).setBackground(QColor(0, 255, 0)) # Set background color to green + else: # If progress is not 100%, set the item to grey + self.listWidget_Gradients_Progress.item(Gradient_index).setBackground(QColor(200, 200, 200)) # Set background color to grey + + if self.pause == True: #Pause measurement series if True + + #turn off coils + self.sync_BK_9174B.update({'OutputOn':[False,False]}) + self.sync_BK_9174B_2.update({'OutputOn':[False,False]}) + #turn off relais + self.sync_BK_9131B.update({'OutputOn':[False,False,False]}) + + #Set PID to T=0 + self.sync_main.update({'T_set':[0, 0]}) + self.sync_main.update({'T_reset':True}) + + while self.pause == True: + time.sleep(0.1) + + + #Set GUI properties after measurement has been stopped + self.line_Status.setText("Measurement stopped.") + self.enable_line_edits(self.Params_Lines, True) + self.comboBox_Current_Mode.setEnabled(True) + self.pushButton_Calculate_Parameters.setEnabled(True) + # self.progressBar.setEnabled(False) + + def Update_GUI(self): + # Update PID_Monitor plots with the latest temperature data + # self.Update_PID_Monitor() + X=1 + + + + def Update_PID_Monitor(self, T): + + # Calculate Temp buffer, etc. + self.Temperature_Monitor(T) + + # Convert buffered temperature data to numpy array for plotting + Temp_Array = np.empty(shape=(0,3)) + for i in range(len(self.Temp_Buffer)): + timestamp = self.Temp_Buffer[i][0] + if timestamp >= time.time() - get_float(self.line_Plot_Seconds): # Only consider temperatures within the last line_Plot_Seconds seconds + time_diff = -(time.time() - timestamp) # Calculate time difference from current time + T_top = np.round(self.Temp_Buffer[i][1][0],3) # Round T to third digit + T_bottom = np.round(self.Temp_Buffer[i][1][1],3) # Round T to third digit + Temp_Array = np.append(Temp_Array, [[time_diff, T_top, T_bottom]], axis=0) # Append time_diff, T_top, T_bottom + + # Convert Temp_Average_Buffer to numpy array for plotting + Temp_Average_Array = np.empty(shape=(0,3)) + for i in range(len(self.Temp_Average_Buffer)): + timestamp = self.Temp_Average_Buffer[i][0] + if timestamp >= time.time() - get_float(self.line_Plot_Seconds): # Only consider average temperatures within the last line_Plot_Seconds seconds + time_diff = -(time.time() - timestamp) + MeanTemp_top = np.round(self.Temp_Average_Buffer[i][1][0],3) # Round T to third digit + MeanTemp_bottom = np.round(self.Temp_Average_Buffer[i][1][1],3) # Round T to third digit + Temp_Average_Array = np.append(Temp_Average_Array, [[time_diff, MeanTemp_top, MeanTemp_bottom]], axis=0) # Append time_diff, MeanTemp_Top, MeanTemp_Bottom + + # Update the plots with the new temperature data + if len(Temp_Array) > 0: # If there is at least one temperature in the array + self.plot_top_T.setData(Temp_Array[:,0], Temp_Array[:,1]) # Top temperature + self.plot_bottom_T.setData(Temp_Array[:,0], Temp_Array[:,2]) # Bottom temperature + self.plot_top_T_average.setData(Temp_Average_Array[:,0], Temp_Average_Array[:,1]) # Mean temperature Top + self.plot_bottom_T_average.setData(Temp_Average_Array[:,0], Temp_Average_Array[:,2]) # Mean temperature Bottom + + # If PID_Temperature_Checker is running, plot Tset_top_Threshold and self.Tset_bottom_Threshold from - self.line_Plot_Seconds to 0 seconds + time_diff = time.time() - get_float(self.line_Plot_Seconds) + time_diff = - time_diff + time_diff = -get_float(self.line_Plot_Seconds) + if self.PID_Temperature_Checker_On: + self.plot_top_Tset_range_lower.show() + self.plot_top_Tset_range_upper.show() + self.plot_bottom_Tset_range_lower.show() + self.plot_bottom_Tset_range_upper.show() + + self.plot_top_Tset_range_lower.setData([time_diff, 0], [self.Tset_top_Threshold[0], self.Tset_top_Threshold[0]]) # Tset_top lower threshold + self.plot_top_Tset_range_upper.setData([time_diff, 0], [self.Tset_top_Threshold[1], self.Tset_top_Threshold[1]]) # Tset_top upper threshold + self.plot_bottom_Tset_range_lower.setData([time_diff, 0], [self.Tset_bottom_Threshold[0], self.Tset_bottom_Threshold[0]]) # Tset_bottom lower threshold + self.plot_bottom_Tset_range_upper.setData([time_diff, 0], [self.Tset_bottom_Threshold[1], self.Tset_bottom_Threshold[1]]) # Tset_bottom upper threshold + else: # If PID_Temperature_Checker is not running, clear the Tset plots + self.plot_top_Tset_range_lower.hide() + self.plot_top_Tset_range_upper.hide() + self.plot_bottom_Tset_range_lower.hide() + self.plot_bottom_Tset_range_upper.hide() + + # If Cooldown_Finished_Checker is running, plot Cooldown_Finished_Temperature from - self.line_Plot_Seconds to 0 seconds + if self.Cooldown_Finished_Checker_On: + Cooldown_Finished_Temperature = get_float(self.line_Cooldown_Finished_Temperature) + time_diff = -get_float(self.line_Plot_Seconds) + + self.plot_top_Tset_cooldown_finished.show() + self.plot_bottom_Tset_cooldown_finished.show() + self.plot_top_Tset_cooldown_finished.setData([time_diff, 0], [Cooldown_Finished_Temperature, Cooldown_Finished_Temperature]) + self.plot_bottom_Tset_cooldown_finished.setData([time_diff, 0], [Cooldown_Finished_Temperature, Cooldown_Finished_Temperature]) + else: # If Cooldown_Finished_Checker is not running, clear the Cooldown_Finished_Temperature plots + self.plot_top_Tset_cooldown_finished.hide() + self.plot_bottom_Tset_cooldown_finished.hide() + + + def PID_Temperature_Checker(self, Tset_top, Tset_bottom): #Checks if temperatures reach the set values before cooldown. Function ends when temperatures reach the values + + print(f"T_set_top = {Tset_top}") + print(f"T_set_bottom = {Tset_bottom}") + + self.PID_Temperature_Checker_On = True # Variable to check if Temperature_Checker is running + + self.Tset_top_Threshold = [Tset_top - get_float(self.line_PID_Temperature_Tolerance), Tset_top + get_float(self.line_PID_Temperature_Tolerance)] + self.Tset_bottom_Threshold = [Tset_bottom - get_float(self.line_PID_Temperature_Tolerance), Tset_bottom + get_float(self.line_PID_Temperature_Tolerance)] + PID_Temperature_Time = get_float(self.line_PID_Temperature_Time) + + # Create array with MeanTemp_Top / _Bottom values for entries of self.Temp_Average_Buffer that are not older than PID_Temperature_Time + Temp_Array_for_MinMax = np.empty(shape=(0,2)) + for i in range(len(self.Temp_Average_Buffer)): + timestamp = self.Temp_Average_Buffer[i][0] + if timestamp >= time.time() - PID_Temperature_Time: + Temp_Array_for_MinMax = np.append(Temp_Array_for_MinMax, [self.Temp_Average_Buffer[i][1]], axis=0) + + # Calculate max and min of MeanTemp_Top / _Bottom values in Temp_Array_for_MinMax + if len(Temp_Array_for_MinMax) > 0: # If there is at least one temperature in the array + Temp_Top_Max = np.max(Temp_Array_for_MinMax[:,0]) + Temp_Top_Min = np.min(Temp_Array_for_MinMax[:,0]) + Temp_Bottom_Max = np.max(Temp_Array_for_MinMax[:,1]) + Temp_Bottom_Min = np.min(Temp_Array_for_MinMax[:,1]) + else: + Temp_Top_Max = 200 + Temp_Top_Min = 100 + Temp_Bottom_Max = 200 + Temp_Bottom_Min = 100 + + + # Wait until for both Top / Bottom the max and min values are within the Tset_Thresholds or until the stop_wait_process is set to True + while ((Temp_Top_Max > self.Tset_top_Threshold[1] or Temp_Top_Min < self.Tset_top_Threshold[0]) or + (Temp_Bottom_Max > self.Tset_bottom_Threshold[1] or Temp_Bottom_Min < self.Tset_bottom_Threshold[0])) and not self.stop_wait_process: + + time.sleep(0.1) + self.Tset_top_Threshold = [Tset_top - get_float(self.line_PID_Temperature_Tolerance), Tset_top + get_float(self.line_PID_Temperature_Tolerance)] + self.Tset_bottom_Threshold = [Tset_bottom - get_float(self.line_PID_Temperature_Tolerance), Tset_bottom + get_float(self.line_PID_Temperature_Tolerance)] + + # Update Temp_Array_for_MinMax + Temp_Array_for_MinMax = np.empty(shape=(0,2)) + for i in range(len(self.Temp_Average_Buffer)): + try: + timestamp = self.Temp_Average_Buffer[i][0] + except: + timestamp = 0 + print("Error in Temp_Average_Buffer index") + if timestamp >= time.time() - PID_Temperature_Time: + Temp_Array_for_MinMax = np.append(Temp_Array_for_MinMax, [self.Temp_Average_Buffer[i][1]], axis=0) + + # Calculate max and min of MeanTemp_Top / _Bottom values in Temp_Array_for_MinMax + if len(Temp_Array_for_MinMax) > 0: + Temp_Top_Max = np.max(Temp_Array_for_MinMax[:,0]) + Temp_Top_Min = np.min(Temp_Array_for_MinMax[:,0]) + Temp_Bottom_Max = np.max(Temp_Array_for_MinMax[:,1]) + Temp_Bottom_Min = np.min(Temp_Array_for_MinMax[:,1]) + else: + Temp_Top_Max = 200 + Temp_Top_Min = 100 + Temp_Bottom_Max = 200 + Temp_Bottom_Min = 100 + + # set stop_wait_process to False to allow the next measurement to start + self.stop_wait_process = False + self.PID_Temperature_Checker_On = False # Variable to check if Temperature_Checker is running + + def Cooldown_Finished_Checker(self): #Checks if temperatures fall below T_threshold, i.e. if cooldown finished + + self.Cooldown_Finished_Checker_On = True # Variable to check if Cooldown_Finished_Checker is running + + Cooldown_Finished_Temperature = get_float(self.line_Cooldown_Finished_Temperature) + + MeanTemp_Top = self.Temp_Average_Buffer[-1][1][0] if len(self.Temp_Average_Buffer) > 0 else 0 + MeanTemp_Bottom = self.Temp_Average_Buffer[-1][1][1] if len(self.Temp_Average_Buffer) > 0 else 0 + # Wait until both temperatures are below the Cooldown_Finished_Temperature or until the stop_wait_process is set to True + while (MeanTemp_Top >= Cooldown_Finished_Temperature or MeanTemp_Bottom >= Cooldown_Finished_Temperature) and not self.stop_wait_process: + time.sleep(0.1) + MeanTemp_Top = self.Temp_Average_Buffer[-1][1][0] if len(self.Temp_Average_Buffer) > 0 else 0 + MeanTemp_Bottom = self.Temp_Average_Buffer[-1][1][1] if len(self.Temp_Average_Buffer) > 0 else 0 + Cooldown_Finished_Temperature = get_float(self.line_Cooldown_Finished_Temperature) + + # set stop_wait_process to False to allow the next measurement to start + self.stop_wait_process = False + self.Cooldown_Finished_Checker_On = False # Variable to check if Cooldown_Finished_Checker is running + + + def Perform_Cooldown(self, Gradient, Bext, CooldownSpeed): + Bext = [0,Bext,0] + BaseTemperature = get_float(self.line_Base_Temperature) + Sensor_Distance = get_float(self.line_Sensor_Distance) + + if Gradient >= 0: + Tset_top = BaseTemperature + Gradient*Sensor_Distance + Tset_bottom = BaseTemperature + if Gradient < 0: + Tset_top = BaseTemperature + Tset_bottom = BaseTemperature - Gradient*Sensor_Distance + + #Set Temperatures, Cooldown Speed + self.sync_main.update({'T_set':[Tset_top, Tset_bottom]}) + self.sync_main.update({'T_reset':True}) + self.sync_main.update({'Cooldown_Speed':CooldownSpeed}) + + self.line_Status.setText(f"Waiting for temperatures to reach Tset.") + self.PID_Temperature_Checker(Tset_top, Tset_bottom) #Wait until right temperatures are reached + + + #Set 0-Field and Field 1 for Bext-Compensation + #Search for the right I and Flip for Bext in self.Bext_Compensations_Current_List + I0 = [0] + Flip0 = [0] + I1 = [0] + Flip1 = [0] + + if not len(self.Bext_Compensations_Current_List) == 0: #Bext_Compensation has been performed and List is filled with params + for index, Params in enumerate(self.Bext_Compensations_Current_List): + Params[0] = [round(float(x), 2) for x in Params[0]] + Bext = [round(float(x), 2) for x in Bext] + Bext0 = [round(float(x), 2) for x in [0,0,0]] + if Params[0] == Bext: #If the right Bext entry has been found in self.Bext_Compensations_Current_List, save current and flip + I1 = Params[1] + Flip1 = Params[2] + + if Params[0] == Bext0: #If the 0-field [0,0,0] entry has been found in self.Bext_Compensations_Current_List, save current and flip + I0 = Params[1] + Flip0 = Params[2] + + if I0 == [0] or Flip0 == [0]: + self.line_Status.setText(f"No 0-field params found.") + print("No 0-field params found.") + return + if I1 == [0] or Flip1 == [0]: + self.line_Status.setText(f"No field 1 params found.") + print("No field 1 params found.") + return + + self.sync_main.update({'0-Field':[I0, Flip0]}) + self.sync_main.update({'1-Field':[I1, Flip1]}) + + time.sleep(0.3) + + self.sync_main.update({'Set_1field':True}) + + time.sleep(1) + else: + print("No Bext compensation currents available. Did you perform Bext compensation? Starting measurement anyway (just for debugging).") + + + self.sync_main.update({'Start_ramp':True}) # Start Cooldown + + self.line_Status.setText(f"Waiting for cooldown to finish.") + + self.Cooldown_Finished_Checker() # Wait until temperatures are below specified temperature + + self.sync_main.update({'Stop_ramp':True}) + + self.line_Status.setText(f"Cooldown finished. Performing measurement.") + + time.sleep(10) # Wait X seconds to ensure that the measurement is performed after the cooldown is finished + + self.line_Status.setText("Cooldown finished. Measurement performed.") + + + def Temperature_Monitor(self, T): # Check T_top and T_bottom and calc. their mean, etc. + + currenttime = time.time() + + #save newest temperature data + timestamp in a queue + self.Temp_Buffer.append([currenttime, T]) + + #check for Saved_seconds limit in self.Temp_Buffer. In case of older measurements -> Delete them + needfordelete = True + i = 0 + while needfordelete and i<=len(self.Temp_Buffer): #Just if needfordelete = True: Check and delete old entries + timestamp = self.Temp_Buffer[i][0] + if timestamp < currenttime - get_float(self.line_Buffer_Length): #if timestamp is older than current time minus saved_seconds_value + self.Temp_Buffer.popleft() #Delete oldest entry + else: + needfordelete = False #If all entries are within the time interval: No need for continuing with deleting-for-loop + i=i+1 + + #create queue in which only temperature data is stored which is not older than self.line_PID_Temperature_Average_Time seconds + Temp_Array_for_Average = np.empty(shape=(0,2)) + for i in range(len(self.Temp_Buffer)): + timestamp = self.Temp_Buffer[i][0] + if timestamp >= currenttime - get_float(self.line_PID_Temperature_Average_Time): + Temp_Array_for_Average = np.append(Temp_Array_for_Average, [self.Temp_Buffer[i][1]], axis=0) + + #Calculate mean temperature + if len(Temp_Array_for_Average) > 0: #If there is at least one temperature in the array + T_mean = np.mean(Temp_Array_for_Average, axis=0) + self.Temp_Average_Buffer.append([currenttime, T_mean]) + + #check for saved_seconds limit in self.Temp_Average_Buffer + needfordelete = True + i = 0 + while needfordelete and i<=len(self.Temp_Average_Buffer): #Just if needfordelete = True: Check and delete old entries + timestamp = self.Temp_Average_Buffer[i][0] + if timestamp < currenttime - get_float(self.line_Buffer_Length): #if timestamp is older than current time minus saved_seconds_value + self.Temp_Average_Buffer.popleft() #Delete oldest entry + else: + needfordelete = False #If all entries are within the time interval: No need for continuing with deleting-for-loop + i=i+1 + + + def Perform_all_Bext_Compensations(self, progress_callback): #Perform all Bext compensations before performing measurement series + + Bext_List = self.Bext_Compensation_List + + if len(Bext_List) == 0: + self.line_Status.setText("Please calculate parameters first.") + self.Perform_all_Bext_Compensations_Boolean = False + return + + # self.sync_main.update({'Measurement_Running':True}) #Change state so that parameters can be changed in Main + + # Check if temperature is above + + self.Bext_Compensations_Current_List = [] #List with [[Bext, Bext, Bext], [I, I, I, I], [Flip, Flip, Flip]] + + for index, Bext in enumerate(Bext_List): # Iterate over all Bext values to be compensated (and saved) + + Compensation_Parameter = 0 + # Status_Compensation = 0 #In the beginning status = 0, i.e. no compensation has been performed + Status_Compensation = self.syncdict.get('Status_Compensation') + + while Status_Compensation == 1: # Wait until old compensation finished + time.sleep(0.1) + Status_Compensation = self.syncdict.get('Status_Compensation') + + Status_Compensation = 0 #After waiting for old compensation to finish, set status to 0 (i.e. "no compensation has been performed") + + while not Status_Compensation == 2: #Perform the following code until compensation was successfull + + if self.Perform_all_Bext_Compensations_Boolean == False: # End function + print("Compensation aborted.") + self.pushButton_Compensation_Take_It.setEnabled(False) + # self.sync_main.update({'Measurement_Running':False}) #Change state + return + + # Update List Widget for compensation status + if Status_Compensation == 0: + self.listWidget_Bext_Progress.item(index).setText("Compensating") + self.listWidget_Bext_Progress.item(index).setBackground(QColor(200, 200, 200)) + + if self.Take_It_Current == True: + self.Take_It_Current = False + self.pushButton_Compensation_Take_It.setEnabled(False) + Compensation_Parameter = Compensation_Parameter_from_last_one #Guarantees that the compensation parameters from the last failed compensation are used. + break + + if Status_Compensation == 3: #Compensation failed + self.listWidget_Bext_Progress.item(index).setText("Failed") + self.listWidget_Bext_Progress.item(index).setBackground(QColor(255, 0, 0)) + self.pushButton_Compensation_Take_It.setEnabled(True) + Compensation_Parameter_from_last_one = Compensation_Parameter + + + Compensation_Parameter = self.Perform_single_Bext_Compensation(Bext) #Perform Bext Compensation and save [Currents, Coil-Flips, Compensation_Status] + I = Compensation_Parameter[0] + Flip = Compensation_Parameter[1] + Status_Compensation = Compensation_Parameter[2] + + + # Compensation succeeded. Next: Save Bext, I and Flip in self.Bext_Compensations_Current_List + self.Bext_Compensations_Current_List.append([Bext, I, Flip]) + + self.pushButton_Compensation_Take_It.setEnabled(False) + + if Status_Compensation == 2: + self.listWidget_Bext_Progress.item(index).setText("Succeeded") + self.listWidget_Bext_Progress.item(index).setBackground(QColor(0, 255, 0)) + else: + self.listWidget_Bext_Progress.item(index).setText("Failed, but ok") + self.listWidget_Bext_Progress.item(index).setBackground(QColor(180, 255, 180)) + + # self.sync_main.update({'Measurement_Running':False}) #Change state + print(self.Bext_Compensations_Current_List) + self.save_Bext_Compensation_parameters() + self.Perform_all_Bext_Compensations_Boolean = False + + def Perform_single_Bext_Compensation(self, Bset): #Perform single Bext compensation and return Currents, Coil-Flips, Compensation_Status + + Status_Compensation = 0 + + self.syncdict.update({"B_set":Bset}) + time.sleep(0.1) + self.syncdict.update({"Start_Compensation":True}) + + while not Status_Compensation == 2: #Execute the following until compensation is succeeded: + + if self.Perform_all_Bext_Compensations_Boolean == False: + # Read currents and flip status from power supplies + Current_Flip = self.Read_Coil_Current_and_Flip() + I = Current_Flip[0] + Flip = Current_Flip[1] + return [I, Flip, 3] + + if Status_Compensation == 3: #Compensation is failed + print("Compensation failed!") + + # Read currents and flip status from power supplies + Current_Flip = self.Read_Coil_Current_and_Flip() + I = Current_Flip[0] + Flip = Current_Flip[1] + return [I, Flip, 3] # Status = 3 means compensation failed + + if self.Take_It_Current == True: + print("Compensation failed, but ok.") + # Read currents and flip status from power supplies + Current_Flip = self.Read_Coil_Current_and_Flip() + I = Current_Flip[0] + Flip = Current_Flip[1] + return [I, Flip, 4] # Status = 4 means "Failed, but ok" + + + time.sleep(1) + Status_Compensation = self.syncdict.get('Status_Compensation') + + print("Compensation succeeded!") + + # Read currents and flip status from power supplies + Current_Flip = self.Read_Coil_Current_and_Flip() + I = Current_Flip[0] + Flip = Current_Flip[1] + + return [I, Flip, Status_Compensation] + + + def Read_Coil_Current_and_Flip(self): + # Read currents and flip status from power supplies + I = [0,0,0,0] + Flip = [False, False, False] + + I[0] = self.sync_BK_9174B.get('setI')[0] #x-coil + I[1] = self.sync_BK_9174B.get('setI')[1] #y-coil + I[2] = self.sync_BK_9174B_2.get('setI')[1] #y2-coil + I[3] = self.sync_BK_9174B_2.get('setI')[0] #z-coil + + for index, state in enumerate(self.sync_BK_9131B.get('OutputOn')): #Check the power supplies output for flip status + Flip[index] = state + + return [I, Flip] + + + def Run_Perform_all_Bext_Compensations(self): #Change boolean and start compensation in different thread + # Check if a compensation is already running: + if self.Perform_all_Bext_Compensations_Boolean == True: + self.line_Status.setText("Compensation already running.") + return + + self.Perform_all_Bext_Compensations_Boolean = True + #Start Thread + self.worker_Compensation = Worker(self.Perform_all_Bext_Compensations) + self.threadpool.start(self.worker_Compensation) + + def Abort_Perform_all_Bext_Compensations(self): #Change boolean to False -> Abort compensation + + if self.Perform_all_Bext_Compensations_Boolean == False: + self.line_Status.setText("Compensation is not running.") + + self.Perform_all_Bext_Compensations_Boolean = False + + def Set_Take_It_Current(self): #Set Take_It_Current = True so that failed compensation currents can be saved + self.Take_It_Current = True + + + def set_Current_Mode(self, value): + self.Current_Mode = value #0= TF vs. DT, 1= TF vs. Bext, 2= TF vs. Speed + + #Change line_edit enable-status according to measurement mode + Lines = [self.line_Gradient, self.line_Bext, self.line_Speed] + for i, line in enumerate(Lines): + if i == value: + line.setEnabled(False) + else: + line.setEnabled(True) + if value == 1: # Also disable line_Gradient since the Gradient-List is used + Lines[0].setEnabled(False) + + def set_Additional_Params(self): + Lines = [self.line_Gradient, self.line_Bext, self.line_Speed] + for i, line in enumerate(Lines): + self.Additional_Params[i] = get_float(line) #Write value of line in Additional_Params List + + def Start_Measurement(self): #executed after pressing "Start Measurement" Button + # Check if a measurement is already running: + if self.Status_Perform_Measurement == True: + self.line_Status.setText("Measurement already running.") + return + + self.Status_Perform_Measurement = True + self.sync_main.update({'Measurement_Running':True}) + #Start Thread + self.worker_Measurement = Worker(self.Perform_Measurement) + self.threadpool.start(self.worker_Measurement) + + def Stop_Measurement(self): #executed after pressing "Stop Measurement" Button + self.Status_Perform_Measurement = False + self.sync_main.update({'Measurement_Running':False}) + + def enable_line_edits(self, Lines, Status): # Enable / Disable all line_edits in Lines-List according to Status-Boolean + for i, line in enumerate(Lines): + line.setEnabled(Status) + + def set_Bext_Gradient_List(self): # executed after pressing "Enter" in lineEdit_Gradient_List + # Create list with Gradients from self.lineEdit_Gradient_List string, separated by ;. Ignore " " + try: + self.Bext_Gradient_List = [self.lineEdit_Gradient_List.text().replace(" ","").split(";")] + except: + self.line_Status.setText("Error in Bext Gradient List.") + self.Bext_Gradient_List = [0] + self.Bext_Gradient_List = [np.round(float(self.Bext_Gradient_List[0][i]),3) for i in range(len(self.Bext_Gradient_List[0]))] #Convert string to float and round to 3 digits + + # Fill Gradients into listWidget_Gradients + self.listWidget_Gradients.clear() # Clear old entries + self.listWidget_Gradients_Progress.clear() # Clear old entries + for i in range(len(self.Bext_Gradient_List)): + item = QListWidgetItem(str(self.Bext_Gradient_List[i])+ " K/cm") + self.listWidget_Gradients.addItem(item) + self.listWidget_Gradients_Progress.addItem(QListWidgetItem("0 %")) + + def set_stop_wait_process(self): + self.stop_wait_process = True # Set stop_wait_process to True to stop the waiting process for reaching Tset or Cooldown_Finished_Temperature + + def set_Pause(self): + if self.pause == True: + self.pause = False + self.pushButton_Pause_Measurement.setStyleSheet("background-color: rgb(200, 200, 200)") + self.pushButton_Pause_Measurement.setText("Click to pause") + + else: + self.pause = True + self.pushButton_Pause_Measurement.setStyleSheet("background-color: rgb(255, 0, 0)") + self.pushButton_Pause_Measurement.setText("PAUSED") + + def save_Bext_Compensation_parameters(self): + path = self.line_Bext_Compensation_Path.text() + if len(self.Bext_Compensations_Current_List) > 0: + with open(path, 'w') as f: + json.dump(self.Bext_Compensations_Current_List, f) + else: + self.line_Status.setText("No compensation data to be saved.") + + def load_Bext_Compensation_parameters(self): + path = self.line_Bext_Compensation_Path.text() + with open(path, 'r') as f: + self.Bext_Compensations_Current_List = json.load(f) + + # Clear Bext list widget + self.listWidget_Bext.clear() # Clear old entries + self.listWidget_Bext_Progress.clear() # Clear old entries + #Update Bext list widget + for index, params in enumerate(self.Bext_Compensations_Current_List): + Bext = params[0] + I = params[1] + self.listWidget_Bext.addItem(str(Bext)) + + if not I == [0,0,0,0]: + self.listWidget_Bext_Progress.addItem("Succeeded") + self.listWidget_Bext_Progress.item(index).setBackground(QColor(0, 255, 0)) + else: + self.listWidget_Bext_Progress.addItem("[0,0,0]A (?)") + self.listWidget_Bext_Progress.item(index).setBackground(QColor(255, 180, 180)) + + def set_default(self): + #saves current set values to txt file in subdirectory configs. All entries that are saved are defined in self.lines_config + #Overwrites old values in config file. + current_dir = os.path.dirname(os.path.abspath(__file__)) + path = current_dir+'\\configs\\Automation_Measurement_config.txt' #To make shure the config file is at the right place, independent from where the program is started the location of the file is retrieved + file = open(path,'w') + for l in self.lines_config_float: + temp = f"{get_float(l)}" + file.write(temp+'\t') + for l in self.lines_config_strings: + file.write(l.text()+'\t') + for c in self.checkboxes_config: + file.write(str(c.isChecked())+'\t') + for c in self.combobox_config: + file.write(str(c.currentIndex())+'\t') + file.write('\n') + file.close + + #self.lines_config_float = [self.line_Min_Gradient, self.line_Max_Gradient, self.line_Gradient_Stepwidth, self.line_Min_Bext, self.line_Max_Bext, self.line_Stepwidth_Bext, self.line_Base_Temperature, self.line_Cooldown_Finished_Temperature, self.line_Sensor_Distance, self.line_Gradient, self.line_Bext, self.line_Speed, self.line_time_per_cooldown, self.line_PID_Temperature_Average_Time, self.line_PID_Temperature_Tolerance, self.line_PID_Temperature_Time, self.line_Buffer_Length, self.line_Plot_Seconds]#is used for config file + + + def read_default(self): + #reads default values from config file in subdirectory config and sets the values in gui. Then self.change is set to true so values are send + #to device. (If no config file exists, it does nothing.) + current_dir = os.path.dirname(os.path.abspath(__file__)) + path = current_dir+'\\configs\\Automation_Measurement_config.txt' #To make shure the config file is read from the right place, independent from where the program is started the location of the file is retrieved + try: #exit function if config file does not exist + vals = import_txt.read_raw(path) + except: + print('no config file found on') + print(path) + return + formats = ['.2f', '.2f', '.2f','.0f', '.0f','.0f','.2f', '.2f' , '.2f' , '.2f', '.0f', '.3f', '.0f','.2f', '.2f' , '.1f' , '.0f', '.0f'] + + for l,v,f in zip(self.lines_config_float,vals[0],formats): + v = float(v) #convert string in txt to float, so number can be formatted according to "formats" when it's set + l.setText(format(v,f)) + + for l,v in zip(self.lines_config_strings,vals[0][len(self.lines_config_float):]): + l.setText(v) + + for c,v in zip(self.checkboxes_config,vals[0][len(self.lines_config_float)+len(self.lines_config_strings):]): + c.setChecked(v == 'True') + + for c,v in zip(self.combobox_config,vals[0][len(self.lines_config_float)+len(self.lines_config_strings)+len(self.checkboxes_config):]): + c.setCurrentIndex(int(v)) + + self.change = True + + def closeEvent(self,event): #when window is closed self.running is set to False, so all threads stop + self.running = False + self.sync_main.update({'Measurement_Running':False}) #Change state + self.Perform_all_Bext_Compensations_Boolean = False + self.Status_Perform_Measurement = False + time.sleep(1) + event.accept() + + + +app = QApplication(sys.argv) + +window = MainWindow() +window.show() +app.exec() \ No newline at end of file diff --git a/Legacy/TF_Control/BT_3D_Plot.py b/Legacy/TF_Control/BT_3D_Plot.py new file mode 100644 index 0000000..02548f7 --- /dev/null +++ b/Legacy/TF_Control/BT_3D_Plot.py @@ -0,0 +1,697 @@ +from PyQt6.QtGui import * +from PyQt6.QtWidgets import * +from PyQt6.QtCore import * + +import multiprocessing +import multiprocessing.managers + +import time +from datetime import datetime +import traceback,sys,os +import numpy as np +import pyqtgraph as pg +from scripts import import_txt + +import pyqtgraph.opengl as gl + +from scipy.optimize import curve_fit +import collections + +# Get the current script's directory +current_dir = os.path.dirname(os.path.abspath(__file__)) +# Get the parent directory by going one level up +parent_dir = os.path.dirname(current_dir) +# Add the parent directory to sys.path +sys.path.append(parent_dir) + +from design_files.BT_3D_Plot_design import Ui_MainWindow + +class Vector: + def __init__(self, vec_0, vec_direction, length, width, color, view): + #transform axis such that it fits the real setup + vec_direction_new = np.array([1,1,1], dtype=float) + vec_direction_new[0] = vec_direction[1] + vec_direction_new[1] = vec_direction[0] #plus or minus on the right side? + vec_direction_new[2] = vec_direction[2] + self.vec_0 = vec_0 + self.vec_direction = vec_direction_new + self.length = length + self.width = width + self.color = color + self.view = view + + #After initialization draw Vector + self.draw() + + def Calc_Vec1_Vec2(self): #Calculate start- and end-vector of the vector to be drawn + vec_direction_length = np.sqrt(self.vec_direction[0]**2+self.vec_direction[1]**2+self.vec_direction[2]**2) + if vec_direction_length == 0: + direction_normalized = np.array([0,0,0]) + else: + direction_normalized = self.vec_direction/vec_direction_length + + self.vec1 = self.vec_0 - direction_normalized*self.length/2 + self.vec2 = self.vec_0 + direction_normalized*self.length/2 + + self.headvec1 = np.empty(shape=(0,3)) + self.headvec2 = np.empty(shape=(0,3)) + + Headsteps = 5 + headlength = self.length/5 + headsegment = headlength/Headsteps + + for i in range(0,Headsteps): + vec1x = self.vec2 + i*headsegment*direction_normalized + vec2x = self.vec2 + (i+1)*headsegment*direction_normalized + + self.headvec1 = np.append(self.headvec1, [vec1x], axis=0) + self.headvec2 = np.append(self.headvec2, [vec2x], axis=0) + + def draw(self): + + self.Calc_Vec1_Vec2() + + #Draw Line of Vector + linedata = np.array([self.vec1,self.vec2]) + self.Line = gl.GLLinePlotItem() + self.Line.setData(pos=linedata, mode="lines", color=np.array([self.color,self.color]), width=self.width) + self.Line.setGLOptions('translucent') + self.view.addItem(self.Line) + + #Draw Head of Vector + self.headline1 = gl.GLLinePlotItem() + self.headline2 = gl.GLLinePlotItem() + self.headline3 = gl.GLLinePlotItem() + self.headline4 = gl.GLLinePlotItem() + self.headline5 = gl.GLLinePlotItem() + + self.headlinearray = [self.headline1, self.headline2, self.headline3, self.headline4, self.headline5] + + i=0 + for headline in self.headlinearray: + headlinedata = np.array([self.headvec1[i,:],self.headvec2[i,:]]) + headlinewidth = (1-i/5)*20 + headline.setData(pos=headlinedata, mode="lines", color=np.array([self.color,self.color]), width=headlinewidth) + headline.setGLOptions('translucent') + self.view.addItem(headline) + i=i+1 + + def set_changes(self): #Everytime a setting has changed this function should be called to update changes in the plot + + #ChangeLine + linedata = np.array([self.vec1,self.vec2]) + self.Line.setData(pos=linedata, mode="lines", color=np.array([self.color,self.color]), width=self.width) + + #ChangeHead + i=0 + for headline in self.headlinearray: + # print(str(np.shape(self.headvec1)) +" " +str(np.shape(self.headvec2))) + headlinedata = np.array([self.headvec1[i,:],self.headvec2[i,:]]) + headlinewidth = (1-i/5)*20 + headline.setData(pos=headlinedata, mode="lines", color=np.array([self.color,self.color]), width=headlinewidth) + i=i+1 + + def change_direction(self, vec_direction): + + #transform axis such that it fits the real setup + vec_direction_new = np.array([1,1,1], dtype=float) + vec_direction_new[0] = vec_direction[1] + vec_direction_new[1] = vec_direction[0] #plus or minus on the right side? + vec_direction_new[2] = vec_direction[2] + self.vec_direction = vec_direction_new + self.Calc_Vec1_Vec2() + self.set_changes() + + def change_length(self, length): + self.length = length + self.Calc_Vec1_Vec2() + self.set_changes() + + def change_width(self, width): + self.width = width + self.Line.setData(width=self.width) + self.set_changes() + + def change_color(self, color): + self.color = color + self.Line.setData(color=np.array([self.color,self.color])) + self.set_changes() + +class Plane: + def __init__(self, vec0, vec1, vec2, color, view): #vec0 base edge of plane, vec1 and vec2 edges relative to vec0 + self.vec0 = vec0 + self.vec1 = vec1 + self.vec2 = vec2 + self.color = color + self.view = view + self.draw() + + def draw(self): + VecData = [self.vec0, self.vec0+self.vec1, self.vec0+self.vec2, self.vec0+self.vec1+self.vec2, self.vec0+self.vec1, self.vec0+self.vec2] + PlaneMeshData = gl.MeshData() + PlaneMeshData.setVertexes(verts=VecData) + + self.PlaneItem = gl.GLMeshItem(meshdata=PlaneMeshData, smooth=False, glOptions="translucent") + self.PlaneItem.setColor(self.color) + self.view.addItem(self.PlaneItem) + + def change_color(self, color): + self.color = color + self.PlaneItem.setColor(self.color) + +class Quader: + def __init__(self, vec0, vec1, vec2, vec3, color, view): #vec0 base edge of quader, vec1 and vec2 and vec3 edges relative to vec0 + self.vec0 = vec0 + self.vec1 = vec1 + self.vec2 = vec2 + self.vec3 = vec3 + self.color = color + self.view = view + self.draw() + + def draw(self): + self.colorfactor1 = np.array([0.8,0.8,0.8,1]) + self.colorfactor2 = np.array([0.6,0.6,0.6,1]) + self.Plane1 = Plane(self.vec0, self.vec1, self.vec2, self.color, self.view) + self.Plane2 = Plane(self.vec0, self.vec2, self.vec3, self.color*self.colorfactor1, self.view) + self.Plane3 = Plane(self.vec0, self.vec1, self.vec3, self.color*self.colorfactor2, self.view) + self.Plane4 = Plane(self.vec0+self.vec1+self.vec2+self.vec3, -self.vec1, -self.vec2, self.color, self.view) + self.Plane5 = Plane(self.vec0+self.vec1+self.vec2+self.vec3, -self.vec3, -self.vec2, self.color*self.colorfactor1, self.view) + self.Plane6 = Plane(self.vec0+self.vec1+self.vec2+self.vec3, -self.vec3, -self.vec1, self.color*self.colorfactor2, self.view) + + def change_color(self,color): + self.color = color + self.Plane1.change_color(self.color) + self.Plane2.change_color(self.color*self.colorfactor1) + self.Plane3.change_color(self.color*self.colorfactor2) + self.Plane4.change_color(self.color) + self.Plane5.change_color(self.color*self.colorfactor1) + self.Plane6.change_color(self.color*self.colorfactor2) + + +class Niobium: + def __init__(self, vec0, vec1, vec2, vec3, color, view): #vec0 base edge of quader, vec1 and vec2 and vec3 edges relative to vec0 + self.vec0 = vec0 + self.vec1 = vec1 + self.vec2 = vec2 + self.vec3 = vec3 + self.color = color + self.view = view + self.NoSegments = 8 + self.draw() + + def draw(self): + self.Quader1 = Quader(self.vec0+self.vec3/self.NoSegments*7, self.vec1, self.vec2, self.vec3/self.NoSegments, self.color, self.view) + self.Quader2 = Quader(self.vec0+self.vec3/self.NoSegments*6, self.vec1, self.vec2, self.vec3/self.NoSegments, self.color, self.view) + self.Quader3 = Quader(self.vec0+self.vec3/self.NoSegments*5, self.vec1, self.vec2, self.vec3/self.NoSegments, self.color, self.view) + self.Quader4 = Quader(self.vec0+self.vec3/self.NoSegments*4, self.vec1, self.vec2, self.vec3/self.NoSegments, self.color, self.view) + self.Quader5 = Quader(self.vec0+self.vec3/self.NoSegments*3, self.vec1, self.vec2, self.vec3/self.NoSegments, self.color, self.view) + self.Quader6 = Quader(self.vec0+self.vec3/self.NoSegments*2, self.vec1, self.vec2, self.vec3/self.NoSegments, self.color, self.view) + self.Quader7 = Quader(self.vec0+self.vec3/self.NoSegments*1, self.vec1, self.vec2, self.vec3/self.NoSegments, self.color, self.view) + self.Quader8 = Quader(self.vec0+self.vec3/self.NoSegments*0, self.vec1, self.vec2, self.vec3/self.NoSegments, self.color, self.view) + self.QuaderList = [self.Quader1, self.Quader2, self.Quader3, self.Quader4, + self.Quader5, self.Quader6, self.Quader7, self.Quader8] + + def change_color(self, ColorArray): + i=0 + for Quader in self.QuaderList: + Quader.change_color(ColorArray[i]) + i=i+1 + + +def linearfunction(x,a,b): #Linear function for fitting purposes + return a*x+b + + +class WorkerSignals(QObject): + ''' + Defines the signals available from a running worker thread. + Supported signals are: + finished: No data + error: tuple (exctype, value, traceback.format_exc() ) + result: object data returned from processing, anything + progress: int indicating % progress + ''' + finished = pyqtSignal() + error = pyqtSignal(tuple) + result = pyqtSignal(object) + progress = pyqtSignal(list) + + +class Worker(QRunnable): + ''' + Worker thread + Inherits from QRunnable to handler worker thread setup, signals and wrap-up. + :param callback: The function callback to run on this worker thread. Supplied args and + kwargs will be passed through to the runner. + :type callback: function + :param args: Arguments to pass to the callback function + :param kwargs: Keywords to pass to the callback function + ''' + + def __init__(self, fn, *args, **kwargs): + super(Worker, self).__init__() + + # Store constructor arguments (re-used for processing) + self.fn = fn + self.args = args + self.kwargs = kwargs + self.signals = WorkerSignals() + + # Add the callback to our kwargs + self.kwargs['progress_callback'] = self.signals.progress + + @pyqtSlot() + def run(self): + ''' + Initialise the runner function with passed args, kwargs. + ''' + + # Retrieve args/kwargs here; and fire processing using them + try: + result = self.fn(*self.args, **self.kwargs) + except: + traceback.print_exc() + exctype, value = sys.exc_info()[:2] + self.signals.error.emit((exctype, value, traceback.format_exc())) + else: + self.signals.result.emit(result) # Return the result of the processing + finally: + self.signals.finished.emit() # Done + +def get_float(Qline,default = 0): #gets value from QLineEdit and converts it to float. If text is empty or cannot be converted, it returns "default" which is 0, if not specified + try: + out = float(Qline.text()) + except: + out = default + return(out) + +class MainWindow(QMainWindow, Ui_MainWindow): + def __init__(self, *args, **kwargs): + # Get the current script's directory + self.current_dir = os.path.dirname(os.path.abspath(__file__)) + # Get the parent directory by going one level up + self.parent_dir = os.path.dirname(current_dir) + + #import Gui from QT designer file + super(MainWindow, self).__init__(*args, **kwargs) + self.setupUi(self) + + #setup T plot + + self.graphWidget.setBackground('w') + self.graphWidget.setTitle("T gradient") + self.graphWidget.setLabel('left', 'z (cm)') + self.graphWidget.setLabel('bottom', 'T (K)') + + temp = [0,1] + pen1 = pg.mkPen(color=(255, 0, 0), width=2) #Pen for temperature plotting + pen2 = pg.mkPen(color=(40, 40, 40), width=1 ) #Pen for Tc (dashed line) plotting + pen3 = pg.mkPen(color=(255, 100, 100), width=1 ) #Pen for linear gradient fit + + + self.plot_1 = self.graphWidget.plot(temp,[1,0],pen = pen1, name = 'T', symbol ='x', symbolPen ='r', symbolBrush = 0.2) + self.plot_2 = self.graphWidget.plot(temp,[1,0],pen = pen2, name = 'Tc') + self.plot_3 = self.graphWidget.plot(temp,[1,0],pen = pen3, name = 'T Gradient') + + + #setup 3D BT Plot + + self.openGLWidget.setBackgroundColor("white") + + #Niobium Sample + #Dimensions in cm + Nbx = 6 + Nby = 10 + Nbz = 0.3 + + vec0 = np.array([-Nbz/2,-Nbx/2,-Nby/2]) + vec1 = np.array([0,0,Nby]) + vec2 = np.array([0,Nbx,0]) + vec3 = np.array([Nbz,0,0]) + + self.Niobium1 = Niobium(vec0,vec3,vec2,vec1, np.array([0.2,0.2,0.2,1]), self.openGLWidget) + + xdiff = 1 #Distance between niobium sample and B-vectors + # yVectorArray = np.linspace(-3,3,3) + yVectorArray = [1.3,0,-1.3,1.3,0,-1.3,1.3,0,-1.3,1.3,0,-1.3,1.3,0,-1.3] + # zVectorArray = np.linspace(-5,5,5) + zVectorArray = [3.2,3.2,3.2,1.6,1.6,1.6,0,0,0,-1.6,-1.6,-1.6,-3.2,-3.2,-3.2] + + self.vectorcolor = [0.2,0.8,0.2,1] + self.vectorwidth = 4 + self.VectorArray = [] + # for y in yVectorArray: + # for z in zVectorArray: + # self.VectorArray.append(Vector(np.array([xdiff,y,z]), np.array([1,1,1]), 1, self.vectorwidth, self.vectorcolor,self.openGLWidget)) + + for i in range(0,15): + y = yVectorArray[i] + z = zVectorArray[i] + self.VectorArray.append(Vector(np.array([xdiff,y,z]), np.array([1,1,1]), 1, self.vectorwidth, self.vectorcolor,self.openGLWidget)) + + + #set up pyQT threadpool + self.threadpool = QThreadPool() + + #define and standard threads. + + #define signals and slots + self.actionSet_default.triggered.connect(self.set_default) + self.actionReset_default.triggered.connect(self.read_default) + self.button_connect.clicked.connect(self.start_meas) + self.checkBox_disableplots.stateChanged.connect(self.set_displot) + + self.T_scale_min.editingFinished.connect(self.set_T_scale_min) + self.T_scale_max.editingFinished.connect(self.set_T_scale_max) + self.Tc.editingFinished.connect(self.set_Tc_value) + self.Time_Slider.valueChanged.connect(self.set_Qslider_pos) + self.Saved_seconds.editingFinished.connect(self.set_Saved_seconds_value) + self.checkBox_livedata.stateChanged.connect(self.set_ShowLiveData) + self.Play_Pause.clicked.connect(self.set_Replay_Play) + self.Replay_speed.editingFinished.connect(self.set_Replay_speed_value) + self.Show_sc_phase.stateChanged.connect(self.set_Show_sc_phase_value) + self.Show_gradient_fit.stateChanged.connect(self.plot_gradient_hide) + + + + #define constants + self.BT_Storage = collections.deque([]) #store magnetic field and temperature data + self.BT_Replay_Storage = collections.deque([]) #store magnetic field and temperature data from BT_Storage deque for Replay functionality + self.Qslider_pos = 1 #Position of the replay Qslider in [0,100] + self.ShowLiveData = True #If True then live data is plotted in the 3D plot. If False then Replay-Mode is activated + self.Replay_Play = False #Play / Pause state for replay function + self.Replay_speed_value = 1 #Replay speed + self.Show_sc_phase_value = True #If True: Show sc area in 3D plot + self.t = [time.time()] #store timestamps + self.Npoints = 200 #number of point to plot + self.Tscale_min = 0 #Max T value for colors in 3d plot + self.Tscale_max = 20 #Max T value for colors in 3d plot + self.Tc_value = 9.2 #Value of Tc for plotting dashed line and coloring superconducting state + self.Saved_seconds_value = 30 #Number of seconds in which the last measurements are saved for replay functionality + self.CernoxPositions = np.linspace(1/16*10,15/16*10,8) #Cernox positions in cm + self.running = True #true while app is running + self.disable_plot = False #constant to disable plot to improve performance. Is changed by checkbox checkBox_disableplots + self.timing_save = 5 #save intervall [s] + self.set_old = [0,0,1] #variable to save the 'old' set values to compare them to the global variables. It differs from set_new in the first iteration. This ensures that new parameters are send to the device + self.set_new = [0,0,0] #variable to save the new set values to compare them to the old ones + self.lines_config_float = [self.T_scale_min, self.T_scale_max, self.B_scale_min, self.B_scale_max, self.Tc, self.Replay_speed, self.Saved_seconds]#is used for config file + self.lines_config_strings = []#is used for config file + self.checkboxes_config = [self.checkBox_disableplots,self.Show_sc_phase, self.Show_gradient_fit]#is used for config file + + #read default values from config and set them in gui + # self.read_default() + + + def start_meas(self): + self.bla=0 #Variable for dummy measurements + + #establish connection to global variables} + try: #try to connect to global variables + manager = multiprocessing.managers.BaseManager(address=('localhost',5001), authkey=b'') + manager.connect() + # manager.register('sync_LS_218') + manager.register('sync_converted') + # self.sync_LS_218 = manager.sync_LS_218() + self.sync_converted = manager.sync_converted() + except: #open global variables, if no connection can be made (i.e. it is not running). Then connect to it + # subprocess.call(['D:\\Python instrument drivers\\env\\Scripts\\python.exe', 'D:\\Python instrument drivers\\StandAlones\\global_variables.py']) + self.global_vars = QProcess() + self.global_vars.start(self.current_dir+"\\.venv\\Scripts\\python.exe", [self.current_dir+'\\global_variables_TF.py']) + manager.connect() + # manager.register('sync_LS_218') + manager.register('sync_converted') + # self.sync_LS_218 = manager.sync_LS_218() + self.sync_converted = manager.sync_converted() + print('!!!\nI opened global variables myself. If you close me, global variables will shut down too. Consider starting global variables in own instance for more security\n!!!') + + + #fill in variables, in case they are not defined in global variables + self.sync_converted.update({'T':[0,0,0,0,0,0,0,0]}) + + + self.worker = Worker(self.update_all) + self.worker.signals.progress.connect(self.update_gui) + self.threadpool.start(self.worker) + + def update_all(self, progress_callback): + #get values from device and write them to global variables. Checks if global variables changed from last iteration. Also pass it to upddate_gui with emit(T) + + + while self.running == True: + + #Get magnetic field data from AMR-sensors: + AMR_x = self.sync_converted.get('AMR_x') + AMR_y = self.sync_converted.get('AMR_y') + AMR_z = self.sync_converted.get('AMR_z') + + Array_B = [] #List with [[AMR1_x, AMR1_y, AMR1_z], [AMR2_x, AMR2_y, AMR2_z], [AMR3_x, AMR3_y, AMR3_z], ...] + for i in range(0,15): + B = np.array([AMR_x[i], AMR_y[i], AMR_z[i]]) + Array_B.append(B) + + + #Get temperature data from sync_converted dict + Array_T = self.sync_converted.get('T') + + #DUMMY DATA FOR TEST + # Array_B = [] + # for i in range(0,15): + # B = np.array([1+0.5*np.sin(self.bla),np.sin(self.bla),np.cos(self.bla)]) + # Array_B.append(B) + + # Array_T = [] + # for i in range(0,8): + # T = 10+5*np.sin(i*0.5+self.bla*0.2) + # Array_T.append(T) + + self.bla = self.bla + 0.1 + + time.sleep(0.03) + progress_callback.emit([Array_B, Array_T]) #Emits list of all B and T measurements + # self.set_old = self.set_new[:] #List needs to be sliced so that only values are taken and not just a pointer is created + + + # del(self.BK) #disconnect device when self.running is set to False + + def update_gui(self, List): + #Convert List into original format + Array_B = List[0] + Array_T = List[1] + currenttime = time.time() + + #save newest data + timestamp in queues + self.BT_Storage.append([currenttime, Array_B, Array_T]) + + #check for Saved_seconds limit in BT_Storage. In case of older measurements -> Delete them + needfordelete = True + i = 0 + while needfordelete and i<=len(self.BT_Storage): #Just if needfordelete = True: Check and delete old entries + timestamp = self.BT_Storage[i][0] + + if timestamp < currenttime - self.Saved_seconds_value: #if timestamp is older than current time minus saved_seconds_value + self.BT_Storage.popleft() #Delete oldest entry + else: + needfordelete = False #If all entries are within the time interval: No need for continue with deleting-for-loop + + i=i+1 + + + if self.ShowLiveData == True: #Show live measured data + self.update_Plots([currenttime, Array_B, Array_T]) + self.Replay_Play = False + else: #Show replay data (according to position of Qslider) + if self.Replay_Play == False: #"Slider Mode" without playback + self.latest_time_in_Replay_Storage = self.BT_Replay_Storage[-1][0] #show the newest timestamp in BT_Replay_Storage + self.oldest_time_in_Replay_Storage = self.BT_Replay_Storage[0][0] #show the newest timestamp in BT_Replay_Storage + timediff = self.latest_time_in_Replay_Storage - self.oldest_time_in_Replay_Storage + self.slider_time = self.latest_time_in_Replay_Storage -(1-self.Qslider_pos)*timediff + index = self.get_deque_index_closest_to_timestamp(self.BT_Replay_Storage, self.slider_time) #index closest to slider_time + Array_B = self.BT_Replay_Storage[index][1] + Array_T = self.BT_Replay_Storage[index][2] + self.update_Plots([self.slider_time, Array_B, Array_T]) + + self.last_pause_time = time.time() + + else: #"Playback Mode" with set playback speed + + play_time = self.slider_time + (currenttime - self.last_pause_time)*self.Replay_speed_value + if play_time >= self.latest_time_in_Replay_Storage: #If play_time reaches the end of BT_Replay_Storage start from beginning + self.last_pause_time = time.time() + + index = self.get_deque_index_closest_to_timestamp(self.BT_Replay_Storage, play_time) #index closest to play_time + Array_B = self.BT_Replay_Storage[index][1] + Array_T = self.BT_Replay_Storage[index][2] + self.update_Plots([play_time, Array_B, Array_T]) + + + def update_Plots(self,value): + + timestamp = value[0] + Array_B = value[1] + Array_T = value[2] + + B_label_Array = [self.B_3,self.B_2,self.B_1, + self.B_6,self.B_5,self.B_4, + self.B_9,self.B_8,self.B_7, + self.B_12,self.B_11,self.B_10, + self.B_15,self.B_14,self.B_13] + + + for i,Vector in enumerate(self.VectorArray): + B = Array_B[i] + + Vector.change_direction(B) + # Vector.change_length(1+0.5*np.sin(self.bla+i/10)) + #Change B in textlabel + B_total = np.linalg.norm(B) + B_label_Array[i].setText(str(np.round(B_total,2))) + + colorarray = [] + T_label_Array = [self.T_1,self.T_2,self.T_3,self.T_4,self.T_5,self.T_6,self.T_7,self.T_8] + + for i,T_label in enumerate(T_label_Array): + T = Array_T[i] + if self.Show_sc_phase_value == True and T <= self.Tc_value: + red = (T-self.Tscale_min)/(self.Tscale_max - self.Tscale_min) + blue = 1-(T-self.Tscale_min)/(self.Tscale_max - self.Tscale_min) + color = np.array([red*0.6,0.6,0.5,1]) + else: + red = (T-self.Tscale_min)/(self.Tscale_max - self.Tscale_min) + blue = 1-(T-self.Tscale_min)/(self.Tscale_max - self.Tscale_min) + color = np.array([red,0,blue,1]) + colorarray.append(color) + #Change T in textlabel + T_label.setText(str(np.round(T,2))) + + + self.Niobium1.change_color(colorarray) + + + #Update T Plot + self.plot_1.setData(Array_T,np.flip(self.CernoxPositions)) + self.plot_2.setData([self.Tc_value, self.Tc_value],[0,10]) #Tc Line + + #Linear fit for temperature gradient + + GradientParams, GradientCov = curve_fit(linearfunction, self.CernoxPositions, Array_T) + GradientStd = np.diag(GradientCov) + self.Line_T_gradient.setText(str(np.round(GradientParams[0],2)) +" +- " +str(np.round(GradientStd[0],2))) + #Plot Gradient Fit + self.plot_3.setData(linearfunction(self.CernoxPositions,*GradientParams),np.flip(self.CernoxPositions)) + + #set plotted time in time-label + self.line_Time_in_plot.setText(str(time.strftime('%H:%M:%S', time.localtime(timestamp)))) + + + def get_deque_index_closest_to_timestamp(self, deque, timestamp): #with timestamps in the 0.st column of deque + timediffarray = np.empty(shape=(1,0)) + for value in deque: + timediff = np.abs(value[0]-timestamp) #timedifference in seconds + timediffarray = np.append(timediffarray, timediff) + + min_index = np.argmin(timediffarray) #search for the index with the lowest difference in time to timestamp + return min_index + + + def set_Qslider_pos(self, value): + self.Qslider_pos = value/100 + # print(self.Qslider_pos) + + def set_ShowLiveData(self): + self.ShowLiveData = self.checkBox_livedata.isChecked() + if self.ShowLiveData == False: + self.BT_Replay_Storage = self.BT_Storage.copy() #Write current BT_Storage buffer into Replay_Storage which isnt changed every iteration + print("saved") + + def set_Replay_Play(self): #Change state of Replay_Play from True (Play) to False (Pause) and reverse + if self.Replay_Play == True: + self.Replay_Play = False + else: + self.Replay_Play = True + + def set_Replay_speed_value(self): + self.Replay_speed_value = get_float(self.Replay_speed) + + def set_Show_sc_phase_value(self): + self.Show_sc_phase_value = self.Show_sc_phase.isChecked() + + def set_T_scale_min(self): + self.Tscale_min = get_float(self.T_scale_min) + # print(self.T_scale_min) + + def set_T_scale_max(self): + self.Tscale_max = get_float(self.T_scale_max) + + def set_Tc_value(self): + self.Tc_value = get_float(self.Tc) + + def set_Saved_seconds_value(self): + self.Saved_seconds_value = get_float(self.Saved_seconds) + + def set_displot(self): + #sets variable to disable plot so checkbox state does not need be read out every iteration + self.disable_plot = self.checkBox_disableplots.isChecked() + + + def plot_gradient_hide(self): + #shows or hides gradient fit plot according to the checkbox + if self.Show_gradient_fit.isChecked() == True: + self.plot_3.show() + else: + self.plot_3.hide() + + + def set_default(self): + #saves current set values to txt file in subdirectory configs. All entries that are saved are defined in self.lines_config + #Overwrites old values in config file. + current_dir = os.path.dirname(os.path.abspath(__file__)) + path = current_dir+'\\configs\\BT_3D_Plot_config.txt' #To make shure the config file is at the right place, independent from where the program is started the location of the file is retrieved + file = open(path,'w') + for l in self.lines_config_float: + temp = f"{get_float(l)}" + file.write(temp+'\t') + for l in self.lines_config_strings: + file.write(l.text()+'\t') + for c in self.checkboxes_config: + file.write(str(c.isChecked())+'\t') + file.write('\n') + file.close + + def read_default(self): + #reads default values from config file in subdirectory config and sets the values in gui. Then self.change is set to true so values are send + #to device. (If no config file exists, it does nothing.) + current_dir = os.path.dirname(os.path.abspath(__file__)) + path = current_dir+'\\configs\\BT_3D_Plot_config.txt' #To make shure the config file is read from the right place, independent from where the program is started the location of the file is retrieved + try: #exit function if config file does not exist + vals = import_txt.read_raw(path) + except: + print('no config file found on') + print(path) + return + formats = ['.2f', '.2f', '.2f','.2f','.2f','.2f','.2f'] + + for l,v,f in zip(self.lines_config_float,vals[0],formats): + v = float(v) #convert string in txt to float, so number can be formatted according to "formats" when it's set + l.setText(format(v,f)) + + for l,v in zip(self.lines_config_strings,vals[0][len(self.lines_config_float):]): + l.setText(v) + + for c,v in zip(self.checkboxes_config,vals[0][len(self.lines_config_float)+len(self.lines_config_strings):]): + c.setChecked(v == 'True') + + self.change = True + + def closeEvent(self,event): #when window is closed self.running is set to False, so all threads stop + self.running = False + time.sleep(1) + event.accept() + + + +app = QApplication(sys.argv) + +window = MainWindow() +window.show() +app.exec() \ No newline at end of file diff --git a/Legacy/TF_Control/B_Field_Compensation_control.py b/Legacy/TF_Control/B_Field_Compensation_control.py new file mode 100644 index 0000000..3a73310 --- /dev/null +++ b/Legacy/TF_Control/B_Field_Compensation_control.py @@ -0,0 +1,599 @@ +from PyQt6.QtGui import * +from PyQt6.QtWidgets import * +from PyQt6.QtCore import * + +import multiprocessing +import multiprocessing.managers + +import time +import traceback,sys,os +import numpy as np +import pyqtgraph as pg +from scripts import import_txt + +# Get the current script's directory +current_dir = os.path.dirname(os.path.abspath(__file__)) +# Get the parent directory by going one level up +parent_dir = os.path.dirname(current_dir) +# Add the parent directory to sys.path +sys.path.append(parent_dir) + +from design_files.B_Field_Compensation_design import Ui_MainWindow + + +class WorkerSignals(QObject): + ''' + Defines the signals available from a running worker thread. + Supported signals are: + finished: No data + error: tuple (exctype, value, traceback.format_exc() ) + result: object data returned from processing, anything + progress: int indicating % progress + ''' + finished = pyqtSignal() + error = pyqtSignal(tuple) + result = pyqtSignal(object) + progress = pyqtSignal(list) + + +class Worker(QRunnable): + ''' + Worker thread + Inherits from QRunnable to handler worker thread setup, signals and wrap-up. + :param callback: The function callback to run on this worker thread. Supplied args and + kwargs will be passed through to the runner. + :type callback: function + :param args: Arguments to pass to the callback function + :param kwargs: Keywords to pass to the callback function + ''' + + def __init__(self, fn, *args, **kwargs): + super(Worker, self).__init__() + + # Store constructor arguments (re-used for processing) + self.fn = fn + self.args = args + self.kwargs = kwargs + self.signals = WorkerSignals() + + # Add the callback to our kwargs + self.kwargs['progress_callback'] = self.signals.progress + + @pyqtSlot() + def run(self): + ''' + Initialise the runner function with passed args, kwargs. + ''' + + # Retrieve args/kwargs here; and fire processing using them + try: + result = self.fn(*self.args, **self.kwargs) + except: + traceback.print_exc() + exctype, value = sys.exc_info()[:2] + self.signals.error.emit((exctype, value, traceback.format_exc())) + else: + self.signals.result.emit(result) # Return the result of the processing + finally: + self.signals.finished.emit() # Done + +def get_float(Qline,default = 0): #gets value from QLineEdit and converts it to float. If text is empty or cannot be converted, it returns "default" which is 0, if not specified + try: + out = float(Qline.text()) + except: + out = default + return(out) + +def update_single_entry(dict,name,ind,val): #updates a single value in global vars. To do so it gets the current value of "dict('name')", replaces "val" at indec "ind" and sends this back + data = dict.get(f"{name}") #get data + data[ind] = val #replace entry + dict.update({f"{name}":data}) #send data back + +class MainWindow(QMainWindow, Ui_MainWindow): + def __init__(self, *args, **kwargs): + # Get the current script's directory + self.current_dir = os.path.dirname(os.path.abspath(__file__)) + # Get the parent directory by going one level up + self.parent_dir = os.path.dirname(current_dir) + + #establish connection to global variables + try: #try to connect to global variables + self.manager = multiprocessing.managers.BaseManager(address=('localhost',5001), authkey=b'') + self.manager.connect() + self.manager.register('syncdict') + self.manager.register('sync_imc') + self.manager.register('sync_BK_9174B') + self.manager.register('sync_BK_9174B_2') + self.manager.register('sync_BK_9131B') + self.syncdict = self.manager.syncdict() + self.sync_imc = self.manager.sync_imc() + self.sync_BK_9174B = self.manager.sync_BK_9174B() + self.sync_BK_9174B_2 = self.manager.sync_BK_9174B_2() + self.sync_BK_9131B = self.manager.sync_BK_9131B() + except: #open global variables, if no connection can be made (i.e. it is not running). Then connect to it + # subprocess.call(['D:\\Python instrument drivers\\env\\Scripts\\python.exe', 'D:\\Python instrument drivers\\StandAlones\\global_variables.py']) + self.global_vars = QProcess() + self.global_vars.start(self.current_dir+"\\.venv\\Scripts\\python.exe", [self.current_dir+'\\global_variables_TF.py']) + self.manager.connect() + self.manager.register('syncdict') + self.manager.register('sync_imc') + self.manager.register('sync_BK_9174B') + self.manager.register('sync_BK_9174B_2') + self.manager.register('sync_BK_9131B') + self.syncdict = self.manager.syncdict() + self.sync_imc = self.manager.sync_imc() + self.sync_BK_9174B = self.manager.sync_BK_9174B() + self.sync_BK_9174B_2 = self.manager.sync_BK_9174B_2() + self.sync_BK_9131B = self.manager.sync_BK_9131B() + print('!!!\nI opened global variables myself. If you close me, global variables will shut down too. Consider starting global variables in own instance for more security\n!!!') + + #fill in variables, if they are not defined in global variables + self.syncdict.update({'B_set':[0,0,0], 'Start_Compensation':False, 'Status_Compensation': 0, 'Temperature_Caution': False}) + # Status_Compensation: 0: No B-field compensation performed + # 1: Compensation is running + # 2: Compensation finished and succeeded + # 3: Compensation failed + + #import Gui from QT designer file + super(MainWindow, self).__init__(*args, **kwargs) + self.setupUi(self) + + #setup plot + self.graphWidget_x.setBackground('w') + self.graphWidget_x.setTitle("Compensation on x-axis") + self.graphWidget_x.setLabel('left', 'B_x (µT)') + self.graphWidget_x.setLabel('bottom', '#iterations') + + self.graphWidget_y.setBackground('w') + self.graphWidget_y.setTitle("Compensation on y-axis") + self.graphWidget_y.setLabel('left', 'B_y (µT)') + self.graphWidget_y.setLabel('bottom', '#iterations') + + self.graphWidget_z.setBackground('w') + self.graphWidget_z.setTitle("Compensation on z-axis") + self.graphWidget_z.setLabel('left', 'B_z (µT)') + self.graphWidget_z.setLabel('bottom', '#iterations') + + pen1 = pg.mkPen(color=(255, 0, 0), width=2) + pen2 = pg.mkPen(color=(0, 0, 255), width=2) + + self.plot_x_1 = self.graphWidget_x.plot([0,1],[1,0],pen = pen1, name = 'B_x_set') + self.plot_x_2 = self.graphWidget_x.plot([0,1],[1,0],pen = pen2, name = 'B_x') + self.graphWidget_x.addLegend() + + self.plot_y_1 = self.graphWidget_y.plot([0,1],[1,0],pen = pen1, name = 'B_y_set') + self.plot_y_2 = self.graphWidget_y.plot([0,1],[1,0],pen = pen2, name = 'B_y') + self.graphWidget_y.addLegend() + + self.plot_z_1 = self.graphWidget_z.plot([0,1],[1,0],pen = pen1, name = 'B_z_set') + self.plot_z_2 = self.graphWidget_z.plot([0,1],[1,0],pen = pen2, name = 'B_z') + self.graphWidget_z.addLegend() + + #set up pyQT threadpool + self.threadpool = QThreadPool() + + #define and standard threads. + # worker_save = Worker(self.save) + # self.threadpool.start(worker_save) + + #define signals and slots + self.actionSet_default.triggered.connect(self.set_default) + self.actionReset_default.triggered.connect(self.read_default) + self.line_B_x_set.editingFinished.connect(self.set_B_set) + self.line_B_y_set.editingFinished.connect(self.set_B_set) + self.line_B_z_set.editingFinished.connect(self.set_B_set) + self.Button_Set_Field.clicked.connect(self.set_start_compensation) + self.checkBox_y2_coil.stateChanged.connect(self.set_y2_coil_Enabled) + self.comboBox_Temp_Sensor.currentIndexChanged.connect(self.set_temp_sensor) + self.line_Max_Temp.editingFinished.connect(self.set_max_temperature) + self.checkBox_Turn_Off_Coils.stateChanged.connect(self.set_Turn_Off_Coils) + + + + #define constants + self.running = True + self.B_set = [0,0,0] #list containing x,y,z set values + self.Start_Compensation = False # boolean, which has to be set true in order to start compensation + self.Coil_Constant = [0,0,0] #Coil constant in muT/A + self.set_old = [0,0,1] #variable to save the 'old' set values to compare them to the global variables. It differs from set_new in the first iteration. This ensures that new parameters are send to the device + self.set_new = [0,0,0] #variable to save the new set values to compare them to the old ones + self.lines_config_float = [self.line_B_x_set,self.line_B_y_set, self.line_B_z_set, self.line_Max_Difference, self.line_Max_iterations, self.line_B_equil_time, self.line_HHC_param_x, self.line_HHC_param_y, self.line_HHC_param_y2, self.line_HHC_param_z, self.line_Max_Temp]#is used for config file + self.lines_config_strings = []#is used for config file + self.checkboxes_config = [self.checkBox_y2_coil, self.checkBox_Turn_Off_Coils]#is used for config file + self.combobox_config = [self.comboBox_Temp_Sensor]#is used for config file + self.y2_coil_Enabled = False # Boolean if second y-coil pair should be used + self.temp_sensor = 0 # Selected temperature sensor Channel + self.max_temperature = 320 # Maximum temperature, at which coils should be turned off + self.Turn_Off_Coils = False #Boolean if Coils should be turned off for temperatures above self.max_temperature + self.LS336_never_connected_before = True + + #read default values from config and set them in gui + self.read_default() + + #write values from gui to global variables. + self.set_B_set() + + self.set_max_temperature() + + # Start standard thread + self.worker = Worker(self.update_all) + self.threadpool.start(self.worker) + + # Start temperature monitoring thread + worker_temperature = Worker(self.temperature_thread) + self.threadpool.start(worker_temperature) + + + + + def update_all(self, progress_callback): + #Checks if global variables changed from last iteration. + while self.running == True: + for i,n in enumerate(['B_set', 'Start_Compensation']): #get new set values from global variables and compare to old ones. + self.set_new[i] = self.syncdict.get(n) + + if self.set_new != self.set_old: #if a button is clicked or global variables are changed the program checks which setting has been changed. + if self.set_new[0] != self.set_old[0]: #if B_set is changed new B_set parameters are saved locally + self.B_set = self.set_new[0] + + if self.set_new[1] != self.set_old[1]: #if Start_Compensation is changed new Start_Compensation is saved locally + self.Start_Compensation = self.set_new[1] + + self.update_setValues(self.set_new) #Change GUI text lines + + self.set_old = self.set_new[:] #List needs to be sliced so that only values are taken and not just a pointer is created + + if self.Start_Compensation == True: #Start Field Compensation + + # Update compensation status in GUI + self.line_iteration_step.setText('Starting compensation.') + self.line_iteration_step.setStyleSheet("background-color: white") + + # Update global variable + self.syncdict.update({'Status_Compensation':1}) + + i = 0 #iteration number + I = [0,0,0] #HHC Current + + # Pull coil constants from GUI lines + self.Coil_Constant = [get_float(self.line_HHC_param_x), get_float(self.line_HHC_param_y), get_float(self.line_HHC_param_z)] + + #set HHC current to 0A + self.sync_BK_9174B.update({'setI':[0, 0]}) + if self.checkBox_y2_coil.isChecked() == True: + self.sync_BK_9174B_2.update({'setI':[0, 0]}) + else: + update_single_entry(self.sync_BK_9174B_2, "setI", 0, 0) + + #set max. voltage of HHC to 70V (in order to get constant current mode) + self.sync_BK_9174B.update({'setU':[70, 70]}) + if self.checkBox_y2_coil.isChecked() == True: + self.sync_BK_9174B_2.update({'setU':[70, 70]}) + else: + update_single_entry(self.sync_BK_9174B_2, "setU", 0, 70) + + #turn on power supplies for HHC + self.sync_BK_9174B.update({'OutputOn':[True, True]}) + if self.checkBox_y2_coil.isChecked() == True: + self.sync_BK_9174B_2.update({'OutputOn':[True, True]}) + else: + update_single_entry(self.sync_BK_9174B_2, "OutputOn", 0, True) + + #Turn off x,y,z-coil relais + self.sync_BK_9131B.update({'OutputOn':[False, False, False]}) + + #Set current and voltage of x,y,z-coil relais + self.sync_BK_9131B.update({'setI':[1,1,1]}) + self.sync_BK_9131B.update({'setU':[5,5,5]}) + + time.sleep(1) + + B_measured = self.sync_imc.get('FG') # Pull fluxgate data from global variables + for x in [0,1,2]: + B_measured[x] = B_measured[x]*100 #Conversion to muT + + + # Create array with all measured B-values for plotting + B_array = np.empty(shape=(0,3)) + B_array = np.append(B_array,[B_measured],axis=0) # Save first measurement point already taken + + # Uptdate plots + self.plot_x_1.setData([0,1],[self.B_set[0],self.B_set[0]]) + self.plot_x_2.setData(np.arange(1),B_array[:,0]) + self.plot_y_1.setData([0,1],[self.B_set[1],self.B_set[1]]) + self.plot_y_2.setData(np.arange(1),B_array[:,1]) + self.plot_z_1.setData([0,1],[self.B_set[2],self.B_set[2]]) + self.plot_z_2.setData(np.arange(1),B_array[:,2]) + + # Calculate the difference between the set B-field and the measured values + B_Delta_x = (self.B_set[0] - B_measured[0]) + B_Delta_y = (self.B_set[1] - B_measured[1]) + B_Delta_z = (self.B_set[2] - B_measured[2]) + + # Create lists containing old and new coil-flip status + FlipStatus_new = [False, False, False] + FlipStatus_old = [False, False, False] + + # Iterations are performed until the maximum number of iterations is reached or the difference is smaller than the given one + while i <= get_float(self.line_Max_iterations) and (np.abs(B_Delta_x) > get_float(self.line_Max_Difference) or np.abs(B_Delta_y) > get_float(self.line_Max_Difference) or np.abs(B_Delta_z) > get_float(self.line_Max_Difference)): + + for k in [0,1,2]: # iterate on all three axes + I[k] = I[k] + (self.B_set[k] - B_measured[k])*(1/self.Coil_Constant[k]) # calculate new current set value + + if I[k] < 0: # if current is negative, change the new flip status + FlipStatus_new[k] = True + else: + FlipStatus_new[k] = False + + if self.checkBox_y2_coil.isChecked() == True and I[k] > 3: + I[k] = 3 + if self.checkBox_y2_coil.isChecked() == False and I[k] >1.5: + I[k] = 1.5 + + print(I) + print(FlipStatus_new) + print(f"old{FlipStatus_old}") + if FlipStatus_new != FlipStatus_old: # if one of the flip status has changed compared to the old status, switch on the relais for flipping the current direction + self.sync_BK_9131B.update({'OutputOn':FlipStatus_new}) + print("Switch") + time.sleep(0.5) + + # set old flip status to the new one + FlipStatus_old = FlipStatus_new.copy() + + for k in [0,1,2]: # iterate on all three axes and set the current of the power supplies + + if k==0: # in case of x-direction + update_single_entry(self.sync_BK_9174B, "setI", k, np.abs(I[k])) + print(self.y2_coil_Enabled) + print(I[1]) + if k==1: # in case of y-direction + if self.y2_coil_Enabled == True: + + I_set = np.abs(I[k])/2 + if I_set > 1.5: + I_set = 1.5 + + update_single_entry(self.sync_BK_9174B, "setI", 1, I_set) + update_single_entry(self.sync_BK_9174B_2, "setI", 1, I_set) + print("Klappt") + else: #Using just one power supply is enough + + I_set = np.abs(I[k]) + if I_set > 1.5: + I_set = 1.5 + + update_single_entry(self.sync_BK_9174B, "setI", 1, I_set) + + if k==2: # in case of z-direction use BK_9174B_2 + update_single_entry(self.sync_BK_9174B_2, "setI", 0, np.abs(I[k])) + + # else: # in case of x- or y-direction use BK_9174B + # update_single_entry(self.sync_BK_9174B, "setI", k, np.abs(I[k])) + + + time.sleep(get_float(self.line_B_equil_time)) # wait for a given time period + + B_measured = self.sync_imc.get('FG') # Pull fluxgate data from global variables + for x in [0,1,2]: + B_measured[x] = B_measured[x]*100 #Conversion to muT + + # Calculate the difference between the set B-field and the measured values + B_Delta_x = (self.B_set[0] - B_measured[0]) + B_Delta_y = (self.B_set[1] - B_measured[1]) + B_Delta_z = (self.B_set[2] - B_measured[2]) + + B_array = np.append(B_array,[B_measured],axis=0) # append measured field for plotting + + # plot B-fields of all three axes + self.plot_x_1.setData([0,i+2],[self.B_set[0],self.B_set[0]]) + self.plot_x_2.setData(np.arange(i+2),B_array[:,0]) + + self.plot_y_1.setData([0,i+2],[self.B_set[1],self.B_set[1]]) + self.plot_y_2.setData(np.arange(i+2),B_array[:,1]) + + self.plot_z_1.setData([0,i+2],[self.B_set[2],self.B_set[2]]) + self.plot_z_2.setData(np.arange(i+2),B_array[:,2]) + + # if one B_set value is zero, calculating the percentual deviation is not possible + if self.B_set[0] != 0: + B_dev_x = 100*(self.B_set[0] - B_measured[0])/self.B_set[0] + self.line_B_x_dev.setText(str(np.round(B_dev_x,4))) + else: + self.line_B_x_dev.setText('/') + + if self.B_set[1] != 0: + B_dev_y = 100*(self.B_set[1] - B_measured[1])/self.B_set[1] + self.line_B_y_dev.setText(str(np.round(B_dev_y,4))) + else: + self.line_B_y_dev.setText('/') + + if self.B_set[2] != 0: + B_dev_z = 100*(self.B_set[2] - B_measured[2])/self.B_set[2] + self.line_B_z_dev.setText(str(np.round(B_dev_z,4))) + else: + self.line_B_z_dev.setText('/') + + self.line_iteration_step.setText(str(i)) + + i=i+1 + + self.syncdict.update({'Start_Compensation':False}) + + if i <= get_float(self.line_Max_iterations): + self.line_iteration_step.setText('Compensation finished!') + self.line_iteration_step.setStyleSheet("background-color: lightgreen") + self.syncdict.update({'Status_Compensation':2}) + else: + self.line_iteration_step.setText('Compensation failed!') + self.line_iteration_step.setStyleSheet("background-color: red") + self.syncdict.update({'Status_Compensation':3}) + + + print("Closed") + + + + def temperature_thread(self,progress_callback): + + Caution_Message_Written = False + + while self.running == True: + + if self.temp_sensor > 0: #Read temperature if sensor is selected + + if self.LS336_never_connected_before == True: #If never connected to LS336 before: Connect to LS336: + print("Try to connect to LS336") + try: + self.manager.register('sync_LS_336') + self.sync_LS_336 = self.manager.sync_LS_336() + LS336_connected = True + except: + print("Connecting to LS336 failed!") + LS336_connected = False + + time.sleep(1) + self.LS336_never_connected_before = False + + if LS336_connected == True: + T = self.sync_LS_336.get('T')[int(self.temp_sensor - 1)] + else: + T = 0 + + self.line_coil_temperature.setText(f"{np.round(T,2)}") + + + if self.Turn_Off_Coils == True and T > self.max_temperature: + + if Caution_Message_Written == False: + print("Caution: Coil temperature above maximum!") + self.syncdict.update({'Temperature_Caution': True}) # Set temperature warning in global params + self.line_coil_temperature.setStyleSheet("background-color: red") + Caution_Message_Written = True + + #turn off power supplies + self.sync_BK_9174B.update({'OutputOn':[False, False]}) + self.sync_BK_9174B_2.update({'OutputOn':[False, False]}) + + if T <= self.max_temperature and Caution_Message_Written == True: + self.line_coil_temperature.setStyleSheet("background-color: white") + self.syncdict.update({'Temperature_Caution': False}) # Set temperature warning in global params to False + Caution_Message_Written = False + + else: + LS336_never_connected_before = False + + + + def update_setValues(self,values): + #sets setvalues obtained from update_all in gui + self.line_B_x_set.setText(f"{values[0][0]}") + self.line_B_y_set.setText(f"{values[0][1]}") + self.line_B_z_set.setText(f"{values[0][2]}") + + + def set_B_set(self): + #updates the B_set values in global variables. The change will be detected by update_all + B_set = [get_float(self.line_B_x_set), get_float(self.line_B_y_set), get_float(self.line_B_z_set)] + self.syncdict.update({'B_set':B_set}) + + def set_start_compensation(self): + self.syncdict.update({'Start_Compensation':True}) + + def set_y2_coil_Enabled(self): + if self.y2_coil_Enabled == False: + self.y2_coil_Enabled = True + else: + self.y2_coil_Enabled = False + #Turn off BK_9174B_2 CH2 + update_single_entry(self.sync_BK_9174B_2, "setI", 1, 0) + update_single_entry(self.sync_BK_9174B_2, "OutputOn", 1, False) + + def set_temp_sensor(self, value): + self.temp_sensor = value #0: No Sensor, 1:A, 2:B, 3:C, 4:D + + + def set_max_temperature(self): + self.max_temperature = get_float(self.line_Max_Temp) + + def set_Turn_Off_Coils(self): + self.Turn_Off_Coils = self.checkBox_Turn_Off_Coils.isChecked() + + + + def save(self, progress_callback): + #if save checkbox is checked it writes measurement values to file specified in line.filePath. There the full path including file extension must be given. + while self.running == True: + time.sleep(self.timing_save) #wait is at beginning so first point is not corrupted when app just started. + if self.checkBox_save.isChecked() == True: + path = self.line_filePath.text() + if os.path.isfile(path) == False: + with open(path,'a') as file: + file.write('date\tV Ch:1[V]\tI Ch:1[A]\tP Ch:1[W]\tV Ch:2[V]\tI Ch:2[A]\tP Ch:2[W]\tV Ch:3[V]\tI Ch:3[A]\tP Ch:3[W]\n') + file = open(path,'a') + file.write(time.strftime("%Y-%m-%d_%H-%M-%S",time.localtime(self.t[-1]))+'\t') + for i in [0,1,2]: #Loop for all three channels + file.write(f"{self.Voltage[-1,i]}\t") + file.write(f"{self.Current[-1,i]}\t") + file.write(f"{self.Power[-1,i]}\t") + file.write('\n') + file.close + + def set_default(self): + #saves current set values to txt file in subdirectory configs. All entries that are saved are defined in self.lines_config + #Overwrites old values in config file. + current_dir = os.path.dirname(os.path.abspath(__file__)) + path = current_dir+'\\configs\\B_Field_Compensation_config.txt' #To make shure the config file is at the right place, independent from where the program is started the location of the file is retrieved + file = open(path,'w') + for l in self.lines_config_float: + temp = f"{get_float(l)}" + file.write(temp+'\t') + for l in self.lines_config_strings: + file.write(l.text()+'\t') + for c in self.checkboxes_config: + file.write(str(c.isChecked())+'\t') + for c in self.combobox_config: + file.write(str(c.currentIndex())+'\t') + file.write('\n') + file.close + + def read_default(self): + #reads default values from config file in subdirectory config and sets the values in gui. Then self.change is set to true so values are send + #to device. (If no config file exists, it does nothing.) + current_dir = os.path.dirname(os.path.abspath(__file__)) + path = current_dir+'\\configs\\B_Field_Compensation_config.txt' #To make shure the config file is read from the right place, independent from where the program is started the location of the file is retrieved + try: #exit function if config file does not exist + vals = import_txt.read_raw(path) + except: + print('no config file found on') + print(path) + return + formats = ['.2f', '.2f', '.2f','.2f', '.2f','.0f','.2f', '.2f' , '.2f' , '.2f', '.2f'] + + for l,v,f in zip(self.lines_config_float,vals[0],formats): + v = float(v) #convert string in txt to float, so number can be formatted according to "formats" when it's set + l.setText(format(v,f)) + + for l,v in zip(self.lines_config_strings,vals[0][len(self.lines_config_float):]): + l.setText(v) + + for c,v in zip(self.checkboxes_config,vals[0][len(self.lines_config_float)+len(self.lines_config_strings):]): + c.setChecked(v == 'True') + + for c,v in zip(self.combobox_config,vals[0][len(self.lines_config_float)+len(self.lines_config_strings)+len(self.checkboxes_config):]): + c.setCurrentIndex(int(v)) + + self.change = True + + def closeEvent(self,event): #when window is closed self.running is set to False, so all threads stop + self.running = False + time.sleep(1) + event.accept() + + + +app = QApplication(sys.argv) + +window = MainWindow() +window.show() +app.exec() \ No newline at end of file diff --git a/Legacy/TF_Control/Belegung Netzteile.txt b/Legacy/TF_Control/Belegung Netzteile.txt new file mode 100644 index 0000000..40f6c3d --- /dev/null +++ b/Legacy/TF_Control/Belegung Netzteile.txt @@ -0,0 +1,21 @@ +Keithley_2230: 1:AMR supply voltage (9V, (1A)) + 2:AMR Flip ((20V), 0.2A) + 3:AMR Test (does not work) + +BK_9131B(BK30): 1:Heater copperblock (top) + 2:Heater copperblock (bottom) + 3:Cryostat LED (3-5V) + +BK_9132(BK60 1)(Visa:...28): 1:Cryostat (helium heater) + 2:Cernox relaisbox fan (9V, (1A)) + 3:Cernox relaisbox relais (4V, (1A)) + +BK_9132B(Bk60 2)(Visa:...04): 1:Relais X-coil (5V, (1A)) + 2:Relais Y-coil (5V, (1A)) + 3:Relais Z-coil (5V, (1A)) + +BK_9174B(BK70 1)(ASRL4::INSTR): 1:X-Coil(70V, I) + 2:Y-Coil(70V, I) + +BK_9174B(BK70 2)(ASRL5::INSTR): 1:Z-Coil(70V, I) + 2:Free \ No newline at end of file diff --git a/Legacy/TF_Control/Main.py b/Legacy/TF_Control/Main.py new file mode 100644 index 0000000..5ae7564 --- /dev/null +++ b/Legacy/TF_Control/Main.py @@ -0,0 +1,1096 @@ +from PyQt6.QtGui import * +from PyQt6.QtWidgets import * +from PyQt6.QtCore import * + +import multiprocessing +import multiprocessing.managers + +import time +from timeit import default_timer as timer +from datetime import datetime +import collections +from simple_pid import PID +import traceback, sys, os +import numpy as np +import pyqtgraph as pg +from design_files.Main_design import Ui_MainWindow + +# Get the current script's directory +current_dir = os.path.dirname(os.path.abspath(__file__)) +# Get the parent directory by going one level up +parent_dir = os.path.dirname(current_dir) +# Add the parent directory to sys.path +sys.path.append(parent_dir) +from scripts import import_txt +from scripts import analyse_cooldown_tools + + +class WorkerSignals(QObject): + ''' + Defines the signals available from a running worker thread. + Supported signals are: + finished: No data + error: tuple (exctype, value, traceback.format_exc() ) + result: object data returned from processing, anything + progress: int indicating % progress + ''' + finished = pyqtSignal() + error = pyqtSignal(tuple) + result = pyqtSignal(object) + progress = pyqtSignal(list) + + +class Worker(QRunnable): + ''' + Worker thread + Inherits from QRunnable to handler worker thread setup, signals and wrap-up. + :param callback: The function callback to run on this worker thread. Supplied args and + kwargs will be passed through to the runner. + :type callback: function + :param args: Arguments to pass to the callback function + :param kwargs: Keywords to pass to the callback function + ''' + + def __init__(self, fn, *args, **kwargs): + super(Worker, self).__init__() + + # Store constructor arguments (re-used for processing) + self.fn = fn + self.args = args + self.kwargs = kwargs + self.signals = WorkerSignals() + + # Add the callback to our kwargs + self.kwargs['progress_callback'] = self.signals.progress + + @pyqtSlot() + def run(self): + ''' + Initialise the runner function with passed args, kwargs. + ''' + + # Retrieve args/kwargs here; and fire processing using them + try: + result = self.fn(*self.args, **self.kwargs) + except: + traceback.print_exc() + exctype, value = sys.exc_info()[:2] + self.signals.error.emit((exctype, value, traceback.format_exc())) + else: + self.signals.result.emit(result) # Return the result of the processing + finally: + self.signals.finished.emit() # Done + +def get_float(Qline,default = 0): #gets value from QLineEdit and converts it to float. If text is empty or cannot be converted, it returns "default" which is 0, if not specified + try: + out = float(Qline.text()) + except: + out = default + return(out) + +def update_single_entry(dict,name,ind,val): + '''updates a single value in global vars. To do so it gets the current value of "dict('name')", replaces "val" at indec "ind" and sends this back''' + data = dict.get(f"{name}") #get data + data[ind] = val #replace entry + dict.update({f"{name}":data}) #send data back + +class MainWindow(QMainWindow, Ui_MainWindow): + def __init__(self, *args, **kwargs): + # Get the current script's directory + self.current_dir = os.path.dirname(os.path.abspath(__file__)) + # Get the parent directory by going one level up + self.parent_dir = os.path.dirname(current_dir) + + #establish connection to global variables} + try: #try to connect to global variables + manager = multiprocessing.managers.BaseManager(address=('localhost',5001), authkey=b'') + manager.connect() + manager.register('syncdict') + manager.register('sync_BK_9174B') + manager.register('sync_BK_9174B_2') + manager.register('sync_BK_9132B_2') + manager.register('sync_BK_9132B') + manager.register('sync_BK_9131B') + manager.register('sync_Keithley_2230G') + manager.register('sync_LS_336') + manager.register('sync_LS_218') + manager.register('sync_imc') + manager.register('sync_converted') + manager.register('sync_main') + self.syncdict = manager.syncdict() + self.sync_BK_9174B = manager.sync_BK_9174B() + self.sync_BK_9174B_2 = manager.sync_BK_9174B_2() + self.sync_BK_9132B_2 = manager.sync_BK_9132B_2() + self.sync_BK_9132B = manager.sync_BK_9132B() + self.sync_BK_9131B = manager.sync_BK_9131B() + self.sync_Keithley_2230G = manager.sync_Keithley_2230G() + self.sync_LS_336 = manager.sync_LS_336() + self.sync_LS_218 = manager.sync_LS_218() + self.sync_imc = manager.sync_imc() + self.sync_converted = manager.sync_converted() + self.sync_main = manager.sync_main() + except: #open global variables, if no connection can be made (i.e. it is not running). Then connect to it + # subprocess.call(['D:\\Python instrument drivers\\env\\Scripts\\python.exe', 'D:\\Python instrument drivers\\StandAlones\\global_variables.py']) + self.global_vars = QProcess() + self.global_vars.start(self.current_dir+"\\.venv\\Scripts\\python.exe", [self.current_dir+'\\global_variables_TF.py']) + manager.connect() + manager.register('syncdict') + manager.register('sync_BK_9174B') + manager.register('sync_BK_9174B_2') + manager.register('sync_BK_9132B_2') + manager.register('sync_BK_9132B') + manager.register('sync_BK_9131B') + manager.register('sync_Keithley_2230G') + manager.register('sync_LS_336') + manager.register('sync_LS_218') + manager.register('sync_imc') + manager.register('sync_converted') + manager.register('sync_main') + self.syncdict = manager.syncdict() + self.sync_BK_9174B = manager.sync_BK_9174B() + self.sync_BK_9174B_2 = manager.sync_BK_9174B_2() + self.sync_BK_9132B_2 = manager.sync_BK_9132B_2() + self.sync_BK_9132B = manager.sync_BK_9132B() + self.sync_BK_9131B = manager.sync_BK_9131B() + self.sync_Keithley_2230G = manager.sync_Keithley_2230G() + self.sync_LS_336 = manager.sync_LS_336() + self.sync_LS_218 = manager.sync_LS_218() + self.sync_imc = manager.sync_imc() + self.sync_converted = manager.sync_converted() + self.sync_main = manager.sync_main() + print('!!!\nI opened global variables myself. If you close me, global variables will shut down too. Consider starting global variables in own instance for more security\n!!!') + + #fill in variables, in case they are not defined in global variables + self.sync_LS_336.update({'T':[0,0,0,0]}) + self.sync_LS_218.update({'T':[0,0,0,0,0,0,0,0]}) + self.sync_imc.update({'FG':[0,0,0]}) + self.sync_converted.update({'T':[0,0,0,0,0,0,0,0]}) + self.sync_converted.update({'AMR_x':[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}) + self.sync_converted.update({'AMR_y':[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}) + self.sync_converted.update({'AMR_z':[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}) + self.sync_BK_9132B.update({'P':[0,0,0], 'U':[0,0,0], 'I': [0,0,0]}) + self.sync_BK_9132B_2.update({'P':[0,0,0], 'U':[0,0,0], 'I': [0,0,0]}) + self.sync_BK_9131B.update({'P':[0,0,0], 'U':[0,0,0], 'I': [0,0,0]}) + # self.sync_main.update({'Measurement_Running':False, 'T':[0,0], 'Points_Path':'', 'T_set':[0,0], 'T_reset':False, 'Cooldown_Speed':0, 'Start_ramp':False, 'Stop_ramp':False}) + + #import Gui from QT designer file + super(MainWindow, self).__init__(*args, **kwargs) + self.setupUi(self) + + #setup plot + self.plot_colors = ['#a6cee3', '#1f78b4','#b2df8a','#33a02c','#fb9a99','#e31a1c','#fdbf6f','#ff7f00','#cab2d6','#6a3d9a','#e7298a','#b15928','#016c59','#d9d9d9','#000000'] #list of colors for plots + self.plot_widgets = [self.graphWidget_T,self.graphWidget_Fluxgate,self.graphWidget_AMR_x,self.graphWidget_AMR_y,self.graphWidget_AMR_z] #list of all plot widgets for easier handling + self.plots_T = [i for i in range(11)] #will contain all plots in temperature grapgh widget. Is already the correct lengths, so the right amount of plots are created for the widget. Contains numbers from 0 to the number of plots so the elements can also be used as index below. + self.plots_fluxgate = [i for i in range(4)] #will contain all plots in temperature grapgh widget. Is already the correct lengths, so the right amount of plots are created for the widget. Contains numbers from 0 to the number of plots so the elements can also be used as index below. + self.plots_AMR_x = [i for i in range(15)] #will contain all plots in temperature grapgh widget. Is already the correct lengths, so the right amount of plots are created for the widget. Contains numbers from 0 to the number of plots so the elements can also be used as index below. + self.plots_AMR_y = [i for i in range(15)] #will contain all plots in temperature grapgh widget. Is already the correct lengths, so the right amount of plots are created for the widget. Contains numbers from 0 to the number of plots so the elements can also be used as index below. + self.plots_AMR_z = [i for i in range(15)] #will contain all plots in temperature grapgh widget. Is already the correct lengths, so the right amount of plots are created for the widget. Contains numbers from 0 to the number of plots so the elements can also be used as index below. + self.plot_sets = [self.plots_T, self.plots_fluxgate, self.plots_AMR_x, self.plots_AMR_y, self.plots_AMR_z]#list of all plot-sets. Each plot-set contains all plots of one graph widget + self.pens = [pg.mkPen(color = c, width = 2) for c in self.plot_colors] + self.titles = ['Temperature', 'Fluxgates', 'AMR x', 'AMR y', 'AMR z'] #Plot titles + self.ylabel = ['Temperature [K]', 'B [µT]', 'B [µT]', 'B [µT]', 'B [µT]'] #y axis labels for plots + self.axis = [] #list of axis. They are needed to set x axis to time. List is filled below + + for i in range(5): #fill list with axis + self.axis.append(pg.DateAxisItem()) + + for widget, title, label, axis, plot_set in zip(self.plot_widgets, self.titles, self.ylabel, self.axis, self.plot_sets): + #setup background, title, labels, grid, and time axis + widget.setBackground('w') + widget.setTitle(title) + widget.setLabel('left', label) + widget.setLabel('bottom', 'Temperature') + widget.showGrid(x= True, y= True, alpha = 0.5) + widget.setAxisItems({'bottom':axis}) + + temp = [time.time(),time.time()-1] + + for i in plot_set: #since plot_set so far just contains numbers from 0 to the number of desired plots, the elements can also be used as index + plot_set[i] = (widget.plot(temp,[1,0],pen = self.pens[i])) + plot_set[i].clear() + + + #define signals and slots + self.action_save_default.triggered.connect(self.save_default) + self.action_load_default.triggered.connect(self.load_default) + self.checkBox_monitoring.stateChanged.connect(self.set_monitoring) + self.SB_plot_points.valueChanged.connect(self.set_Npoints) + self.checkBox_plots_disable.stateChanged.connect(self.disable_plots) + self.dSB_timing_main.valueChanged.connect(self.set_timing_Main) + self.dSB_timing_monitoring.valueChanged.connect(self.set_timing_monitoring) + self.Button_change_Buffer.clicked.connect(self.change_buffer_size) + self.Button_imc.clicked.connect(self.set_imc) + self.Button_LS.clicked.connect(self.set_LS) + self.list_T.itemSelectionChanged.connect(self.plot_List_T_changed) + self.list_FG.itemSelectionChanged.connect(self.plot_List_FG_changed) + self.list_AMR_x.itemSelectionChanged.connect(self.plot_List_AMR_x_changed) + self.list_AMR_y.itemSelectionChanged.connect(self.plot_List_AMR_y_changed) + self.list_AMR_z.itemSelectionChanged.connect(self.plot_List_AMR_z_changed) + self.checkBox_autoscale_T.stateChanged.connect(self.set_autoscale) + self.checkBox_autoscale_FG.stateChanged.connect(self.set_autoscale) + self.checkBox_autoscale_AMR_x.stateChanged.connect(self.set_autoscale) + self.checkBox_autoscale_AMR_y.stateChanged.connect(self.set_autoscale) + self.checkBox_autoscale_AMR_z.stateChanged.connect(self.set_autoscale) + self.SB_T_channel_top.valueChanged.connect(self.set_TB_channel) + self.SB_T_channel_bot.valueChanged.connect(self.set_TB_channel) + self.Button_PID_on.clicked.connect(self.activate_PID) + self.Button_start_ramp.clicked.connect(self.start_ramp) + self.Button_stop_ramp.clicked.connect(self.stop_ramp_pushed) + self.Button_reset_T_set.clicked.connect(self.reset_set_T) + self.dSB_PID_P.valueChanged.connect(self.update_PIDs) + self.dSB_PID_I.valueChanged.connect(self.update_PIDs) + self.dSB_PID_D.valueChanged.connect(self.update_PIDs) + self.dSB_PID_P_2.valueChanged.connect(self.update_PIDs) + self.dSB_PID_I_2.valueChanged.connect(self.update_PIDs) + self.dSB_PID_D_2.valueChanged.connect(self.update_PIDs) + self.dSB_P_max_top.valueChanged.connect(self.update_PIDs) + self.dSB_P_max_bot.valueChanged.connect(self.update_PIDs) + self.dSB_R_top.valueChanged.connect(self.update_PIDs) + self.dSB_R_bot.valueChanged.connect(self.update_PIDs) + self.Button_set_I0.clicked.connect(self.set_I0) + self.Button_set_I1.clicked.connect(self.set_I1) + self.Button_set_I2.clicked.connect(self.set_I2) + self.Button_get_I0.clicked.connect(self.get_I0) + self.Button_get_I1.clicked.connect(self.get_I1) + self.Button_get_I2.clicked.connect(self.get_I2) + self.Button_Coils_off.clicked.connect(self.turn_off_coils) + self.Button_set_B.clicked.connect(self.set_B) + self.checkBox_LED.stateChanged.connect(self.set_LED) + self.checkBox_He_heater.stateChanged.connect(self.switch_he_heater) + self.Button_he_heater_measure_R.clicked.connect(self.measure_R_pressed) + self.dSB_He_heater_P_set.valueChanged.connect(self.switch_he_heater) + self.checkBox_AMR_supply.stateChanged.connect(self.switch_AMR_supply) + self.checkBox_AMR_flip.stateChanged.connect(self.AMR_flip) + self.checkBox_Relais_Fan.stateChanged.connect(self.switch_fan) + + + + #define constants + self.running = True #true while app is running + self.timing_Main = 0.1 #wait time in function "update_Data". + self.monitor = False # Write monitoring data yes or no + self.timing_monitoring = 1 #Save intervall of monitoring function + self.T_imc = False #use imc as source for temperature data + self.buffer_size = 36000 #size of ringbuffers for plotting. 36000 is roughly 1 hour, if timng_main is 0.1 s + self.buffer = collections.deque(maxlen=self.buffer_size) + self.new_Data = [] + self.plot_data_T = [[] for i in range(12)] #list of lists which will contain the selected points for plotting for T plots. + self.plot_data_FG = [[] for i in range(4)] #list of lists which will contain the selected points for plotting for Fluxgate plots. + self.plot_data_AMR_x = [[] for i in range(15)] #list of lists which will contain the selected points for plotting for AMR_x plots. + self.plot_data_AMR_y = [[] for i in range(15)] #list of lists which will contain the selected points for plotting for AMR_y plots. + self.plot_data_AMR_z = [[] for i in range(15)] #list of lists which will contain the selected points for plotting for AMR_z plots. + self.show_plot_T = [i for i in range(12)] #list of all T_plots that are active. This is needed for autoscaling. It is changed by self.plot_List_T_changed. + self.show_plot_FG = [i for i in range(4)] #list of all FG_plots that are active. This is needed for autoscaling. It is changed by self.plot_List_FG_changed. + self.show_plot_AMR_x = [i for i in range(15)] #list of all AMR_x_plots that are active. This is needed for autoscaling. It is changed by self.plot_List_AMR_x_changed. + self.show_plot_AMR_y = [i for i in range(15)] #list of all AMR_y_plots that are active. This is needed for autoscaling. It is changed by self.plot_List_AMR_y_changed. + self.show_plot_AMR_z = [i for i in range(15)] #list of all AMR_z_plots that are active. This is needed for autoscaling. It is changed by self.plot_List_AMR_z_changed. + self.show_plot_all = [self.show_plot_T,self.show_plot_FG,self.show_plot_AMR_x,self.show_plot_AMR_y,self.show_plot_AMR_z] #list containing all show plot list. Also needed for autoscaling + self.buffer_t = collections.deque(maxlen=self.buffer_size) #ringbuffer for times + self.Npoints = 200 #number of points to plot + self.ind_plot = [-i for i in range(1,self.Npoints+1)] #list containing all indices which are to be plotted + self.yrange = [[] for i in range(5)] #list of lists which will contain the y-axis ranges for all plots + self.autoscale = [True,True,True,True,True] #Wether to scale the plots or not + self.TB_channels = [0,7] #index of cernox used for PID controllers([top, bottom]). + self.PID_top = PID(1, 0.1, 0.0, setpoint=1) #PID controller for TOP edge + self.PID_bot = PID(1, 0.1, 0.0, setpoint=1) #PID controller for Bottom edge + self.PID_on = False #if set to false, the PID thred (self.PID_thread) stops. + self.ramp = False #is set to True if temperature ramp is activated + self.rate = 0 #ramprate of cooldown + self.set_T = [0,0] #set Temperatures of PID controllers([top,bottom]) + self.powers = [] #current power values of heaters will be stored here + self.Automation_Parameters_old = [0,0,0,0,0,0,0,0,0] + self.Automation_Parameters_new = [0,0,0,0,0,1,0,0,0] + + self.labels_T = [self.lab_T_1,self.lab_T_2,self.lab_T_3,self.lab_T_4,self.lab_T_5,self.lab_T_6,self.lab_T_7,self.lab_T_8,self.lab_T_9,self.lab_T_10,self.lab_T_11,self.lab_T_12] #List of all Labels containing temperaure data. Is needed for "update_gui" + self.labels_B = [self.lab_Bx_is,self.lab_By_is,self.lab_Bz_is] #List of all Labels containing B data. Is needed for "update_gui" + self.SB_all = [self.dSB_timing_main,self.dSB_timing_monitoring,self.SB_plot_points,self.SB_Buffer_Size,self.dSB_P_max_top,self.dSB_P_max_bot,self.dSB_R_top,self.dSB_R_bot, + self.dSB_T_reset_top,self.dSB_T_reset_bot,self.dSB_T_c,self.SB_T_channel_top,self.SB_T_channel_bot,self.dSB_ramprate,self.dSB_ramprate_t_const,self.dSB_PID_P,self.dSB_PID_I,self.dSB_PID_D, + self.dSB_PID_P_2,self.dSB_PID_I_2,self.dSB_PID_D_2,self.dSB_Bx_set,self.dSB_By_set,self.dSB_Bz_set,self.dSB_Ix_set0,self.dSB_Iy_set0,self.dSB_Iz_set0, + self.dSB_Ix_set1,self.dSB_Iy_set1,self.dSB_Iz_set1,self.dSB_Ix_set2,self.dSB_Iy_set2,self.dSB_Iz_set2] #list of all Spinboxes, helps for saving and loading of default values + self.lines_all = [self.line_Path_points,self.line_Path_Mon,self.line_Path_AMR_calib] #List of all lineedits, helps for saving and loading default values + self.checkBoxes_all = [self.checkBox_monitoring, self.checkBox_sens_ana_1, self.checkBox_sens_ana_2, self.checkBox_sens_ana_3, + self.checkBox_sens_ana_4, self.checkBox_sens_ana_5, self.checkBox_sens_ana_6, self.checkBox_sens_ana_7, self.checkBox_sens_ana_8, + self.checkBox_autoscale_T, self.checkBox_autoscale_FG, self.checkBox_autoscale_T, self.checkBox_autoscale_AMR_x, + self.checkBox_autoscale_AMR_y, self.checkBox_autoscale_AMR_z, self.checkBox_I0x, self.checkBox_I0y, self.checkBox_I0z, + self.checkBox_I1x, self.checkBox_I1y, self.checkBox_I1z, self.checkBox_I2x, self.checkBox_I2y, self.checkBox_I2z] + + #set up pyQT threadpool + self.threadpool = QThreadPool() + + #read default values from config and set values in gui + self.load_default() + self.set_LS() #make LS 2018 green, since this is the default + + #Print process id of this script for priority adjustments in task manager + print(f"Prozess-ID: {os.getpid()}") + + #enable all plots and set background color of items to the corresponding plot color + self.list_AMR_x.selectAll() + self.list_AMR_y.selectAll() + self.list_AMR_z.selectAll() + self.list_T.selectAll() + self.list_FG.selectAll() + + for list_widget in [self.list_T, self.list_FG, self.list_AMR_x, self.list_AMR_y, self.list_AMR_z]: + items = list_widget.selectedItems() + for item,col in zip(items,self.plot_colors): + item.setBackground(QColor(f"{col}")) + + #call update PIDs to make shure the PID parameters correspond to the ones in the gui + self.update_PIDs + + + #start standard threads + worker = Worker(self.update_Data) + worker.signals.progress.connect(self.update_gui) #The values from update_Data must be transmitted via a signal, so that the gui is set in the main thread. If the plots are not updated in the main thread, they freeze. + self.threadpool.start(worker) + + def update_Data(self, progress_callback):#gets data from global variables and triggers update_gui + scale_data_T = [[] for i in range(12)] #list of lists which will contain the data for scaling the T_plot + scale_data_FG = [[] for i in range(4)] #list of lists which will contain the data for scaling the FG-Plot + scale_data_AMR_x = [[] for i in range(15)] #list of lists which will contain the data for scaling the AMR_x plot + scale_data_AMR_y = [[] for i in range(15)] #list of lists which will contain the data for scaling the AMR_y plot + scale_data_AMR_z = [[] for i in range(15)] #list of lists which will contain the data for scaling the AMR_z plot + + while self.running == True: + start = timer() + + #get power data of heaters. This is not appended to Ringbuffer, since it is not plotter + self.powers = [self.sync_BK_9132B_2.get('P')[0],self.sync_BK_9132B_2.get('P')[1], self.sync_BK_9132B.get('P')[0]] + #sort data in T, FG, AMR + #get lakeshore data + LS336 = self.sync_LS_336.get('T')[0:4] + LS218 = self.sync_converted.get('T') + self.T = LS218 + LS336 + + #FG data + self.FG = [i*100 for i in self.sync_imc.get('FG')] + squares = [i**2 for i in self.FG] + mag = np.sqrt(sum(squares)) + self.FG.append(mag) + + #AMR data + self.AMR_x = self.sync_converted.get('AMR_x') + self.AMR_y = self.sync_converted.get('AMR_y') + self.AMR_z = self.sync_converted.get('AMR_z') + + #Write Top / Bottom Temperatures into sync_main so that the Automation Program gets T_top and T_bottom temperatures + T_top = self.T[self.TB_channels[0]] + T_bot = self.T[self.TB_channels[1]] + self.sync_main.update({'T':[T_top, T_bot]}) + + #Check if automated measurement is running (i.e. True). If True: Check for changes in the automation parameters + if self.sync_main.get('Measurement_Running') is None: + self.Measurement_Running = False + else: + self.Measurement_Running = self.sync_main.get('Measurement_Running') + + if self.Measurement_Running == True: + for i,n in enumerate(['Points_Path','T_set','T_reset','Cooldown_Speed','Start_ramp','Stop_ramp','0-Field','1-Field','Set_1field']): #get new parameters from global variables and compare to old ones. + self.Automation_Parameters_new[i] = self.sync_main.get(n) + + if self.Automation_Parameters_new != self.Automation_Parameters_old: #if a parameter has been changed, check which parameter has been changed. + if self.Automation_Parameters_new[0] != self.Automation_Parameters_old[0]: #if Points_Path has been changed + self.line_Path_points.setText(self.Automation_Parameters_new[0]) # Set line_Path_points + + if self.Automation_Parameters_new[1] != self.Automation_Parameters_old[1]: #if T_set has been changed + self.dSB_T_reset_top.setValue(float(self.Automation_Parameters_new[1][0])) #set T_reset_top + self.dSB_T_reset_bot.setValue(float(self.Automation_Parameters_new[1][1])) #set T_reset_bot + + if self.Automation_Parameters_new[2] != self.Automation_Parameters_old[2]: #if T_reset has been changed + if self.Automation_Parameters_new[2] == True: #Check if T_reset is True --> Run same function as if T_reset button has been pressed + self.reset_set_T() + self.sync_main.update({'T_reset':False}) #Change T_reset to false + + if self.Automation_Parameters_new[3] != self.Automation_Parameters_old[3]: #Cooldown_Speed has been changed + self.dSB_ramprate.setValue(float(self.Automation_Parameters_new[3])) #set ramprate + + if self.Automation_Parameters_new[4] != self.Automation_Parameters_old[4]: #if Start_ramp has been changed + if self.Automation_Parameters_new[4] == True: #Check if Start_Ramp is True --> Run same function as if Start_Ramp button has been pressed + self.start_ramp() + self.sync_main.update({'Start_ramp':False}) #Change Start_Ramp to false + + if self.Automation_Parameters_new[5] != self.Automation_Parameters_old[5]: #if Stop_ramp has been changed + if self.Automation_Parameters_new[5] == True: #Check if Stop_Ramp is True --> Run same function as if Stop_Ramp button has been pressed + self.stop_ramp_pushed() + self.sync_main.update({'Stop_ramp':False}) #Change Stop_Ramp to false + + if self.Automation_Parameters_new[6] != self.Automation_Parameters_old[6]: #if 0-field parameters have been changed + I = self.Automation_Parameters_new[6][0] #[Ix, Iy, Iy2, Iz] + Flip = self.Automation_Parameters_new[6][1] #[Flipx, Flipy, Flipz] + self.dSB_Ix_set0.setValue(I[0]) + self.dSB_Iy_set0.setValue(I[1]) + self.dSB_Iy2_set0.setValue(I[2]) + self.dSB_Iz_set0.setValue(I[3]) + for box,state in zip([self.checkBox_I0x,self.checkBox_I0y,self.checkBox_I0z], Flip): + box.setChecked(state) + + if self.Automation_Parameters_new[7] != self.Automation_Parameters_old[7]: #if 1-field parameters have been changed + I = self.Automation_Parameters_new[7][0] #[Ix, Iy, Iy2, Iz] + Flip = self.Automation_Parameters_new[7][1] #[Flipx, Flipy, Flipz] + self.dSB_Ix_set1.setValue(I[0]) + self.dSB_Iy_set1.setValue(I[1]) + self.dSB_Iy2_set1.setValue(I[2]) + self.dSB_Iz_set1.setValue(I[3]) + for box,state in zip([self.checkBox_I1x,self.checkBox_I1y,self.checkBox_I1z], Flip): + box.setChecked(state) + + if self.Automation_Parameters_new[8] != self.Automation_Parameters_old[8]: #if Set_1field has been changed + if self.Automation_Parameters_new[8] == True: #Check if Set_1field is True --> Run same function as if Set_1field button has been pressed + self.set_I1() + self.sync_main.update({'Set_1field':False}) #Change Set_1field to false + + + + #combine data and append Ringbuffer + self.new_Data = [time.time()] + self.T + self.FG + self.AMR_x + self.AMR_y + self.AMR_z + self.buffer.append(self.new_Data) + + #Prepare data for plotting. This is done here, to keep the main thread as lean as possible for better performance (espacially due to high demands of plots) + #get subset of ringbuffers which is used for plotting + ind_plot = self.ind_plot #get a "local" copy of self.ind_plot because if Npoints is set to a value larger than len(buffer) in gui while the plot lists are collected the index might be out of range. + if self.Npoints >= len(self.buffer): #as long as the ringbuffers are too short, the indices of the plotted points must be adjusted to the length of the buffer. Otherwise an "index is out of range" will occur + self.downsample(len(self.buffer)) + ind_plot = self.ind_plot + len_ind = len(ind_plot) + len_scale = len(self.buffer) #is needed to build "lists_scale" + else: + len_scale = self.Npoints + + lists_plot = [self.buffer[i] for i in ind_plot] #get all lists in self.buffer that will be used for plotting + len_ind = len(lists_plot) + plot_data_t = [lists_plot[n][0] for n in range(len_ind)]#sort out times + for i in range(12):#sort out temperature data + self.plot_data_T[i] = [lists_plot[n][i+1] for n in range(len_ind)] + for i in range(4):#sort out Fluxgate data + self.plot_data_FG[i] = [lists_plot[n][i+13] for n in range(len_ind)] + for i in range(15):#sort out AMR_x data + self.plot_data_AMR_x[i] = [lists_plot[n][i+17] for n in range(len_ind)] + for i in range(15):#sort out AMR_y data + self.plot_data_AMR_y[i] = [lists_plot[n][i+32] for n in range(len_ind)] + for i in range(15):#sort out AMR_z data + self.plot_data_AMR_z[i] = [lists_plot[n][i+47] for n in range(len_ind)] + + plot_data = [self.plot_data_T,self.plot_data_FG,self.plot_data_AMR_x,self.plot_data_AMR_y,self.plot_data_AMR_z,plot_data_t] + + + #get the start and stop time for the plots. Is used to scale x-axis + self.t0 = plot_data_t[0] + self.t1 = plot_data_t[-1] + #get min and max values of the plotted data to scale y axis. Get the data from the whole data set of self.Npoints. Otherwise the scales keep jumping when a peak is exluded due to downsampling + lists_scale = [self.buffer[-i] for i in range(1,len_scale+1)] #get all lists in self.buffer that will be used for scaling + for i in range(12):#sort out temperature data + scale_data_T[i] = [lists_scale[n][i+1] for n in range(len_scale)] + for i in range(4):#sort out Fluxgate data + scale_data_FG[i] = [lists_scale[n][i+13] for n in range(len_scale)] + for i in range(15):#sort out AMR_x data + scale_data_AMR_x[i] = [lists_scale[n][i+17] for n in range(len_scale)] + for i in range(15):#sort out AMR_y data + scale_data_AMR_y[i] = [lists_scale[n][i+32] for n in range(len_scale)] + for i in range(15):#sort out AMR_z data + scale_data_AMR_z[i] = [lists_scale[n][i+47] for n in range(len_scale)] + + scale_data = [scale_data_T,scale_data_FG,scale_data_AMR_x,scale_data_AMR_y,scale_data_AMR_z] + for i,data in enumerate(scale_data): + active_data = [data[n] for n in self.show_plot_all[i]] + if active_data == []: + y_max = 0 + y_min = 0 + else: + y_max = max([max(d) for d in active_data]) + y_min = min([min(d) for d in active_data]) + self.yrange[i] = [y_min,y_max] + + progress_callback.emit(plot_data) #emit signal, so that "update_gui" starts. "update_gui" uses the emitted lists as data. If data is transmitted via "global" variables (self....) is can happen that update_data "overtakes" update gui which leads to size differences in the plot data. + end = timer() + # print(end-start) + try: + time.sleep(self.timing_Main-(end-start)) + except: + print(end-start) + + def update_gui(self,plot_data):#sets labels to new values and updates plots + # start = timer() + #Update labels + for lab,val in zip(self.labels_T,self.T): + lab.setText(f"{val:4.3f}") + + for lab,val in zip(self.labels_B,self.FG): + lab.setText(f"{val:.3f}") + + self.lab_T_top.setText(f"{self.T[self.TB_channels[0]]:4.3f}") + self.lab_T_bot.setText(f"{self.T[self.TB_channels[1]]:4.3f}") + self.lab_T_set_top.setText(f"{self.set_T[0]:.3f}") + self.lab_T_set_bot.setText(f"{self.set_T[1]:.3f}") + self.lab_P_top.setText(f"{self.powers[0]:2.3f}") + self.lab_P_bot.setText(f"{self.powers[1]:2.3f}") + self.lab_He_heater_P_is.setText(f"{self.powers[2]:2.2f}") + + #update plots + for plot,data in zip(self.plots_T,plot_data[0]): + plot.setData(plot_data[5],data) + if self.autoscale[0] == True: + self.graphWidget_T.setXRange(self.t0,self.t1) + self.graphWidget_T.setYRange(self.yrange[0][0],self.yrange[0][1]) + + for plot,data in zip(self.plots_fluxgate,plot_data[1]): + plot.setData(plot_data[5],data) + if self.autoscale[1] == True: + self.graphWidget_Fluxgate.setXRange(self.t0,self.t1) + self.graphWidget_Fluxgate.setYRange(self.yrange[1][0],self.yrange[1][1]) + + for plot,data in zip(self.plots_AMR_x,plot_data[2]): + plot.setData(plot_data[5],data) + if self.autoscale[2] == True: + self.graphWidget_AMR_x.setXRange(self.t0,self.t1) + self.graphWidget_AMR_x.setYRange(self.yrange[2][0],self.yrange[2][1]) + + for plot,data in zip(self.plots_AMR_y,plot_data[3]): + plot.setData(plot_data[5],data) + if self.autoscale[3] == True: + self.graphWidget_AMR_y.setXRange(self.t0,self.t1) + self.graphWidget_AMR_y.setYRange(self.yrange[3][0],self.yrange[3][1]) + + for plot,data in zip(self.plots_AMR_z,plot_data[4]): + plot.setData(plot_data[5],data) + if self.autoscale[4] == True: + self.graphWidget_AMR_z.setXRange(self.t0,self.t1) + self.graphWidget_AMR_z.setYRange(self.yrange[4][0],self.yrange[4][1]) + + # end = timer() + # print(end-start) + + def PID_thread(self,progress_callback): #function is called in own thread in self.activate_PIDs. Keeps PIDs running in loop, as long self.PID_on == True + V = [0,0] #store values to send to the powersupplies + + #bring power supplies in the correct state + update_single_entry(self.sync_BK_9132B_2,'OutputOn',0,True) + update_single_entry(self.sync_BK_9132B_2,'OutputOn',1,True) + update_single_entry(self.sync_BK_9132B_2,'setI',0,1.5) + update_single_entry(self.sync_BK_9132B_2,'setI',1,1.5) + + while self.PID_on == True: + start = timer() + #lower setpoint if self.ramp == True + if self.ramp == True: + self.set_T = [i-self.rate/10 for i in self.set_T] #rate is devided by 10 because timing of PID loop is 0.1 s and rate is given in K/s. + + self.PID_top.setpoint = self.set_T[0] + self.PID_bot.setpoint = self.set_T[1] + T_is = [self.T[i] for i in [self.SB_T_channel_top.value(),self.SB_T_channel_bot.value()]] #get current values + P = [self.PID_top(T_is[0]),self.PID_bot(T_is[1])] + i=0 + for r,p in zip(self.R,P): #transform power values to voltage values and send them to global vars + update_single_entry(self.sync_BK_9132B_2,'setU',i,np.sqrt(p*r)) + i=i+1 + end = timer() + try: + time.sleep(0.1-(end-start)) #timing of PID loop is always 0.1 s + except: + print(f"PID loop took:{end-start} s") + + #turn supplies off + update_single_entry(self.sync_BK_9132B_2,'OutputOn',0,False) + update_single_entry(self.sync_BK_9132B_2,'OutputOn',1,False) + + + def plot_List_T_changed(self):#is triggered when the plot selection for Temperature plot changes. Sets all entries in show_plot_T to false and then sets only the selected ones to true again. It then shows and hides the corresponding plots + show_plot_T = [False for i in range(12)] + indexes =self.list_T.selectedIndexes() #the return indeces are qt objects. To get a "normal" index the function row() must be used. + for ind in indexes: #set selected indeces to true + row = ind.row() + show_plot_T[row] = True + + for show,p in zip(show_plot_T,self.plots_T): #show or hide the plots + if show == True: + p.show() + else: + p.hide() + self.show_plot_T = [i for i,x in enumerate(show_plot_T) if x == True] #create list with indexes of active plots. This is needed for autoscaling + self.show_plot_all = [self.show_plot_T,self.show_plot_FG,self.show_plot_AMR_x,self.show_plot_AMR_y,self.show_plot_AMR_z] #update list with new show_plot_T + + def plot_List_FG_changed(self):#is triggered when the plot selection for Fluxgate plot changes. Sets all entries in show_plot_FG to false and then sets only the selected ones to true again. It then shows and hides the corresponding plots + show_plot_FG = [False for i in range(4)] + indexes =self.list_FG.selectedIndexes() + for ind in indexes: + row = ind.row() + show_plot_FG[row] = True + + for show,p in zip(show_plot_FG,self.plots_fluxgate): + if show == True: + p.show() + else: + p.hide() + self.show_plot_FG = [i for i,x in enumerate(show_plot_FG) if x == True] #generate list with indixes of active plots + self.show_plot_all = [self.show_plot_T,self.show_plot_FG,self.show_plot_AMR_x,self.show_plot_AMR_y,self.show_plot_AMR_z] #update list with new show_plot_FG + + def plot_List_AMR_x_changed(self):#is triggered when the plot selection for AMR_x plot changes. Sets all entries in show_plot_AMR_x to false and then sets only the selected ones to true again. It then shows and hides the corresponding plots + show_plot_AMR_x = [False for i in range(15)] + indexes =self.list_AMR_x.selectedIndexes() + for ind in indexes: + row = ind.row() + show_plot_AMR_x[row] = True + + for show,p in zip(show_plot_AMR_x,self.plots_AMR_x): + if show == True: + p.show() + else: + p.hide() + self.show_plot_AMR_x = [i for i,x in enumerate(show_plot_AMR_x) if x == True]#generate list with indixes of active plots + self.show_plot_all = [self.show_plot_T,self.show_plot_FG,self.show_plot_AMR_x,self.show_plot_AMR_y,self.show_plot_AMR_z] #update list with new show_plot_AMR_x + + def plot_List_AMR_y_changed(self):#is triggered when the plot selection for AMR_y plot changes. Sets all entries in show_plot_AMR_y to false and then sets only the selected ones to true again. It then shows and hides the corresponding plots + show_plot_AMR_y = [False for i in range(15)] + indexes =self.list_AMR_y.selectedIndexes() + for ind in indexes: + row = ind.row() + show_plot_AMR_y[row] = True + + for show,p in zip(show_plot_AMR_y,self.plots_AMR_y): + if show == True: + p.show() + else: + p.hide() + self.show_plot_AMR_y = [i for i,x in enumerate(show_plot_AMR_y) if x == True]#generate list with indixes of active plots + self.show_plot_all = [self.show_plot_T,self.show_plot_FG,self.show_plot_AMR_x,self.show_plot_AMR_y,self.show_plot_AMR_z] #update list with new show_plot_AMR_y + + def plot_List_AMR_z_changed(self):#is triggered when the plot selection for AMR_z plot changes. Sets all entries in show_plot_AMR_x to false and then sets only the selected ones to true again. It then shows and hides the corresponding plots + show_plot_AMR_z = [False for i in range(15)] + indexes =self.list_AMR_z.selectedIndexes() + for ind in indexes: + row = ind.row() + show_plot_AMR_z[row] = True + + for show,p in zip(show_plot_AMR_z,self.plots_AMR_z): + if show == True: + p.show() + else: + p.hide() + self.show_plot_AMR_z = [i for i,x in enumerate(show_plot_AMR_z) if x == True]#generate list with indixes of active plots + self.show_plot_all = [self.show_plot_T,self.show_plot_FG,self.show_plot_AMR_x,self.show_plot_AMR_y,self.show_plot_AMR_z] #update list with new show_plot_AMR_z + + def downsample(self,N): #downsamples N down to 200. It creates list with 200 entries equally spaced from -1 to -N. self.ind_plot is set to this list and is subsequently used to downsample the plot data to 200 points. + if N <= 200: #list of indices to start at the end of the ringbuffer up N + self.ind_plot = [-i for i in range(1,N+1)] + else: #list of indices which downsamples to 200. Indices are again negative, because it starts at the end of the ringbuffer + q = N/(N-200+1) #every q-th index needs to be deleted + + ind = [i for i in range(1,N+1)] #list containing all indices + + ind_pop = []#empty list. Is filled with indices that will be excluded in the for-loop + for n in range(1,N-200+1): #fill list with indiced + ind_pop.append(round(n*q)) + self.ind_plot = [-x for i, x in enumerate(ind) if i not in ind_pop] #exclude indices in "ind_pop" from "ind" + + def set_Npoints(self,N): #is triggered when number of points to plot is changed. Sets variable self.Npoints to the new value. If Npoints is larger than 200 self.downsample() is called + self.Npoints = N + self.downsample(N) + + def disable_plots(self): #is triggered when disable all plots checkbox is changed. Hides, or shows all plots + for plots in self.plot_sets: + for plot in plots: + if self.checkBox_plots_disable.isChecked() == True: + plot.hide() + else: + plot.show() + + def set_autoscale(self): #is triggered when any of the autoscale checkboxes are changed. Sets self.autoscale to the new value + checkboxes = [self.checkBox_autoscale_T,self.checkBox_autoscale_FG,self.checkBox_autoscale_AMR_x,self.checkBox_autoscale_AMR_y,self.checkBox_autoscale_AMR_z] + for i,box in enumerate(checkboxes): + self.autoscale[i] = box.isChecked() + + def set_timing_Main(self,t): #is triggered when timing Main is changed. Sets variable self.timin_Main to the new value + self.timing_Main = t + + def change_buffer_size(self): #is triggered when self.button_change_Buffer is clicked. Since maxlen cannot be changed after initialization it initializes new buffers with the correct maxlen. + new_len = self.SB_Buffer_Size.value() + for i,buffer in enumerate(self.buffers_T): #replace old buffer with new one with new length. In order to keep the newest data points the data is stored in a list, and the newest points are used for the new buffer + data = list(buffer) + self.buffers_T[i] = collections.deque(data[-new_len:], maxlen = new_len) + + for i,buffer in enumerate(self.buffers_FG): #replace old buffer with new one with new length. In order to keep the newest data points the data is stored in a list, and the newest points are used for the new buffer + data = list(buffer) + self.buffers_FG[i] = collections.deque(data[-new_len:], maxlen = new_len) + + for i,buffer in enumerate(self.buffers_AMR_x): #replace old buffer with new one with new length. In order to keep the newest data points the data is stored in a list, and the newest points are used for the new buffer + data = list(buffer) + self.buffers_AMR_x[i] = collections.deque(data[-new_len:], maxlen = new_len) + + for i,buffer in enumerate(self.buffers_AMR_y): #replace old buffer with new one with new length. In order to keep the newest data points the data is stored in a list, and the newest points are used for the new buffer + data = list(buffer) + self.buffers_AMR_y[i] = collections.deque(data[-new_len:], maxlen = new_len) + + for i,buffer in enumerate(self.buffers_AMR_z): #replace old buffer with new one with new length. In order to keep the newest data points the data is stored in a list, and the newest points are used for the new buffer + data = list(buffer) + self.buffers_AMR_z[i] = collections.deque(data[-new_len:], maxlen = new_len) + + #replace time buffer + data = list(self.buffer_t) + self.buffer_t = collections.deque(data[-new_len:], maxlen = new_len) + + def set_monitoring(self): #is triggered when monitoring checkbox is clicked. If the new value is True, a new thread is started in which self.monitoring is running + if self.checkBox_monitoring.isChecked() == True: + self.monitor = True + self.worker_mon = Worker(self.monitoring) + self.threadpool.start(self.worker_mon) + else: + self.monitor = False + + def set_timing_monitoring(self,t): #is triggered when monitoring timing is changed. Sets self.timing_monitoring to new value. + self.timing_monitoring = t + + def set_imc(self): #is called when button "imc" is pressed. Sets self.T_imc = True and sets colors of buttons accordingly + self.T_imc = True + self.syncdict.update({"T_imc":True}) + self.Button_imc.setStyleSheet("background-color: green; color: white;") + self.Button_LS.setStyleSheet("background-color: '#e1e1e1'; color: black;") + + def set_LS(self): #is called when button "LS 2018" is pressed. Sets self.T_imc = False and sets colors of buttons accordingly + self.T_imc = False + self.syncdict.update({"T_imc":False}) + self.Button_imc.setStyleSheet("background-color: '#e1e1e1'; color: black;") + self.Button_LS.setStyleSheet("background-color: green; color: white;") + + def set_TB_channel(self): #is called when either channel of Top or Bottom cernox is changed. Updates the varable self.TB_channels according to the values + self.TB_channels = [self.SB_T_channel_top.value(), self.SB_T_channel_bot.value()] + + def activate_PID(self): #is called when "button_PID_on" is clicked. Changes button text and sets self.PID_on to True or False. If it changed to True, is starts a thread with the PID controllers + if self.Button_PID_on.text() == 'on/OFF': #PID was OFF and is now turned ON + self.Button_PID_on.setText('ON/off') + self.Button_PID_on.setStyleSheet("background-color: green") + self.PID_on = True + #start thread + worker_PID = Worker(self.PID_thread) + self.threadpool.start(worker_PID) + else: #PID was On and is now turned off + self.Button_PID_on.setText('on/OFF') + self.Button_PID_on.setStyleSheet("background-color: red") + self.PID_on = False + + def update_PIDs(self): #is called when any PID parameter, except setvalue, is changed. Updates the PID parameters + self.PID_top.tunings = (self.dSB_PID_P.value(),self.dSB_PID_I.value(),self.dSB_PID_D.value()) + self.PID_bot.tunings = (self.dSB_PID_P_2.value(),self.dSB_PID_I.value(),self.dSB_PID_D.value()) + self.PID_top.output_limits = (0,self.dSB_P_max_top.value()) + self.PID_bot.output_limits = (0,self.dSB_P_max_bot.value()) + self.R = [self.dSB_R_top.value(),self.dSB_R_bot.value()] + + def reset_set_T(self): #is called when button "reset" is pushed. Sets self.set_T to the values in the reset double spin boxes. The values of self.set_T are then set in the labels "set" labes by self.update_gui + self.set_T = [self.dSB_T_reset_top.value(),self.dSB_T_reset_bot.value()] + + def start_ramp(self): #is called when "start ramp" button is pushed. #If transition time spin box is not equal 0, it calculates the corresponding cooldown rate. Otherwise the cooldown rate is the correspoing dSB is used. Also sets self.ramp = True so self.set_T is lowered in self.PID_thread. Also stores time when the button is pushed. This will be used when save point button is pushed. + if self.dSB_ramprate_t_const.value() != 0: + self.rate = (self.set_T[0] - self.set_T[1])/self.dSB_ramprate_t_const.value() + else: + self.rate = self.dSB_ramprate.value() + self.ramp = True + self.start_time_ramp = self.new_Data[0] #get time stamp from current data point + self.B_start = self.FG + self.lab_ramp_status.setText("started") + + def stop_ramp_pushed(self): #is called when stop ramp button is pushed. Since the programm needs to wait a few seconds in this procesure it is done in a seperate thread. This function only start this thread + worker_stop_ramp = Worker(self.stop_ramp) + self.threadpool.start(worker_stop_ramp) + self.lab_ramp_status.setText("stopped") + + def stop_ramp(self,progress_callback): #is started by self.stop_ramp_pushed. Turnes off heaters, takes data when + self.ramp = 0 #stop ramping + self.set_T = [0,0] #setpoint to 0 so heaters are turned off + self.stop_time_ramp = self.new_Data[0] #get time stamp from current data point + time.sleep(3) + self.B_expelled = self.AMR_x + self.AMR_y + self.AMR_z #get data when B-Field is still active + time.sleep(0.5) + self.set_I0() #set 0-Field + self.lab_ramp_status.setText("0-field") + time.sleep(4) + self.save_point() + + + def save_point(self): #is called at the end of stop_ramp. Start a new thread with self.analyse_cooldown + self.save_time = self.new_Data[0] #get time stamp from current data point + self.B_trapped = self.AMR_x + self.AMR_y + self.AMR_z + worker_analyse = Worker(self.analyse_cooldown) + self.threadpool.start(worker_analyse) + self.lab_ramp_status.setText("finished") + + + def analyse_cooldown(self,progress_callback): #analyses the cooldown and writes it to file + print("start_analyse") + #find indices of start and stop time of ramp + for i in range(len(self.buffer)): #iterate through buffer from the back. Check the first item in the list to see if it equals the start or stop time + t = self.buffer[-i][0] + if t == self.start_time_ramp: + I_start = -i + break #stop time is found first, because iteration is done from back to front. After I_start is found the loop can be broken. + elif t == self.stop_time_ramp: + I_stop = -i + + #prepare cernox and time data + print(self.start_time_ramp) + print(time.strftime("%Y-%m-%d_%H-%M-%S",time.gmtime(self.start_time_ramp))+"\t") + # print(time.strftime("%Y-%m-%d_%H-%M-%S",time.gmtime(self.stop_time_ramp))+"\t") + print(time.strftime("%Y-%m-%d_%H-%M-%S",time.gmtime(self.save_time))+"\t") + print([I_start,I_stop]) + lists_ramp = [self.buffer[i] for i in range(I_start,I_stop)] #get all lists in self.buffer that are recorded during ramping + print(len(lists_ramp)) + len_ind = len(lists_ramp) + print(lists_ramp[0][0]) + time_data = [lists_ramp[n][0] for n in range(len_ind)]#sort out times + temp_data = [i for i in range(8)] #create "empty" list in which the cernox data will be stored + for i in range(8):#sort out temperature data + temp_data[i] = [lists_ramp[n][i+1] for n in range(len_ind)] + + #preapre list of active cernox sensors for analysis + act_sens = [] #list of active sensors + for i,c in enumerate([self.checkBox_sens_ana_1, self.checkBox_sens_ana_2, self.checkBox_sens_ana_3, self.checkBox_sens_ana_4, self.checkBox_sens_ana_5, self.checkBox_sens_ana_6, + self.checkBox_sens_ana_7, self.checkBox_sens_ana_8]): + if c.isChecked() == True: + act_sens.append(i+1) + #analyse data + try: + results = analyse_cooldown_tools.calc_gradient(temp_data,time_data,act_sens,self.dSB_T_c.value()) + print(f'T_c = {self.dSB_T_c.value()}') + except: + print('could not analyse data') + return + + #open file + path = self.line_Path_points.text() + try: #if no valid path is given a file "points.txt" is created in the folder + if os.path.isfile(path) == False: + with open(path,'a') as file: + file.write('t_start\tt_stop\tt_save\tB_start x\tB_start y\tB_start z\tB_start mag\tgrad_glob\tav_grad_glob\te_av_grad_glob\ttrans_time\tav_rate_glob\te_av_rate_glob\tgrad_loc\trate_loc\t15*AMR_x_expelled\t15*AMR_y_expelled\t15*AMR_z_expelled\t45*AMR_trapped\n') + file = open(path,'a') + except: + path = self.current_dir+'\\points.txt' + if os.path.isfile(path) == False: + with open(path,'a') as file: + file.write('t_start\tt_stop\tt_save\tB_start x\tB_start y\tB_start x\tgrad_glob\tav_grad_glob\te_av_grad_glob\ttrans_time\tav_rate_glob\te_av_rate_glob\tgrad_loc\trate_loc\t15*AMR_x_expelled\t15*AMR_y_expelled\t15*AMR_z_expelled\t45*AMR_trapped\n') + file = open(path,'a') + + #write data to file + file.write(time.strftime("%Y-%m-%d_%H-%M-%S",time.localtime(self.start_time_ramp))+"\t") + file.write(time.strftime("%Y-%m-%d_%H-%M-%S",time.localtime(self.stop_time_ramp))+"\t") + file.write(time.strftime("%Y-%m-%d_%H-%M-%S",time.localtime(self.save_time))+"\t") + #write contents of all the lists + for L in [self.B_start,results,self.B_expelled,self.B_trapped]: + for i in L: + try: + file.write(f"{i}\t") + except: + file.write("No Value\t") + file.write("\n")#new line + file.close() + + + def set_I0(self):#sets the current values and relais status of 0-Field + #turn on outputs + self.sync_BK_9174B.update({'OutputOn':[True,True]}) + self.sync_BK_9174B_2.update({'OutputOn':[True,True]}) + self.sync_BK_9174B.update({'setU':[70,70]}) + self.sync_BK_9174B_2.update({'setU':[70,70]}) + #set currents + self.sync_BK_9174B.update({'setI':[self.dSB_Ix_set0.value(),self.dSB_Iy_set0.value()]}) + self.sync_BK_9174B_2.update({'setI':[self.dSB_Iz_set0.value(),self.dSB_Iy2_set0.value()]}) + #set relais + self.sync_BK_9131B.update({'SetU':[5,5,5]}) + self.sync_BK_9131B.update({'SetI':[1,1,1]}) + self.sync_BK_9131B.update({'OutputOn':[self.checkBox_I0x.isChecked(),self.checkBox_I0y.isChecked(),self.checkBox_I0z.isChecked()]}) + + def set_I1(self):#sets the current values and relais status of Field 1 + #turn on outputs + self.sync_BK_9174B.update({'OutputOn':[True,True]}) + self.sync_BK_9174B_2.update({'OutputOn':[True,True]}) + self.sync_BK_9174B.update({'setU':[70,70]}) + self.sync_BK_9174B_2.update({'setU':[70,70]}) + #set currents + self.sync_BK_9174B.update({'setI':[self.dSB_Ix_set1.value(),self.dSB_Iy_set1.value()]}) + self.sync_BK_9174B_2.update({'setI':[self.dSB_Iz_set1.value(),self.dSB_Iy2_set1.value()]}) + #set relais + self.sync_BK_9131B.update({'SetU':[5,5,5]}) + self.sync_BK_9131B.update({'SetI':[1,1,1]}) + self.sync_BK_9131B.update({'OutputOn':[self.checkBox_I1x.isChecked(),self.checkBox_I1y.isChecked(),self.checkBox_I1z.isChecked()]}) + + def set_I2(self):#sets the current values and relais status of Field 2 + #turn on outputs + self.sync_BK_9174B.update({'OutputOn':[True,True]}) + self.sync_BK_9174B_2.update({'OutputOn':[True,True]}) + self.sync_BK_9174B.update({'setU':[70,70]}) + self.sync_BK_9174B_2.update({'setU':[70,70]}) + #set currents + self.sync_BK_9174B.update({'setI':[self.dSB_Ix_set2.value(),self.dSB_Iy_set2.value()]}) + self.sync_BK_9174B_2.update({'setI':[self.dSB_Iz_set2.value(),self.dSB_Iy2_set2.value()]}) + #set relais + self.sync_BK_9131B.update({'SetU':[5,5,5]}) + self.sync_BK_9131B.update({'SetI':[1,1,1]}) + self.sync_BK_9131B.update({'OutputOn':[self.checkBox_I2x.isChecked(),self.checkBox_I2y.isChecked(),self.checkBox_I2z.isChecked()]}) + + def get_I0(self): #gets momentary current values and relais status and saves them in 0-Field boxes + self.dSB_Ix_set0.setValue(self.sync_BK_9174B.get('setI')[0]) + self.dSB_Iy_set0.setValue(self.sync_BK_9174B.get('setI')[1]) + self.dSB_Iy2_set0.setValue(self.sync_BK_9174B_2.get('setI')[1]) + self.dSB_Iz_set0.setValue(self.sync_BK_9174B_2.get('setI')[0]) + + + for box,state in zip([self.checkBox_I0x,self.checkBox_I0y,self.checkBox_I0z], self.sync_BK_9131B.get('OutputOn')): + box.setChecked(state) + + def get_I1(self): #gets momentary current values and relais status and saves them in Field 1 boxes + self.dSB_Ix_set1.setValue(self.sync_BK_9174B.get('setI')[0]) + self.dSB_Iy_set1.setValue(self.sync_BK_9174B.get('setI')[1]) + self.dSB_Iy2_set1.setValue(self.sync_BK_9174B_2.get('setI')[1]) + self.dSB_Iz_set1.setValue(self.sync_BK_9174B_2.get('setI')[0]) + + for box,state in zip([self.checkBox_I1x,self.checkBox_I1y,self.checkBox_I1z], self.sync_BK_9131B.get('OutputOn')): + box.setChecked(state) + + def get_I2(self): #gets momentary current values and relais status and saves them in Field 2 boxes + self.dSB_Ix_set2.setValue(self.sync_BK_9174B.get('setI')[0]) + self.dSB_Iy_set2.setValue(self.sync_BK_9174B.get('setI')[1]) + self.dSB_Iy2_set2.setValue(self.sync_BK_9174B_2.get('setI')[1]) + self.dSB_Iz_set2.setValue(self.sync_BK_9174B_2.get('setI')[0]) + + for box,state in zip([self.checkBox_I2x,self.checkBox_I2y,self.checkBox_I2z], self.sync_BK_9131B.get('OutputOn')): + box.setChecked(state) + + def turn_off_coils(self): #turns off all coils + #turn on outputs + self.sync_BK_9174B.update({'OutputOn':[False,False]}) + self.sync_BK_9174B_2.update({'OutputOn':[False,False]}) + #set relais + self.sync_BK_9131B.update({'OutputOn':[False,False,False]}) + + def set_B(self): #set global variables B_set and Start_Compensation to start magnetic field compensation + B_set = [self.dSB_Bx_set.value(), self.dSB_By_set.value(), self.dSB_Bz_set.value()] + self.syncdict.update({"B_set":B_set}) + self.syncdict.update({"Start_Compensation":True}) + + def set_LED(self): + '''turns LED on or off''' + if self.checkBox_LED.isChecked(): + update_single_entry(self.sync_BK_9132B_2,'setU',2,5) + update_single_entry(self.sync_BK_9132B_2,'setI',2,1) + update_single_entry(self.sync_BK_9132B_2,'OutputOn',2,True) + else: + update_single_entry(self.sync_BK_9132B_2,'OutputOn',2,False) + + def switch_fan(self): + '''turn relais fan on or off''' + if self.checkBox_Relais_Fan.isChecked(): + update_single_entry(self.sync_BK_9132B,'setU',1,9) + update_single_entry(self.sync_BK_9132B,'setI',1,1) + update_single_entry(self.sync_BK_9132B,'OutputOn',1,True) + else: + update_single_entry(self.sync_BK_9132B,'OutputOn',1,False) + + def switch_AMR_supply(self): + '''turn AMR supply voltage of 9 V on or off''' + if self.checkBox_AMR_supply.isChecked(): + update_single_entry(self.sync_Keithley_2230G,'setU',0,9) + update_single_entry(self.sync_Keithley_2230G,'setI',0,1) + update_single_entry(self.sync_Keithley_2230G,'OutputOn',0,True) + else: + update_single_entry(self.sync_Keithley_2230G,'OutputOn',0,False) + + def AMR_flip(self): + '''turn AMR flip voltage on or off''' + if self.checkBox_AMR_flip.isChecked(): + update_single_entry(self.sync_Keithley_2230G,'setU',1,20) + update_single_entry(self.sync_Keithley_2230G,'setI',1,0.2) + update_single_entry(self.sync_Keithley_2230G,'OutputOn',1,True) + else: + update_single_entry(self.sync_Keithley_2230G,'OutputOn',1,False) + + def switch_he_heater(self): + '''turn he heater on or with the desired power. The corresponding voltage is calculated only once when the heater is turned on or the power is changed''' + if self.checkBox_He_heater.isChecked(): + #calculate voltage + U = np.sqrt(self.dSB_He_heater_P_set.value()*self.dSB_He_heater_R.value()) + update_single_entry(self.sync_BK_9132B,'setU',0,U) + update_single_entry(self.sync_BK_9132B,'setI',0,2) + update_single_entry(self.sync_BK_9132B,'OutputOn',0,True) + else: + update_single_entry(self.sync_BK_9132B,'OutputOn',0,False) + + def measure_R_pressed(self): + '''starts thread with self.measure_R. Is triggered by button "measure R"''' + worker_measure_R = Worker(self.measure_R) + self.threadpool.start(worker_measure_R) + + def measure_R(self): + '''sets a small voltage across the he heater to measure the resistance and sets in gui, turn off the heater after measurement''' + update_single_entry(self.sync_BK_9132B,'setU',0,1) + update_single_entry(self.sync_BK_9132B,'setI',0,0.2) + update_single_entry(self.sync_BK_9132B,'OutputOn',0,True) + time.sleep(3) + U = self.sync_BK_9132B.get('U')[0] + I = self.sync_BK_9132B.get('I')[0] + R = U/I + update_single_entry(self.sync_BK_9132B,'OutputOn',0,False) + self.dSB_He_heater_R.setValue(R) + + def monitoring(self, progress_callback): + #if save checkbox is checked it writes measurement values to file specified in line.filePath. There the full path including file extension must be given. + while self.monitor == True: + time.sleep(self.timing_monitoring) #wait is at beginning so first point is not corrupted when app just started. + path = self.line_Path_Mon.text() + if os.path.isfile(path) == False: + with open(path,'a') as file: + file.write('date\tLS218 CH1[K]\tLS218 CH2[K]\tLS218 CH3[K]\tLS218 CH4[K]\tLS218 CH5[K]\tLS218 CH6[K]\tLS218 CH7[K]\tLS218 CH8[K]\tLS336 CHA[K]\tLS336 CHB[K]\tLS336 CHC[K]\tLS336 CHD[K]\n') + file = open(path,'a') + curr_time = datetime.now() + file.write(curr_time.strftime("%Y-%m-%d_%H-%M-%S-%f")+'\t') + for d in self.T: + file.write(f"{d}\t") + file.write('\n') + file.close + + def save_default(self): + #saves current set values to txt file in subdirectory configs. Saves values from al spin boxes and text lines. + #Overwrites old values in config file. + path = self.current_dir+'\\configs\\Main_config.txt' #To make shure the config file is at the right place, independent from where the program is started the location of the file is retrieved + file = open(path,'w') + for SB in self.SB_all: + temp = f"{SB.value()}" + file.write(temp+'\t') + for l in self.lines_all: + file.write(l.text()+'\t') + for c in self.checkBoxes_all: + file.write(str(c.isChecked())+'\t') + + file.write('\n') + file.close + + def load_default(self): + #reads default values from config file in subdirectory config and sets the values in gui. (If no config file exists, it does nothing.) + path = self.current_dir+'\\configs\\Main_config.txt' #To make shure the config file is read from the right place, independent from where the program is started the location of the file is retrieved + try: #exit function if config file does not exist + vals = import_txt.read_raw(path) + except: + return + + + for SB,v in zip(self.SB_all,vals[0]): + if type(SB) == QDoubleSpinBox: + v = float(v) #convert string in txt to float, so number can be set in dSB + else: + v = int(v) #convert string in txt to int, so number can be set in SB + SB.setValue(v) + + for l,v in zip(self.lines_all,vals[0][len(self.SB_all):]): + l.setText(v) + + for c,v in zip(self.checkBoxes_all,vals[0][len(self.SB_all)+len(self.lines_all):]): + c.setChecked(v == 'True') + + def closeEvent(self,event): #when window is closed self.running and self.monitor are set to False, so all threads stop + self.running = False + self.monitor = False + self.PID_on = False + time.sleep(1) + event.accept() + +app = QApplication(sys.argv) + +window = MainWindow() +window.show() +app.exec() \ No newline at end of file diff --git a/Legacy/TF_Control/README.md b/Legacy/TF_Control/README.md new file mode 100644 index 0000000..25022e8 --- /dev/null +++ b/Legacy/TF_Control/README.md @@ -0,0 +1,99 @@ +# To-Do + +Cernox Calibration for CRAFT: np.array (np.mean) to python List conversion + + + +# TF measurement +python.exe -m PyQt6.uic.pyuic evaporate_LN2_design.ui -o evaporate_LN2_design.py + + +## Getting started + +To make it easy for you to get started with GitLab, here's a list of recommended next steps. + +Already a pro? Just edit this README.md and make it your own. Want to make it easy? [Use the template at the bottom](#editing-this-readme)! + +## Add your files + +- [ ] [Create](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#create-a-file) or [upload](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#upload-a-file) files +- [ ] [Add files using the command line](https://docs.gitlab.com/ee/gitlab-basics/add-file.html#add-a-file-using-the-command-line) or push an existing Git repository with the following command: + +``` +cd existing_repo +git remote add origin https://gitlab.helmholtz-berlin.de/fg-isrf/tf-measurement.git +git branch -M main +git push -uf origin main +``` + +## Integrate with your tools + +- [ ] [Set up project integrations](https://gitlab.helmholtz-berlin.de/fg-isrf/tf-measurement/-/settings/integrations) + +## Collaborate with your team + +- [ ] [Invite team members and collaborators](https://docs.gitlab.com/ee/user/project/members/) +- [ ] [Create a new merge request](https://docs.gitlab.com/ee/user/project/merge_requests/creating_merge_requests.html) +- [ ] [Automatically close issues from merge requests](https://docs.gitlab.com/ee/user/project/issues/managing_issues.html#closing-issues-automatically) +- [ ] [Enable merge request approvals](https://docs.gitlab.com/ee/user/project/merge_requests/approvals/) +- [ ] [Set auto-merge](https://docs.gitlab.com/ee/user/project/merge_requests/merge_when_pipeline_succeeds.html) + +## Test and Deploy + +Use the built-in continuous integration in GitLab. + +- [ ] [Get started with GitLab CI/CD](https://docs.gitlab.com/ee/ci/quick_start/index.html) +- [ ] [Analyze your code for known vulnerabilities with Static Application Security Testing (SAST)](https://docs.gitlab.com/ee/user/application_security/sast/) +- [ ] [Deploy to Kubernetes, Amazon EC2, or Amazon ECS using Auto Deploy](https://docs.gitlab.com/ee/topics/autodevops/requirements.html) +- [ ] [Use pull-based deployments for improved Kubernetes management](https://docs.gitlab.com/ee/user/clusters/agent/) +- [ ] [Set up protected environments](https://docs.gitlab.com/ee/ci/environments/protected_environments.html) + +*** + +# Editing this README + +When you're ready to make this README your own, just edit this file and use the handy template below (or feel free to structure it however you want - this is just a starting point!). Thanks to [makeareadme.com](https://www.makeareadme.com/) for this template. + +## Suggestions for a good README + +Every project is different, so consider which of these sections apply to yours. The sections used in the template are suggestions for most open source projects. Also keep in mind that while a README can be too long and detailed, too long is better than too short. If you think your README is too long, consider utilizing another form of documentation rather than cutting out information. + +## Name +Choose a self-explaining name for your project. + +## Description +Let people know what your project can do specifically. Provide context and add a link to any reference visitors might be unfamiliar with. A list of Features or a Background subsection can also be added here. If there are alternatives to your project, this is a good place to list differentiating factors. + +## Badges +On some READMEs, you may see small images that convey metadata, such as whether or not all the tests are passing for the project. You can use Shields to add some to your README. Many services also have instructions for adding a badge. + +## Visuals +Depending on what you are making, it can be a good idea to include screenshots or even a video (you'll frequently see GIFs rather than actual videos). Tools like ttygif can help, but check out Asciinema for a more sophisticated method. + +## Installation +Within a particular ecosystem, there may be a common way of installing things, such as using Yarn, NuGet, or Homebrew. However, consider the possibility that whoever is reading your README is a novice and would like more guidance. Listing specific steps helps remove ambiguity and gets people to using your project as quickly as possible. If it only runs in a specific context like a particular programming language version or operating system or has dependencies that have to be installed manually, also add a Requirements subsection. + +## Usage +Use examples liberally, and show the expected output if you can. It's helpful to have inline the smallest example of usage that you can demonstrate, while providing links to more sophisticated examples if they are too long to reasonably include in the README. + +## Support +Tell people where they can go to for help. It can be any combination of an issue tracker, a chat room, an email address, etc. + +## Roadmap +If you have ideas for releases in the future, it is a good idea to list them in the README. + +## Contributing +State if you are open to contributions and what your requirements are for accepting them. + +For people who want to make changes to your project, it's helpful to have some documentation on how to get started. Perhaps there is a script that they should run or some environment variables that they need to set. Make these steps explicit. These instructions could also be useful to your future self. + +You can also document commands to lint the code or run tests. These steps help to ensure high code quality and reduce the likelihood that the changes inadvertently break something. Having instructions for running tests is especially helpful if it requires external setup, such as starting a Selenium server for testing in a browser. + +## Authors and acknowledgment +Show your appreciation to those who have contributed to the project. + +## License +For open source projects, say how it is licensed. + +## Project status +If you have run out of energy or time for your project, put a note at the top of the README saying that development has slowed down or stopped completely. Someone may choose to fork your project or volunteer to step in as a maintainer or owner, allowing your project to keep going. You can also make an explicit request for maintainers. diff --git a/Legacy/TF_Control/Result_window_control.py b/Legacy/TF_Control/Result_window_control.py new file mode 100644 index 0000000..0e45f2a --- /dev/null +++ b/Legacy/TF_Control/Result_window_control.py @@ -0,0 +1,536 @@ +from PyQt6.QtGui import * +from PyQt6.QtWidgets import * +from PyQt6.QtCore import * + +import multiprocessing +import multiprocessing.managers + +import time +import traceback,sys,os +import numpy as np +import pyqtgraph as pg +from scripts import import_txt +import random + +from scipy.optimize import curve_fit + +# Get the current script's directory +current_dir = os.path.dirname(os.path.abspath(__file__)) +# Get the parent directory by going one level up +parent_dir = os.path.dirname(current_dir) +# Add the parent directory to sys.path +sys.path.append(parent_dir) + +from design_files.Result_window_design import Ui_MainWindow + + +class WorkerSignals(QObject): + ''' + Defines the signals available from a running worker thread. + Supported signals are: + finished: No data + error: tuple (exctype, value, traceback.format_exc() ) + result: object data returned from processing, anything + progress: int indicating % progress + ''' + finished = pyqtSignal() + error = pyqtSignal(tuple) + result = pyqtSignal(object) + progress = pyqtSignal(list) + + +class Worker(QRunnable): + ''' + Worker thread + Inherits from QRunnable to handler worker thread setup, signals and wrap-up. + :param callback: The function callback to run on this worker thread. Supplied args and + kwargs will be passed through to the runner. + :type callback: function + :param args: Arguments to pass to the callback function + :param kwargs: Keywords to pass to the callback function + ''' + + def __init__(self, fn, *args, **kwargs): + super(Worker, self).__init__() + + # Store constructor arguments (re-used for processing) + self.fn = fn + self.args = args + self.kwargs = kwargs + self.signals = WorkerSignals() + + # Add the callback to our kwargs + self.kwargs['progress_callback'] = self.signals.progress + + @pyqtSlot() + def run(self): + ''' + Initialise the runner function with passed args, kwargs. + ''' + + # Retrieve args/kwargs here; and fire processing using them + try: + result = self.fn(*self.args, **self.kwargs) + except: + traceback.print_exc() + exctype, value = sys.exc_info()[:2] + self.signals.error.emit((exctype, value, traceback.format_exc())) + else: + self.signals.result.emit(result) # Return the result of the processing + finally: + self.signals.finished.emit() # Done + +def get_float(Qline,default = 0): #gets value from QLineEdit and converts it to float. If text is empty or cannot be converted, it returns "default" which is 0, if not specified + try: + out = float(Qline.text()) + except: + out = default + return(out) + +class MainWindow(QMainWindow, Ui_MainWindow): + def __init__(self, *args, **kwargs): + # Get the current script's directory + self.current_dir = os.path.dirname(os.path.abspath(__file__)) + # Get the parent directory by going one level up + self.parent_dir = os.path.dirname(current_dir) + + + #import Gui from QT designer file + super(MainWindow, self).__init__(*args, **kwargs) + self.setupUi(self) + + #setup plot + self.graphWidget_B.setBackground('w') + self.graphWidget_B.setTitle("Trapped flux vs. B-field") + self.graphWidget_B.setLabel('bottom', 'Absolute magnetic field |B| (µT)') + self.graphWidget_B.setLabel('left', 'Trapped flux (µT)') + + self.graphWidget_Gradient.setBackground('w') + self.graphWidget_Gradient.setTitle("Trapped flux vs. temperature gradient") + self.graphWidget_Gradient.setLabel('bottom', 'Temperature gradient (K/cm)') + self.graphWidget_Gradient.setLabel('left', 'Trapped flux (µT)') + + self.graphWidget_CooldownSpeed.setBackground('w') + self.graphWidget_CooldownSpeed.setTitle("Trapped flux vs. cooldown speed (K/s)") + self.graphWidget_CooldownSpeed.setLabel('bottom', 'Cooldown speed (K/s)') + self.graphWidget_CooldownSpeed.setLabel('left', 'Trapped flux (µT)') + + self.graphWidget_TransitionTime.setBackground('w') + self.graphWidget_TransitionTime.setTitle("Trapped flux vs. transition time (K/s)") + self.graphWidget_TransitionTime.setLabel('bottom', 'Tansition time (s)') + self.graphWidget_TransitionTime.setLabel('left', 'Trapped flux (µT)') + + + pen1 = pg.mkPen(color=(255, 255, 255), width=2) + self.plot_B = self.graphWidget_B.plot([1,0],[1,0],pen = pen1, name = 'B', symbol ='x', symbolPen ='r', symbolBrush = 0.2) + self.plot_Gradient = self.graphWidget_Gradient.plot([1,0],[1,0],pen = pen1, name = 'B', symbol ='x', symbolPen ='r', symbolBrush = 0.2) + self.plot_CooldownSpeed = self.graphWidget_CooldownSpeed.plot([1,0],[1,0],pen = pen1, name = 'B', symbol ='x', symbolPen ='r', symbolBrush = 0.2) + self.plot_trans_time = self.graphWidget_TransitionTime.plot([1,0],[1,0],pen = pen1, name = 'B', symbol ='x', symbolPen ='r', symbolBrush = 0.2) + # self.graphWidget_B.addLegend() + + + #set up pyQT threadpool + self.threadpool = QThreadPool() + + + #define signals and slots + + self.actionSet_default.triggered.connect(self.set_default) + self.actionReset_default.triggered.connect(self.read_default) + self.button_refresh.clicked.connect(self.import_data) + self.listWidget_files.itemSelectionChanged.connect(self.list_changed) + self.button_select_all.clicked.connect(self.select_all) + self.comboBox_plot_settings.currentIndexChanged.connect(self.set_plot_settings) + self.comboBox_select_sensor.currentIndexChanged.connect(self.update_plots) + self.line_Plot_B_Field.editingFinished.connect(self.update_plots) + self.line_Plot_T_Gradients.editingFinished.connect(self.update_plots) + self.line_Plot_B_Field.editingFinished.connect(self.update_plots) + + self.dSB_Plot_B_Field_Tolerance.valueChanged.connect(self.set_Tolerances) + self.dSB_Plot_Cooldown_Speed_Tolerance.valueChanged.connect(self.set_Tolerances) + self.dSB_Plot_T_Gradients_Tolerance.valueChanged.connect(self.set_Tolerances) + self.dSB_Plot_Transition_Time_Tolerance.valueChanged.connect(self.set_Tolerances) + + # self.actionSet_default.triggered.connect(self.set_default) + # self.actionReset_default.triggered.connect(self.read_default) + + + + #define constants + self.Npoints = 200 #number of point to plot + self.files_selected = [] + self.file_path = 0 #File path for loading calibration + self.running = True #true while app is running + self.disable_plot = False #constant to disable plot to improve performance. Is changed by checkbox checkBox_disableplots + self.select_mean_single = 0 #Select if mean value of all absolute AMR-B-fields or a single sensor should be selected. (0: Mean of abs., 1: Abs. of single sensor, 2: Single sensor direction) + self.B_Tolerance = 0 #Tolerance when searching for specific B-fields + self.Gradient_Tolerance = 0 #Tolerance when searching for specific T-Gradients + self.Cooldown_Speed_Tolerance = 0 #Tolerance when searching for specific Cooldown-Speeds + self.row_length = 96 #Standard row-length (#columns) of data_array. This value will be updated in import_data + self.mcol = ["#0072BD","#D95319","#EDB120","#7E2F8E","#77AC30","#4DBEEE","#A2142F","#0072BD","#D95319","#EDB120","#7E2F8E","#77AC30","#4DBEEE","#A2142F"] #define matlab colors + self.marker = ['x','o','s','t','d','+','p','arrow_up','t1','h','crosshair','t3','star','arrow_down'] #some marker styles for plotting + self.lines_config_float = []#is used for config file + self.lines_config_strings = [self.line_Plot_B_Field, self.line_Plot_T_Gradients, + self.line_Plot_Cooldown_Speed, self.line_Plot_Transition_Time, + self.line_Path]#is used for config file + self.checkboxes_config = []#is used for config file + self.combobox_config = [self.comboBox_plot_settings, self.comboBox_select_sensor]#is used for config file + self.SB_config = [self.dSB_Plot_B_Field_Tolerance,self.dSB_Plot_T_Gradients_Tolerance, + self.dSB_Plot_Cooldown_Speed_Tolerance,self.dSB_Plot_Transition_Time_Tolerance] + + + #read default values from config and set them in gui + self.read_default() + + def import_data(self): + #imports data from folder and fills list. After it is finished it calls update_plots + path = self.line_Path.text() + try: #if path does not exists nothing is plotted + files = os.listdir(path) + except: + print('Error: Please enter valid path') + return + self.data = {} + selected = self.files_selected #store old selected items so it not overwritten when new data is set in list + self.listWidget_files.clear() + + #store data from all files in data + for p in files: + [header,data_arr,times] = import_txt.read_w3dates(path+'\\'+p, '%Y-%m-%d_%H-%M-%S',delim = '\t') + self.data[f"{p}"] = [header[0],data_arr,times] #header ist list in list, therefore, header[0] + self.listWidget_files.addItem(f"{p}") #put files in list + + #fill file list and check the one previously checked + for i in selected: + self.listWidget_files.setCurrentIndex(i) + + if files != []: + try: + self.row_length = len(self.data[f"{files[0]}"][1][0,:]) #Update row length (# columns) of data array. Until now its value is 96 + except: + print("File "+str(files[0])+" is empty.") + + if selected != []: #Update plots automatically when refreshing / reloading updated measurements + self.update_plots() + + def list_changed(self): + #Updates self.files_selected. It is executed when an item in list is selected. + self.files_selected = self.listWidget_files.selectedIndexes() + self.update_plots() + + def select_all(self): + #activates all files refreshes. + self.listWidget_files.selectAll() + self.files_selected = self.listWidget_files.selectedIndexes() + self.import_data() + + + def update_plots(self): + + #only use selected files: + data_all = np.empty((0,self.row_length)) + for i in self.listWidget_files.selectedItems(): + data_all = np.append(data_all,self.data[i.text()][1],0) + + if len(data_all[:,0]) == 0: #Just in case nothing is loaded. Plotting an empty array would cause error + return + + #correct: + #0: time_start + #1: time_end_ramp + #2: time_save_point + #3,4,5,6 B fluxgates, including magnitude + #7: global gradient (from top and bottom sensor) + #8: average global gradient (average of local gradients) + #9: error of average global gradient + #10: transition time + #11: average global cooldown rate + #12: error of average global cooldown rate + #13: List of local gradients + #14: List of local cooldown rates + #15,...,59: B AMR (ext. B applied, sample superconducting) + #60,...,104: B AMR (ext. B off) -> Trapped flux + + + #Pick out data from data_all (substract 3 from all indices compared to list + #above, since times are not included in data_all) + B_start = data_all[:,0:4] + gradient = data_all[:,5:7] + trans_time = data_all[:,7] + rate = data_all[:,8:10] + B_TF = data_all[:,57:102] + + #calculate Magnitude of B_TF of all cooldowns + B_TF_mag = np.empty((len(B_TF),15)) + for i in range(len(B_TF)): + B_TF_mag[i,:] = [np.sqrt(x**2+y**2+z**2) for x,y,z in zip(B_TF[i,0:15],B_TF[i,15:30],B_TF[i,30:45])] + + #Select trapped flux + if self.select_mean_single == 0: #Mean of all absolute values (all sensors) + B_TF = np.mean(B_TF_mag, axis = 1) + elif self.select_mean_single == 1: ##Absolute value of one sensor + B_TF = B_TF_mag[:,self.comboBox_select_sensor.currentIndex()] + elif self.select_mean_single == 2: #Value of single sensor in one direction + B_TF = B_TF[:,self.comboBox_select_sensor.currentIndex()] + + #sort the data according to the three lines and tolerances + #get lists of sorting values + B_sort = self.line_Plot_B_Field.text().split(sep=',') + T_sort = self.line_Plot_T_Gradients.text().split(sep=',') + S_sort = self.line_Plot_Cooldown_Speed.text().split(sep=',') + TT_sort = self.line_Plot_Transition_Time.text().split(sep=',') + if B_sort != ['']: + B_sort = [float(x) for x in B_sort] + if T_sort != ['']: + T_sort = [float(x) for x in T_sort] + if S_sort != ['']: + S_sort = [float(x) for x in S_sort] + if TT_sort != ['']: + TT_sort = [float(x) for x in TT_sort] + + sort = [B_sort,T_sort,S_sort,TT_sort] + tolerances = [self.dSB_Plot_B_Field_Tolerance.value(),self.dSB_Plot_T_Gradients_Tolerance.value(), + self.dSB_Plot_Cooldown_Speed_Tolerance.value(),self.dSB_Plot_Transition_Time_Tolerance.value()] + + #sort out data depending on how the lines are filled. If no line has more than one entry, sort out points that do not fall in the tolerances. If one line has more than one entry, create multiple plots. If more than one line has entries, return error. + ind = [] + lens = I = [len(x) for x in [B_sort,T_sort,S_sort,TT_sort] if len(x) > 1] + if len(lens) == 0: #no line has more than one entry => only sort out points that do not fall in the tolerances + for i in range(len(data_all)): + skip = False #if skip is True, the index will not be appended to ind. Default is False + point_data = [B_start[i,1], gradient[i,0], + rate[i,0], trans_time[i]] #get data of the point which will be compared to the sort values. + for d,s,t in zip(point_data,sort,tolerances): #go through all sorting values, if any condition is not fullfilled the index is not appended to ind + if s != ['']: #check is the sorting value is not empty. If it is empty, the loop iteration is not skipped + if abs(d - s[0]) >= t: #check if the point is within the tolerances + skip = True #only if the point does not fall within the tolerances, skip is set to True and index will not be appended to ind + + if skip == False: + ind.append(i) #append index of points that fall in the tolerances + + #plot data + #create error array (systematic error = 2µT) + e_B_TF = np.full(len(B_TF[ind]),2) + + #clear graph widgets and add new plots + for i,w in enumerate([self.graphWidget_B, self.graphWidget_Gradient, + self.graphWidget_CooldownSpeed, + self.graphWidget_TransitionTime + ]): + w.clear() + if i == 0: #graph B + self.scatter_B = pg.ScatterPlotItem(x = B_start[ind,1], y = B_TF[ind], pen=pg.mkPen(color = self.mcol[0]), brush = pg.mkBrush(color = self.mcol[0]), symbol ='x', hoverable = True, size = 10) + err = pg.ErrorBarItem(x = B_start[ind,1], y = B_TF[ind], top = e_B_TF, bottom = e_B_TF, pen=pg.mkPen(color = self.mcol[0], width = 2)) + w.addItem(self.scatter_B) + w.addItem(err) + elif i == 1: #graph gradient + self.scatter_Gradient = pg.ScatterPlotItem(x = gradient[ind,0],y = B_TF[ind], pen=pg.mkPen(color = self.mcol[0]), brush = pg.mkBrush(color = self.mcol[0]), symbol ='x', hoverable = True, size = 10) + err = pg.ErrorBarItem(x = gradient[ind,0], y = B_TF[ind], left = gradient[ind,1], right = gradient[ind,1], top = e_B_TF, bottom = e_B_TF, pen=pg.mkPen(color = self.mcol[0], width = 2)) + w.addItem(self.scatter_Gradient) + w.addItem(err) + elif i == 2: #graph cooldown speed + self.scatter_CooldownSpeed = pg.ScatterPlotItem(x = rate[ind,0], y = B_TF[ind], pen=pg.mkPen(color = self.mcol[0]), brush = pg.mkBrush(color = self.mcol[0]), symbol ='x', hoverable = True, size = 10) + # err = pg.ErrorBarItem(x = rate[ind,0], y = B_TF[ind], left = rate[ind,1], right = rate[ind,1], top = e_B_TF, bottom = e_B_TF, pen=pg.mkPen(color = self.mcol[0], width = 2)) + w.addItem(self.scatter_CooldownSpeed) + elif i == 3: #graph transition time + self.scatter_transitionTime = pg.ScatterPlotItem(x = trans_time[ind], y = B_TF[ind], pen=pg.mkPen(color = self.mcol[0]), brush = pg.mkBrush(color = self.mcol[0]), symbol ='x', hoverable = True, size = 10) + err = pg.ErrorBarItem(x = trans_time[ind], y = B_TF[ind], top = e_B_TF, bottom = e_B_TF, pen=pg.mkPen(color = self.mcol[0], width = 2)) + w.addItem(self.scatter_transitionTime) + + + + elif len(lens) == 1: #one line has more than one entry. So a set of plots should be generated from this line + ind_dict = {} #dictionary in which the sorted data will be saved + labels = [] #list in which labels of plots will be saved + #find sorting list with more than one entry + I = [i for i,x in enumerate(sort) if len(x) > 1] + I = I[0] + if len(B_sort) > 1: + for B in B_sort: #Find indices of data points where B = value in B_sort + ind = [i for i,x in enumerate(B_start[:,1]) if abs(x-B) 1: + for T in T_sort: #Find indices of data points where Gradient = value in T_sort + ind = [i for i,x in enumerate(gradient[:,0]) if abs(x-T) 1: + for S in S_sort: #Find indices of data points where cooldownrate = value in S_sort + ind = [i for i,x in enumerate(rate[:,0]) if abs(x-S) 1: + for TT in TT_sort: #Find indices of data points where TransitionTime = value in TT_sort + ind = [i for i,x in enumerate(trans_time[:,0]) if abs(x-TT)= t: #check if the point outside the tolerance + pop.append(i) + break #get out of loop so no more indices are deleted + #delete indices that are in pop + ind_dict[key] = [x for i,x in enumerate(ind_dict[key]) if i not in pop] + + #create error array (systematic error = 2µT) + e_B_TF = np.full(len(data_all),2) + + #clear all graph widgets, add a legend and add new scatter plots + for i,w in enumerate([self.graphWidget_B, self.graphWidget_Gradient, + self.graphWidget_CooldownSpeed, + self.graphWidget_TransitionTime + ]): + w.clear() + w.addLegend() + #add new scatter and errorbars to plots + for n,key in enumerate(ind_dict.keys()): + if i == 0: #graph B + scatter = pg.ScatterPlotItem(x = B_start[ind_dict[key],1], y = B_TF[ind_dict[key]], pen=pg.mkPen(color = self.mcol[n]), brush = pg.mkBrush(color = self.mcol[n]), symbol =self.marker[n], hoverable = True, size = 10, name = labels[n]) + err = pg.ErrorBarItem(x = B_start[ind_dict[key],1], y = B_TF[ind_dict[key]], top = e_B_TF[:len(ind_dict[key])], bottom = e_B_TF[:len(ind_dict[key])], pen=pg.mkPen(color = self.mcol[n], width = 2)) + self.graphWidget_B.addItem(scatter) + self.graphWidget_B.addItem(err) + if i == 1: #graph gradient + scatter = pg.ScatterPlotItem(x = gradient[ind_dict[key],0], y = B_TF[ind_dict[key]], pen=pg.mkPen(color = self.mcol[n]), brush = pg.mkBrush(color = self.mcol[n]), symbol =self.marker[n], hoverable = True, size = 10, name = labels[n]) + err = pg.ErrorBarItem(x = gradient[ind_dict[key],0], y = B_TF[ind_dict[key]], top = e_B_TF[:len(ind_dict[key])], bottom = e_B_TF[:len(ind_dict[key])], left = gradient[ind_dict[key],1], right = gradient[ind_dict[key],1], pen=pg.mkPen(color = self.mcol[n], width = 2)) + self.graphWidget_Gradient.addItem(scatter) + self.graphWidget_Gradient.addItem(err) + if i == 2: #graph cooldown rate + scatter = pg.ScatterPlotItem(x = rate[ind_dict[key],0], y = B_TF[ind_dict[key]], pen=pg.mkPen(color = self.mcol[n]), brush = pg.mkBrush(color = self.mcol[n]), symbol =self.marker[n], hoverable = True, size = 10, name = labels[n]) + # err = pg.ErrorBarItem(x = rate[ind_dict[key],0], y = B_TF[ind_dict[key]], top = e_B_TF[:len(ind_dict[key])], bottom = e_B_TF[:len(ind_dict[key])], left = rate[ind_dict[key],1], right = rate[ind_dict[key],1], pen=pg.mkPen(color = self.mcol[n], width = 2)) + self.graphWidget_CooldownSpeed.addItem(scatter) + # self.graphWidget_CooldownSpeed.addItem(err) + if i == 3: #graph transition time + scatter = pg.ScatterPlotItem(x = trans_time[ind_dict[key]], y = B_TF[ind_dict[key]], pen=pg.mkPen(color = self.mcol[n]), brush = pg.mkBrush(color = self.mcol[n]), symbol =self.marker[n], hoverable = True, size = 10, name = labels[n]) + err = pg.ErrorBarItem(x = trans_time[ind_dict[key]], y = B_TF[ind_dict[key]], top = e_B_TF[:len(ind_dict[key])], bottom = e_B_TF[:len(ind_dict[key])], pen=pg.mkPen(color = self.mcol[n], width = 2)) + self.graphWidget_TransitionTime.addItem(scatter) + self.graphWidget_TransitionTime.addItem(err) + + + elif len(lens) > 1: + print('ERROR: more than one sorting line has more than one entry. Please select only one line with more than one entry. Aborting...') + return + + + def set_Tolerances(self): + #Set tolerance values for filtering + self.B_Tolerance = self.dSB_Plot_B_Field_Tolerance.value() + self.Gradient_Tolerance = self.dSB_Plot_T_Gradients_Tolerance.value() + self.Cooldown_Speed_Tolerance = self.dSB_Plot_Cooldown_Speed_Tolerance.value() + self.Transition_Time_Tolerance = self.dSB_Plot_Transition_Time_Tolerance.value() + self.update_plots() + + + def set_plot_settings(self, value): + #Set plot settings (mean B-value of all AMR-sensors / absolute value of single sensor / single sensor direction) + self.select_mean_single = value + + #set the right entries in qComboBox_select_sensor + if self.select_mean_single == 0: #Mean of all absolute values (all sensors) + self.comboBox_select_sensor.setEnabled(False) + self.comboBox_select_sensor.clear() + + elif self.select_mean_single == 1: #Absolute value of one sensor + self.comboBox_select_sensor.setEnabled(True) + self.comboBox_select_sensor.clear() + + for i in range(1,16): #Add 15 values + self.comboBox_select_sensor.addItem("Sensor "+str(i)) + + elif self.select_mean_single == 2: #Value of single sensor in one direction + self.comboBox_select_sensor.setEnabled(True) + self.comboBox_select_sensor.clear() + + #Add 45 values + for i in range(1,16): + for direction in ["x", "y", "z"]: + self.comboBox_select_sensor.addItem("Sensor "+str(i) +" "+str(direction)) + + self.update_plots() + + + def nearest_value_in_array(self, array, value): #Returns index of closest entry in array compared to value + index = (np.abs(array - value)).argmin() + return(index) + + def set_default(self): + #saves current set values to txt file in subdirectory configs. All entries that are saved are defined in self.lines_config + #Overwrites old values in config file. + current_dir = os.path.dirname(os.path.abspath(__file__)) + path = current_dir+'\\configs\\result_window_config.txt' #To make shure the config file is at the right place, independent from where the program is started the location of the file is retrieved + file = open(path,'w') + for l in self.lines_config_float: + temp = f"{get_float(l)}" + file.write(temp+'\t') + for l in self.lines_config_strings: + file.write(l.text()+'\t') + for c in self.checkboxes_config: + file.write(str(c.isChecked())+'\t') + for c in self.combobox_config: + file.write(str(c.currentIndex())+'\t') + for SB in self.SB_config: + temp = f"{SB.value()}" + file.write(temp+'\t') + file.write('\n') + file.close + + def read_default(self): + #reads default values from config file in subdirectory config and sets the values in gui. Then self.change is set to true so values are send + #to device. (If no config file exists, it does nothing.) + current_dir = os.path.dirname(os.path.abspath(__file__)) + path = current_dir+'\\configs\\result_window_config.txt' #To make shure the config file is read from the right place, independent from where the program is started the location of the file is retrieved + try: #exit function if config file does not exist + vals = import_txt.read_raw(path) + except: + print('no config file found on') + print(path) + return + formats = ['.2f', '.2f', '.2f','.2f','.2f','.0f'] + + for l,v,f in zip(self.lines_config_float,vals[0],formats): + v = float(v) #convert string in txt to float, so number can be formatted according to "formats" when it's set + l.setText(format(v,f)) + + for l,v in zip(self.lines_config_strings,vals[0][len(self.lines_config_float):]): + l.setText(v) + + for c,v in zip(self.checkboxes_config,vals[0][len(self.lines_config_float)+ + len(self.lines_config_strings):]): + c.setChecked(v == 'True') + + for c,v in zip(self.combobox_config,vals[0][len(self.lines_config_float)+ + len(self.lines_config_strings)+ + len(self.checkboxes_config):]): + c.setCurrentIndex(int(v)) + + for SB,v in zip(self.SB_config,vals[0][len(self.lines_config_float)+ + len(self.lines_config_strings)+ + len(self.checkboxes_config)+ + len(self.combobox_config):]): + v = float(v) + SB.setValue(v) + + self.change = True + + def closeEvent(self,event): #when window is closed self.running is set to False, so all threads stop + self.running = False + time.sleep(1) + event.accept() + + + +app = QApplication(sys.argv) + +window = MainWindow() +window.show() +app.exec() \ No newline at end of file diff --git a/Legacy/TF_Control/TCP Multiple Connections - Server.vi b/Legacy/TF_Control/TCP Multiple Connections - Server.vi new file mode 100644 index 0000000000000000000000000000000000000000..2a37f5e6efff54b59246dd70e4e5aaa7c5dda737 GIT binary patch literal 28317 zcmeFYWmp{DvIdH~1`ir^f(3VX2=4Cg?(Xgq+#y)dpuydPySrO(yF>Ereb1J2?)`I~ z^JlM~rS-m5wYt{y>gfh~1$jY4I1q42WpQaq0c8~s5OYfq5D0n@5D+3@TM}63V1oDp ztG5L4rvL}x0yYTwe8EtFH7M`^dj+O9;olOLL~<%Lsk?Yo0hJNI%&IML908c$@Zgd{ z%(H4q2BuwRbv1ib&iKtKk&K3&bK;>q}L?mo)Z(~m+re|$vX=G39Y$mHH_C{s_W(a65XERGPeI95fM_}#f z25a;NrnR)x|L@p97SOK1?+OGQSke8n@3s~S0+c#*C9$S(l^*>Ia?N&EvU>0s;)Sgq z0r>Qpa6pb6FiR<#nmG^wKaQqGM2dp4L=Hyw&PMh`%HqHgJx3x3CtF(^dq)Q%Do&pVEg%k5b61X-~ek7&^Oy}>*=lj9}~#`nEr9m{VNnGe_NKn z%fFg$lt1}T;|=m(U|DgBnedGfdX+m*j}-u(ORz~8<2BL}MdBlwH|$B{oXdPDs7_s#Tg z`5X9m=kKh4;Qyfkk$a`FHY%H~n%Gz!K;m5b@9U-{ipb z=04E-f0fJLQ2~!T>bpBCB`Tn&|HKCl{4KrAzAFFA`2hi;q6D5;D&;5TH$^x9%m<$2 zhX>#|)!mcd9kBCngHeL2Lf^fa&z}PQQiFJ|IMBMrUqibeqR~i_6JZA zSut7Q2yl-8X3H>HX;DPD_ixugL~$`8d0-8^o`aykKmkj_t5-c>#V9Vsujra_GE$8J zLIl(EbKgKYHGp1Mt=wun`PY4!42!;8G^p&i_m=l~y1t-U2t+)-@Yv{3WaKJElR!F% zxUjU)HvwILpc`!e#@+xB!tmQ3j$GmfumkEKFDd}?Z4B=K*nu$Nm*NKjsg8kv(t`x{ zVQt0K96&&jy5BNrzs*-e;2@5pu&Seijj^MPp1l!>te%;*BdxTsB9SvAEi)~%c=*#g zQ0v#<)6hPd7MBnN1p)u5Et>I_M51>y5-q%5-tNcihc;uv7uZ!|ESOKJ2;EiW9J)EU zU!JgPY2O+Hd@MrH2#(-514aA3e%3_b3-9phej*wYE#-kjHTxkLQvN|X|AqSY7YgkU z>hTY1o6oU>k2Tg0FB}PbABrKCWC9d?#n+Dw2AW-;2%H`B518?7ln=_D_>W3y;Wxuj zn?!iqp+G}_xij{cp{75Eno$05Q~oj}@yC#6#2-Vrf2pMUqw@4Ga_b+m+h63EzsTZm zWL+YpF8*lj0luu?_HhOx{sLqCu>}7|WexhDuFYTPf$Wck)qik$TkwxNo`22z(;x07 z%^$G$U+z@CSy)FduF|om*{3i92KK+K9ni1;X6+yYA@IM~PLAlDCb09rw05xH)($`+ zDo!fGUlu#)tnws8?9rY?4j%2DeeTb87}W3_VRC@H{!JlFJsn%OTS%~8FpsvY>=^g> zwY`!Yx?YneF^qqV8Z{SJ13K)Sr4xavx? zu{}o1rC=kqwM+L_k;*x=YAcOpYgQ(yE9BkVNBqZU?T25}#I5v(86+JV+IcM#l@R!eWpzDv7*H7z5Se5 z)WZd=cu4#*g=Ul~z2foPG{@C4GIsrghQyc7Ene^*$5RS!Sq2=LZBN2JSor;*+)f;s z>uv;^b4hy?BgTwBAHnpO7!dd@nFjwUR;B-kv3mcvSn&g6g&wpPbBPt~VSyGG@ea;1 zP8SYC`5oX3Ap9pWD#QoV2_LrZCc$nx!7XZ}fs4n++t%W=B7U{xftusBkKtfWT7pVS zL8RhzsggNI98dwBOXs{zOj5vD-FrqaSO$+82XKwAk;8ydr+ijTzW%6Fse&E+VROfx zAFn?&Z(n8JA#cyEYf7PE39)-awkSw1bn1YV9S`Xz6Jr0?MHy%IcvqAN$xnqJRTr+* zJKpUnmJJ%HItwSxlMYt)+Xp4}R(fegiJD>ev~6t*k8Pip9XTMmXPh!MF+ca)xeG>f zaXYoIRjX19X;&z>eh|&da_1tbvU(h+c)0h(6OiG~mQizR)xQ1q#F2c|oO27xD)5>r zBrdG_kI@2tYfAnPB=TDsD*#Y6iZpiMK5xt*&ELc{lS9pIT%k=SIcW(_odt9?!yZu@U z$B)u+#dQwO7Jck4*}HZ) z5bB$vB%Jo@D4jq+^UJ7lnMpA3ei~6oJ%q{D{k%L}!?pmX>7y##oHe3^1T8fZj zbgz7FmL{^^)BLUAh@;yrtCm#!p|Bs{GguFW%?=MbwP+9+tVB}SUb`nS66h6c)|L?J5jF^d=nZW1&OBD1DAu8G zA&*-ySx4v-VgE5i|JkelvseB9x+ne5UiF{7>OXrG@Z$Nubl?7;z3TsSuY!yK{*vZ% z&FEE;vP4rs$!a)av!M8R^z{kb|0$y!O`;mt6w)eiNCq?f1KCHPJSE64t_qrXoHcW~ zqo8c6arW!e8f4Q1Y{b{Gf=L=mIJ6>^qq(KwiWIrBB?1^p;e2&RCqEjrJ*>P9Aq#fT z8CElGj8{FcT2~-ljaq()0J`14)wiKd5pek6^k6A{TBnEz$zFZ$O0%&yQFJP+W-^na zhZ+JI4j6LKKix40}f&FzeE5Yo07sCK~Rf(>jSjaRwpJ4yTBz zv3-LekVv^S^PjuKoj-(6U_fEsx8G?I)&EFSSyh%*wY^8r4Mknj8yzWsxbrLq}i>jh}fL$)@Ej~c8$umCJ2pXiO!$B&E%d7w*sCTeu8t~r^9Hg zv3*Qc8Lcps{;|y&itlX4M{$Yzp6F7qE(Gzm#B~Dk$Jj|11UuQtT-=5<9YZiX4iyzH z!z%=xlX2lOVg$993Z#JCU`V!Tf4X(u@(4h31u^4AQO68dPlsDLgF$ zdWz$JS~vEiHcNc0aExRD*uKx)x?tm2YqaaesuCkIio*nB#v0P{9}zzN7E2?xLVZ)K zX)}ImI(sdg=MFaW(V^IGNPtjapG1}r|2|+;!<3J2R3=-OzMwnYJUBWb+=oI!=i@0H zVyNes2*L$sI%C|Z8ddJLR^Ao+mGZ9S6UJWT@s7i83D)y!(Qf(A6`n7{hINV3GhYZS zup1!-djk4MtIoif8Kx9#4l3M_qG)8F!YS|x<0%%q`P%_#K3z+x7S z6SW>qgfdNDelkHhSKSW1; z^l++~ST&b?{sZkirbgA-ynm2IU|0LLXREFY zmqHaq8hZJ%;FN(QU8aOtzB_T|5YNZO%uh;naWBo+hzF1OcN*0Y@z`%-{ zrb$l(W)&KwGP%pFQ}8itdet7BYb2w+RKNtpWECEdCNL8XziN2YMl-MnQkt14#GI+& zhLV9WJr<-bXt->BPh;O{%)RNX>wYPHnPm>q`qmM8erhk36jDwe;^>=9?f4xfs0R=v= z)&J||+#gr|JTwLYVb1^o`OXjAGqhkm6?>nv-R9aFKEwu~SYy`U@(DCn?gZ~BTB8U< z3e?1k4d^4GRQtc@`!VjWeB?zGuKvB^ySgyfrdEZz;?D;axw3Ug;`Hb7r`=Xo#ughi z$?A%1$?jnrZ<|%T_ASo#dqjbl=rQw3raXtu{gZOSflry6fa3Dbj7EA7@)w-@8V*2| ztCi*%wwWn2aih}G!ko~(1g~OFoI6h6J4;a7p(sh;of+QtM!|@J!Ihpxk42esdT4TfP*;~%K|?H$f|4lB z_e(QXQWKsD=Tj5663=151eCxDmCY(D_LnLPmzjfG7|c)|WX~y2CqtJ?m{ZLPfn)Se zYWPcvn9ld^JSs0kzrzUZ~!r zslhcnz_G`-hA@;NL2|e+wa15n_38x``gP=m%&=CNa1d+##P=L=KUmP~v6m18(y%;r zP{n;n;=dsWJx8LWj^T9PD#iWMjB^wOWOTmwg;5bG4J$|&p1e}?(2%pA1ewmNSHT+m zggMwicPS~cniUHTX!;PZLlv*nHK4(GiW8XOnI}WqE==0)7n?8Jh)5#3jaYC}B<8K6 z2Hw0}_{yC>u3y0)$er5&Xq}-rGXBylVWuXiw|ddZtrl0I7Am>j!}>G8Lf zcAeo=Q#of5BfF1wZ|O|ZL`T8lp{kRvxww)VS*oZ7_xCfG=z0W8LkZ(QeW$!i3 zb1!K!?WEz8#v!wybDokfN1(HSGK%lA3&X}FnXa!wWl2Zh`(krDm=@SqB#(tH63glY z7rJ2-3=xObB{e{8$ccYoNhYR_3FW?f0^|2jXG8wpyD}wl?rmo!s}>+_%w$z#?i0h( zuVwqZwWvAyIoI}a08dFTuUBSPt7W~du+u`AzhHE4IC@%Lc9yTm2e9lnjLlndl?&Lb z3zE-F5ZH*;bf>rPJ;8knU=bah8uKM9AZES{QWg`lG#0jF^8GQX&CFxs{E5Z_+hja* zlPwL-XIgKzE_k6eGP%$5?pYj=GFg2n)Nc-hQ+6?caQ#jgKaG!#xUbp zWC3=}Mrr@GY+rk@oyAmp{355Wt-2hx&d)Hz)FEW#UXwbT_jGl)hU@GY-n@uI?}lpO zckbCY-1v6gAYW~}5<(5pV5!@opfvn;F3umxWVQL#oC^)AA|pE`48v-lBrb-N;N#n# zh(>jMd`F`Po9vYPeGr+)x z-rs8%gF2KdsW`0FPbs|}w(2Evn1RmmL>Ma0@l38cMxqvvX&YQD&DxRXpN0%d#9w4m z&7!21QS^NP+?t{3xxN3nK5-r$Bx~)*(+JX-4Y~6?TeXe=sa(BVzKPq>_~if_%Mk+$ zzKl&YHL{t~p;ejQsDvh1^LG@KW1G}s=Jb6~Rr_>zG3;Zf?#zNkSgd>zw zm-kzc_DrmK%w|U;2g&tkg1ENrF4;z3AMvOs918^=k_(>u$hBAX>}uQ?5uGi3qU?3X z{i-i^UqD}jZ&Lc~jMV~?Nv)G=0}w4sX(Ooi1~?8Z0ps~s3dv4-S^wL#xs0%z5qfwfh=POMdc3d`7s-pVI z-w8_PkjfrBRd6(OsY^Z4AG#z>Ls6Q8^~~hIsOHphsW&rJWvC7*O?>y89D+MsNxIxo z`cdoq)%#AeCs{=~v;t$2R){y`#iyzm^El|f{c;q^c))ovTs&oD#620#?_4BRc@=ycjkmc^^Rq&4RYVo!4h^ zu~1myKK3=e+(@H$w=YRXaAQ*pHnr+%pxvY&gSZz_CA!Va z^V${}!jX}h_!y8vYaRy9G_fTjGlhL)=REx zaxz#O;8~aTVc9?T;N7^@-?(jix(%?2UHCcbU5uf^6V0R=;P0{gX^3)^`>KM2=>1-JHX0SHZEM0fGGjDCKr}Bn$J+E|XV6!62cFN4K z6MV(%Oqf>CJ@>o;%HleQvuF{sPJ(XOD7}nE$_gXs%$^uFcU`t42G2+JyKfPmO(S>X zkaaR9hr_2VqHx`iS*%gqZEcpHvLw5ZiaD?RMj0X{V7evjcwiVojr}&+;Tg7ek#C;N z$wod&lJX&?&22yF^Tl^FyRxsUEl=@Ql;+jv71V5&n^G+jIx+i&DXywsa`#>53nGT_raCM!!aPy!ML;991Ty-(T6#8v{t6~Y#XKBuKi?0)znv1?~Z ziAbdI@$s|mNn3#eT-Xchi+G0ooi2b&HWu2nodh`)vJe%XQX?K3+fA~hQe5Gk>7<-g zi89(zX<3PD5q=6Wwk;NNr|+N-``4LI=m?w^QL>%!paIH_wV1ckNr>i~Fy;a1lO;WA&Nz5p`_VM?Ykld5v=9wb5a-5qQu-vunIy4w z$bvLWIToTlv~gi%cU2?nnz%)=n?qeK`pvf5M!hojM6}4 zRw3DrAMt)*yGExFD!~CQ)H3JU1+Xsxbf`%Du(r8p6pPme`$9zTk@rYtY^TtnC#JXg znY?7d_KnjLr&J%}}yFa*iiqOHsCaNIHQ=}wHF zM|TgRc_vd+JVs!Xx1l-pA{Tbkc^&0WMmD;udw~bZZX35UW|Q-7Rg@&K0rF~DrYp#yV!TnK+Xgu$#;=j z^q0#&pE%CmXsi$W1l4el)kI}usM&(8yh_@3*%PIIVjsPPx=5wl8q$@({)>dx%qm9c z*&e_ZBq*Ww)UBSYAd6K;5Gy{VJvuVd2sV_mkTy%}oQpOZEIkc}@YBw(KdPn)vy!K`pTy8ZOTiLb0J&4t@x#>$m4Fg6(&uw8hsnxB~&0P&c==^yP^2Z*rS5?6Y6ii8Z0nJwo`aNWB zEkF(hi3B8`6<&3F3pTn3{asrE3zk=iCc^kFxC#po))~ocRmAbi{v_p`T~tkGzHfSy ze+ORnQ>siM$*IB#9c%M!#J2()Er6##2*)sUID!srCe}5^%jwTCtx9Tj6So--sUXA|d>7bPt+POYtr)&qWNI@nF?(n;jQlG4A57xxa<_Y1(?N<3;P1v0jzcr5a zIPG&t8b_es3%tTD9v@>IHi!=?w#&>@OgD7ijyZuzT*_)2W)q)!A1oEt^P<3wJ1oY9 zJSEP*C>P_migOnE1sP17R0`jB{JhBcbzM>)>fN@_esG<8?rD=CxJKCki~z>okR+1pQvQV6M~Z zU+Og;)zv0d=4GPMcrr#{tVE4ch#Dh4v=&~bBK)2M1%F2EXN8-X;EJq9hzIeK-0Y9p znF3|&$uUjj#52=+WWHJ}G5)m~3kbv65t9cixeepQ?;V-vl>$v@L!u*)YAs=aGdz{b zPZofYF$wEUQQB~R_d{cAA}1v488=ZUv!eXwDa4rtGNp;>(Gxi ztVly>BjR^em~gBeyQ~Vgx#2CriIb+|90r`~{`3Pp76;osZ$;(D)K&Vl(z_O%jFA~{ z!HT*wt=f_zzz0;UsTl?y%b9YeJ~{Qq`O(3ZGQ#=n<;TtuGk%8}sX=E{@`^|;am!<# zd2b|#Cb6h*Z#5n82~Gq46D$km{Y^tJjlWM-m@8arXgXFx-yzG2B?GdaNB{jg#&*Cs z$E3{SrkqRR_u=$Zmm6tsvvO*;&6B9IPj$8w#jpx#zcwOXpSAF=$r!A=z3*wG7uTyJ z94J?M_0SzcU2Xezs2ONe=FukbQ+R=Qab5Wtq1DZYliRr;B3})WrGlB5C~?wQL{DP) zG7#!X^i6FMqCz*ee(jOFC@#p0SY|Latm&Zit-Ed9YIU8B4;oxS;G{n#R@?1NH%K}X zJ$iXsz7R)`a^_yc;bu+2v6iieI#9FzHUt(4r@IFEt6i!2HqK$009BnS+tV?pvu=b=c7L+KFxBO z&E)1b`}nP-tX!JeDQURSwxdj7qj$CFn|+k-A!R$Hf(tCG6SPD+1hlM8d7c81y=;wh z(%NENfQnuD9t(20iNeDjV|N&DI=z*!QaQ)_uNA5oQ8P0P`T0d`bXM%W4y6kRx$&h= zESQQ4)5KLKvG6z8^=`&LD1+D^klg*bgDK`6$|&ZqLMi6AZoxbpw;^w^lTB}M+GJfz zKyLQ!fU_5AD@Xbi*Fhlon$$tSZD&amIWRyt1w&FZ{px}$5N)i0}osb^^VZeC$h zF))r^B28XUaKor8k)fzX;gEb8iu(&!q4AT1!q68d%L_q+o9bTVsHRuJr=MSL2_;J) zX}Xc4(1bq?XQ>v7h7qebU^qZ_ynI>0Be%rft}g*G$XQ1_{%4!={yQjT*CgC zh#$=Rs(f#7Q!q#4NmR&TJ;<_aRt!KHdLUEdG^%{n2`~rF0xqdKkNQ{Gcd{WQ=80z- zC{7aDvRMS?8N36}t`GN?5X}ln6ex!38X5ddKKmBmWP;?Knmo3QeMS$H&!pnZpKFYb zTe2k(FIXly9;qeaN@?kcox%%v;w}~hBTR{OtaCviT0^b}-R6`;Aj+@=(UOu3Ntwjq z>$zK4=qCJvQ!67&zQ6}J&lhe0o~sMO&Jv4{Bu%)b3&N`Ro}U-l#dk37^aIrJM8lS_ ztv%QmZllW&!5f_xy^Q7VLZM@G6#P+uh}RGfSwRtl;!x%yfvBC!>W~d_*JHh;U#V%3w_BjWbVgjp4W5!hz^jWp4! zm#>V$W%_!FUEK?f7t|rZfJk$tG5W>VPnQkKABo>_$o41SQhc`oB7grPeb6drK%20@ zPb#6teF_KW7}-vJGZPdq5}~OZqYb~+$eH#cA!6;rJ`cGY@1h?|k#Ij~l$ZhpmP{Js zj8PcMEDT{5cd*2*E=SQRBV7!3er&4u!&QW2P3>J|s_KVfN#u67!FIh+209mz`q1qdOljGkSCwpo4AB$m1QMKqZwIX^Ir@!JGgnxkr;F_h2ltW!!L) z%$4IpFiP;2`ew}mMS;_T`wMZ3l$GCb(YSdNu()jFKY1)i8sTff_qxTv3ta;Kzy!2G~;IE_rQv9Mo!TF0WP z5!sWETcUadsCxm6@)2S<2POcfFJ3(vKTM>*5F=EN94ca2WZ0tv>LHCUX>5s^-)89LOmi&1VTLC`C)fhZN zo4V}M3=&lC2L&;;j?u+&%@2lh?Z-qu&Krn`D%J%W!p8-e@buf$rHkk*`i`aEbmLFo zC#AOq6G=@ObnDX>gu@hhgvjddu~EJ<8y6B?RVT3<{o|aOvfO5O;s<#x;;bLqX zmle1<@`ambd*pCKm(Zo>WO2Jm&wI>#zLjlE7S%D5)2DxcYmnFO6&{+aLQNE2vC(0n zGpr6^^fM!}9+et2H@YZS4zi;fdYn}UB_pjXjTn(zCStlo&DACr)3*Xxz|3oCaBt2w zKR`wH@YjQw*0IP+TL4l{0*4KH${N!Y0ihau6L0{jpzl^^B<-=hBhQ0hD?%r_n8ZaND>tLPUOi;B2V;z#S&!Jt)RGE?>Wc1`1@z| zxAF8IK-F1B9dYZXgbaHH48ZQ1bLg0Q$P(9VeJcx5@!>P#bQW5I-N$E0p?8}Wb$fvE z>y8Aba`eglWEfN$J7GI3<= zHS&)Vl1~L*@k#I*9o6DtmgoeB|PkF zOwgwTp%+IsAN9>cXRol@ARnR^mS<3@rA{j4Gx<(+BSFPYC-aT-jqc9Fs+C5V_1viU_3FXMCmJ zLx+>2c!!>6^UicZUt?=BPkHh*yiG1=r2`XUFFlUyfds$Z9|mSuWxwC;MCS|F=BFqf zJ&0YExn~aRAe!CjEJFe5*r_F>8;tHCMh^$GSTzVELcpWC*MKKS_E<5+z#LaL^)3U6 z{tw$-HZ>k2f6t)|5F-fH83kpRcgo0OV3bz^aWT#rBccHgHH&oX4j;}JNcRm;MSk!j zaIrL82D&1+1sHtZwaNVfift7PwNX3)ekU9^!TBy_YrY>tD^i>s_aP*z3_Po1A+z&ydgzF^bTD&E>vpEGfP%94BP zTHgS#%+wt4(HDNls|yu)6C-4}Pg^~-Qa&VnNxlj*-;+=yd5Usk^9yC4SpGuaO~yL# z2So@0#?AasgTR+}ZV6U_KL(RM((jU&m&AiU?`YMdZqnkaT|EADm{2_$IL)|0LMhh@f1YI4r5HDyzK3?Jh!W?i7enF4;)<@&`jx~&e zjQSx+Zb;6aNG7`nz*l6U{7Au&bdNwG4Plw4lpd@jTHF|AbO`5zm7u+4L9L37Zoq5` z);CU>jwE89B=2YKiMwwKizIs3S5(SMCn>#Lo*hvR5Ha$jfH+mMW=Ukv!TXkDaUEmG z=0Z;8_b-{aZh@-n7Vpxn>kaW!pzjM`bE-`d&-DMk65baPLzWB){vg}#)if=+S zR)m=qY)5h38N;^Q;V04$F-wj7>H4#T#TydaN5&_lkj$s3juZ2t6XD7F0-;I@aW`wJ z)O0X$ZyK@VGT^T}k9W2$!S*eYwk^^uTtkJPXc60=m{Y(S+B?tW0KSwm{IbWL*=8?wv{0=VLMVTs>jhwENxD;a2&G(&|>Sl}`vtC!DAse3G*P{BVX|HEzE3Vb&A&@epd>_ ztrNP&ZS{21D{+s@rRE25;b{%(1UZ6ZS4G7c*PkO5 zHBE80dZtcswqT!Gidh*f-J@>%2`4~^EBAa~jPPIRpNaO7e5Oy4j7p9eIr944MfaVL zv}S2;hj|QCF_~w1gHjDnjFsw#bMy4>TWIWTX*_HRV^>D#8dLQbEsjX+#?%No^|$yJ zMiGX)`W`ebS5pGLL+~DOl6xba_}qtY3%UerblxZLL^_F;o}-nVR~@GWld(JCoQ4zh z7zl_^d6-6qe2h9uQRkFLM5p0w)k)jBD;!_){)h;YiA(bl&7X%#S$G(%x_OaULN@6* zNk02~eO?ViRZ&4rUO7M(E#Ku`QnF$vw`k;|^tVGz*PiFK&5pa7GW?pfMf1Z4Wsx%A z-~4bo$`*^1qviA|O673Xvs8tjK2DWIn*-dK&2A=kr*FiobFBjBe^SmJUM?u7IJM&< zu4{%GavvKRsKvM~sLp1$T2dd0f5IJpNH321J~cIl+r4s_`(&nA*Z(v;5a=#c)&E4n zd4o;Be_U-A&%LWN`GXtt2Oi;f@m(FtbVHvisTz{(v@1BOrg;m|!1DA3oz?*B+V`dq z)*;gM2H4Xrtp?cS4Mf46rxa@#@+`T-VpjwhQ?QvwyH(o0!JGDV8qySwVJentn@X3- zoar$%7A>`+pBi(hl(jG`kbWH!YAaXgeQH@O1IS`j6sq`E^WI2HvDNibJsi7lb}diT z1PWrgie#@yVe>5K1qy0RiDYZ7dHzzB}V+hbl8lPUNlCifn<%F8{*VOgdVW$(h2nl zBEbe{;8?AdfUvZ2u0;}<&xcYqAu}SIXcvXvw2PLf61gh-LKM7scd#qxld{|>NwfyO zgF+u$?1X#pMQYa_>B^)dtKfn@G2~dH!i&ikn}nJ3v2?`Q`#>vI1^(;-Q?mk`%Sb~f ztlmjrKIJYp)%<+YP9Ts$YM-5=%(pI<0`5iyJ`1no)2!$ww9$2J6=S<^&3!%s)`j!a z(-dSMA;SO(tdRpi13uB$P&MSo#|ja@OZ;HoLML+Q=COiTR)+a%^~Du{pw`8qV|0OA zxWVU)4ZG;3Je(>L1|1gU+2rYYTPIY7Eez&pg34&x%2Ews#L!aJ90uj@{sRJZ#FNCt zWeTWq4n{(xO9~1+M`58tT&Qu~S)pQW6vX!7j%oRE<=6d?S{7N05I1_XJi+rJO{8QW zpv{H}r$~s5r-#SRWh|kv%+CBGz6jj4xxs-Ww5Es#$DXBuW;LPOt*p$Fxbei;vQ#)| zETzvjHEE~Mrl2-llq4JCi!FYa9^zQ%%0fYqv?ZW2OF&iKk_Q$Ey@n98=nRxTmt!Kj zQfM`(s#B>dS9^{JFxo{QnI>S@t9Qc=V9F0hR2njTJ$$$vOb?YY9@xUM#3Tq1r<~eW7g2*NQmoUs?=%>wx&pvYQNNM>?X<)Go|uG z-^9w~rhd-ZxO#4JRh;~F!x(JEr*NvyIj7|n0T43Z5#nSt)T=w|L`-VOt?>i+9=adk zwzSkNCxmIOuk=C;PM9C>8w(#krnS3FDK47xbiOA4!PvKE;2DvLO|j)fzpx$-N(;)*B~Y5kw95| zZ2ZYS`Y$*shzh=Kv2FM*c{ifI;9TyB*;3O73#_ zVjlEQS2uu4A^woD0!lN5k!O9M6#hUsCX(S)fa}AnE{aOMEeh2R|8kPOQWUs9cptd*K7Ko$U;0mQlB$;=C?-!wkK0sV26`#!1K~X6VGsLH-3az`L|EydFsN zHt?abODH3(2E0UOYZt69c2qtOIW5>xC#MRntZr#LS%|cx+?W1TNqc=xQD3;%ys<4`W-i0|DL?<#oOnwt%^;@PtB=SFLSmGNhVZcwr>I=|H;mc_o> z%c<~F9Y-C#)Ie2qzgM#+*(OoXttD+hU98&p%BXmVBV>(?cq->>_GlMfN*^b)NxA_S zW>1@NaQ01-{7IeOoATVE#jetB*6s@U zzOt{ZmAJ>wbYvP8S$oEf-;WU*ta@(UX3hTA*}i>>CGV`rlHsxOo8AM>8xS2@2u^4T z`sL<9kF3nuGOk0pT;2tzfilM_{Qe<-n*go$(~%aJ3XT?I46DI|W3jRfRx=L!6x7T8 zsFz<82wqVE?re+j`$c43RbDRzgH4l3(%Xz9iYWz;@0`PHmh4l7XhROT&ZQ1xN*Hay9RBW zsUY51ZojN2Ga37MI2E@+S_gVvV=f9uxij4NB4tolcLWDr#_m+j1RQj(+Z_AELQ}@D z?F8=A_9_@#ron!FYZhvD>I<#ydx)KyFCZCt!0^w7!X>laMb42Tvmb`|FtfmA?O3ul z!SE>MDlEX#Tw_vKl3dQbCZy-t=4ZFMo+&lTCY}?R4mp#$8a9T|IWXX>Y26pFY8+=L za|ycA@w*h+6Ag5LfgR|uK~hrncMK(}t`}`^cj#S}N(a0(KG;BLh-8(1 z<**MB7F4EzekzRtu~y&xSFcX^G7FeX{E)}`M1nFKl2AZM59#c*Rg~pK(iAjQw2W8> z!fq)qP&cEux4+kO?i>sd3t{kwg>0);Z>9R$-DlkSW4haUvnZO zQXd3t0wcLwp)p;NJFtkpl^E3>`Sn)ZN4PfC~h|Pk7mg=R(`O%e`*KcCU)i z$*x!pqcBUub3cEmbV`_r=x1rFI4d+rU!J|ae5C`nlU|9U*JqN+8m?Q(`%!;vq^__q zQ;6dB8`7~*Xc-w!!yR7J5Tz#WZZ6G1NWhe{8i#v0;cF*P+0~(;4_-v4b_&8R4s1VI z`*}j|*YpcrdfxA9T%&!Uhc3Vi0&Zmnmxl>XN#Hz=;rYD6?-enX5UE0~gR`lugQ*t2 zmQ9kK7~l1>99Fi*+Y3p12zG3JpZikr%Q!)FyRM;!(x!&e$L2IN<0cx$%ff~;_DMsE zAa3gAW80CIz^n5c2)Ur)m>lC}q6d}z3FQH*-EWC6(X=>`#NMy*f#lZ@N0gSNSa88w z2u&*RA!Xg8)+xhx2v&KqQ3ANcWF9~J1lUpMe|%P>7Ldu^*=LTiL|z22FLfKz;|Gy1 zlT}Fh+cVI4#n1}}mSmjr;}SD?@JUYRuB2yt6%~rub;G2J_J1~ePeI-UYRZ7xx0wsQQ|@?DbQPHDxp=v9lrP1EsGNYlYnM7 z1JgU_gy!%B{N`!NG2Wa3FO%jL@wCqL*bRTJwBGD!r%qai!sX%wwiCdMV|vS#ka0j} z(t1(f#4l(jeiczP(}?(*cc#4`9m^mISoHx!Q0)7E#K2$rfW9%vf5Gox+qXV=Gy*C0Vj%jgTd# zwAdpeB>Ph2%1$YgUGqDmaqGEt?|uB9-}C$HzR#TbzUOn!dCxN6?>X<8=X>6_w*2>* zT_0}k`oMi{o>l#pmaV6N@zHY5FqMVdVWQ#E!Kw$ak`o0LRj2j7z*jgXXzQX*4o6tz z_vi8*X1NmC&~VJ&rKo{l>tN_OpTXrjQ6CNI2X2eNT&Ov?Vg46n{Swj{ij()a zLv)mB%Y4rP6Vp5_+&bMg~mU_F-Iu698-)~;Ku`=y%WdEgyjgB`df$eaN*4MZBBQw3@ z;!<)e7A~rR%u?y?XuZoq#S){V zMQ`q8ZSN0r$Y6cokwi27p~=YM3~VL?lb-$Z0VXMlrz5KVO3cV7aS6PnjFc^nSANUd#8PT8nur@*|k}}5O)xBb`&`z%7JPb!up0)Q0$jGE*q2CEh$t3l8 zo{~^R3Uw73+Pm1i&Ow%o*ejUOM}9%#>QrR}7P))|?RH2`gx)=;7xVOk<=Wywg{ktv zxRB&!UCEw;Dq-6%cg3UOzF8*YMwiOAgbSWWFD*~*N`nvEb-hJJl@wB_?wt`VRG^ug zWM9&|`W{BXnqYdbG{BFWN$Z}-fdCc9mqXOwf9^?@NBy$HIkDXljn!fW5r#<2`^KUr%z_tN*NYUoj%Dk zgqCOS2h8HQ|KV==&XMO{{y+flhX>hcgq(g^vmCIy|b2b8JdC7ad*L za?Yrjb?K(6gN58mfxo!&Zg!XH!eg)6+`JX|xr1cVEYE(4@<_|duk`JIB@!9WV9M!N z(c9?l({UnsA15*U*r7?q;UlKB2FQ~}1ES4GHD+~HWmyi~Y+}KV*v0%l`q2bBg65yK z7i{V(U^rxT!#}tprDK;LqSJ#*0E2wyen3o3$M~e5z$zVmB)bv6tyW|HmZGk9 zuK2#hBfibr#fT8ixPme!C#gt>6lbpC!+L`Q)%vyLP9FMVzPTaWQcvs&x!q}_y%ocmOk#)0O0=oG~~wZB9AI;UEONs^e@ z$W`+;I#U@#w!>nSb}}L36+T)Xbm^13k!4G7=|X2V_DtK zPCA);m5q(mBqc70Uyu@$OS6h)9pW^JWfhuM>oX>Lm}|UiO44Ymc~qk`r}}hlG?I{} zfSFelaNYeDy}F|z7M^uJery`!BmRCI9_2mH?x;S_W^ySy4fABRn-KIU_#?OvU25kB4B)*@W?$SMu9=rGzS zt$y(EdUBs>6Qs{jYYDzpmpw^jIS_uxHiRJ9 zFQq!(TtgImD@6CZPhZmKc2}E=g9|N5nHT9!o_%#-vGzANJvtA@@{!Jq18vElOZIuN z>{UM1Ld#`fy>smHuE;DDlHIO4;v-_8O6L@J^qnTgifz2%!~pe-Y3y$lHmu^Oj7zOc z+FhOBOuujCsy5uybQ*I?@1|FFRY-2;5G*~k^-nekR zwK`Gt)4@*WXkO!Xm6sWr8U{|>Du9!o&kRlY;7~$8$|BQAuX|BXGqx(jAVU}=X^9zA zMJ*_UU&X8>+X15$TcrvZcauzwq57If%iY|8g44S} zwd$JmuvUNim$`n6YQqoroWE+U7v(FM>-XaRcKo&LPPs~D*PVz^y=>c!>DL-(gCy~* zq3Oe+uQX-(d4JRMyu+~dto3ZKhzjZDr+M)5Q{5JHp;B7}|GVd`xI+EUs@L0kP0#91 zM(`iG;GcbV#8Ad5V_xthPYg@k(Dp?2G2WcocN|jG;g^PwcJk~JsF}d;=1dG_kr}C) zNOV0<8}20id@@HPsxDA;+B_V6Ra|Z_XG+)0u<+mSevX)U-BI7OkAo1=+LwGuVf@Qj zzx;WyVs|EMX=J`O3Ea%I;bsX7J zU9YgbWNs;e?-`qwNvpeG&Tzfk>~mleQIxeH_47@?lf)#UxZpfx`7dtA1DCs7_kY1v zahJq@Anw3h+2w= zfdO*@>p~F9X3l2c3PKDPVuwUUB}EU3Gmr|ywr$nKnOXAf=F@ky2aJfltA)MUMbH*f zRlv$0kS7KMrv1prPf2HDH)y>vObnW4?!bENpUP1K6Nkkc83CUR?E&9$B*Ta6#0T*~ z9P1pZlm8F;3!9Ap1Nd9({|AEpLd3uF|6*Xs@W12p@A&-v2>gBOzxU7oc6{o)x*!T* zfE^E$)^0z?n#490NAqaf-vO|@R z_1ilQ_=F)UdWfExWUZGHqJu$n&#IaLTV7SYS@~=blpc7M9fD5C?LY{1rAa-tuYX{W-R+_lz zY=VOHCALh~Re=@0rJ!W9@_`NH05?|_3N9Lm8R!wUHPN%H!PMKJsby4qzifG_CNCQV zl$Y8k_h}%gqUhmfj|0WEM{p8_fr(3}tqS^1^3Y=q^yu)+IAQjGzhxM1y2Rz_&rrw&Kzj2u4RJF59ep zprhs2XWgmFE$?oQ%_BT&Xv}(?Q~rYRv>`jMAmKq_aoK~m{M${nrCp%@(#Hv#m0#L? zkEB7w7{$l7|w;1s<`agy8P3$D5T;oFy(y5F0A{I~qrw zFL-%*y4AlZ?&^7#m7Aolry3F$n*Q)kc}w}7CwJ;Qo4Ve;-L(8UB5{WFx#}Kv<7!}a zNx_@0>URUpjZM#U3iGs0bj@5Xa;vjH5oZ@jcG=15?T^3UKk#4ImKH%B%Y%cxco#?f zMTcNtuc*)C-A~~0^I1du2zPX@7H0N# z9#&xg1nvK0SH}EpS4Is^+-RFQSdp{SY-A?a!baXH+S`j@a4t?3R%l0icaXOA4><^E zC#meW_JR}yv_M*7Nr5#TT)~bD%s}f9Bo25IA)rC{8d!;AzD3u+N!HwbNZcQiND)9E zIapaq*EKi_uCGt2068+e0#P9IAL$qnDZdfk>q^RzLI;)fdLWf1$pjaWXM+&HO9{<6 zd}0#zqu!h2%%;8sD^70FGooTIk?kFhJCE3X6?bHbPIwV5tQ2=_#n_0twI)(F>u_|1 zmg((w>PdD zwEJCb-lJgaKGgkX!a)_;Hs#zNk(u~2*84&zaivK|kMuPUEaptOvxH-Ju$(i`*DAV^ z+{+mo7VpXOVM13C>pPezh7!LOGK$f?o#5%CMr)}{h)X#7Iv%?-8uczoeX=d3a_#H6 ztZuS9>OYzqW^|DiNN{sVm=24M zj9`~Zo)3!gnXqq1^oORa&ATwG`YZ>WN>423rsUE=$Tvr?U`ei3Xd1a^6WHry@W zMvNoJzMcZE0d>D72|}sTMaL`Z5gpZ^y#wIs(y4iqe9?P;>j<;`&8u%Bbyzp?^wsuY ztPPA-W>zu!eS7$<$g7rJhqe0JdUgcVeX6z$Bb3IM5v&XK5?u%ShE3Q-mP188>u7jN z^Gwp6kqB(jP`^ru@!evi?U!v?)|lFx(m9j;s{B}Jl+laBcT3EpZq=Q*a$Z(4>Ro1u zE$_pZ#!;50xA^8>WhkuXC}x@nj~HKDD)GU%*3H6nm-Voxv&MO!>9>0HUqy=d&fW~p zXIXH)tNCU!!eQCs4Q*Y7IayBb0y3@Wgl_3c&heas)i!&oQV$oKI*{_ga>TOv}~A8~So_Gq0{eq*pp+uhLF z|9UNZYr>THain6&G1S%S*fl<7YQ`aG#U{NRE%Y-PKTdh&4kj2k5GHndQwFQfaTuhWS@R#u;xKJz zALq0zu^-uvzuU!sBR;JA=)gQfihSLq)Hr4R;!@;qTy<5W+0u)+GY%Jdy5$@TPctkT zDHu$fn^rdTXvE|bh}U}M12muCUY}Roz@$d4^ zL-PFr2qvnB#i){bW#9m5-6$Qvjg-*Z-#mvvFndjus~tIykD{^;@M%RNSTqK!w^245 z1qzVyGCK=o5fGIIe?HA@kz~ zI?CiWz*jX<=9b@Z3T9v-kDQ-EKv8)kKZT?L3X37<(NxBgJ)b}nXSDQD%4FPG4TZsy z`5+xVEFYOqG*H5l>!K(;j#W@3<2B!|KYx=~bW%bFITi5(_GF{P4_N&#u$G@OnC34q zpI=}-KVxu`Ta0!3UN6-dGPJJ#f8(ia$=DBm#;EXQjN*r~<7DiIz99w380GhTv>W}P z`i{~2kn>T0#~4M)7|nN#X`?LiJGRA(oR9W9#=4)3(S66*`pDQ1ePiD!`vb;9y6@NN zds!Z~Utm1HzzToH40L{h8U2h|mi+?z*FUta$=^n V;jB#Q2WMpm_%Q3f&4BZ@{{ZmK87=?- literal 0 HcmV?d00001 diff --git a/Legacy/TF_Control/configs/AMR_config.txt b/Legacy/TF_Control/configs/AMR_config.txt new file mode 100644 index 0000000..d0ff8f8 --- /dev/null +++ b/Legacy/TF_Control/configs/AMR_config.txt @@ -0,0 +1 @@ +15 2.0 0.1 D:\Data\TF_CRAFT_2025-07-03\AMR_Calibration diff --git a/Legacy/TF_Control/configs/Automation_Measurement_config.txt b/Legacy/TF_Control/configs/Automation_Measurement_config.txt new file mode 100644 index 0000000..6c0ffdb --- /dev/null +++ b/Legacy/TF_Control/configs/Automation_Measurement_config.txt @@ -0,0 +1 @@ +0.0 0.32 0.02 0.0 -100.0 50.0 12.0 9.3 9.5 0.15 -100.0 0.03 300.0 4.0 0.05 15.0 300.0 20.0 0 D:\Data\TF_CRAFT_2025-07-03\points D:\TF_control\configs\Bext_compensation_data\Bext_Test.txt False 0 diff --git a/Legacy/TF_Control/configs/B_Field_Compensation_config.txt b/Legacy/TF_Control/configs/B_Field_Compensation_config.txt new file mode 100644 index 0000000..aa63c73 --- /dev/null +++ b/Legacy/TF_Control/configs/B_Field_Compensation_config.txt @@ -0,0 +1 @@ +0.0 -100.0 0.0 0.05 10.0 1.0 134.0 92.9 92.9 237.0 319.0 True True 3 diff --git a/Legacy/TF_Control/configs/Bext_compensation_data/Bext_Test.txt b/Legacy/TF_Control/configs/Bext_compensation_data/Bext_Test.txt new file mode 100644 index 0000000..6016485 --- /dev/null +++ b/Legacy/TF_Control/configs/Bext_compensation_data/Bext_Test.txt @@ -0,0 +1 @@ +[[[0, 0, 0], [0.3690559701492537, 0.04218299246501614, 0.0, 0.005305485232067509], [false, true, false]], [[0, -100.0, 0], [0.3704238805970149, 1.108686759956943, 0.0, 0.004224050632911393], [false, true, false]]] \ No newline at end of file diff --git a/Legacy/TF_Control/configs/Main_config.txt b/Legacy/TF_Control/configs/Main_config.txt new file mode 100644 index 0000000..731dcba --- /dev/null +++ b/Legacy/TF_Control/configs/Main_config.txt @@ -0,0 +1 @@ +0.1 1.0 100 3600 20.0 20.0 75.0 75.0 12.0 12.0 10.0 0 7 0.03 0.0 2.5 0.3 0.0 2.5 0.3 0.0 0.0 -100.0 0.0 0.36 0.05 0.003 0.36 1.117 0.002 0.219 0.333 0.064 D:\Data\TF_CRAFT_2025-07-03\monitoring.txt True True False False False False False False True True True True True True True False True False False True False False True True diff --git a/Legacy/TF_Control/configs/evaporate_LN2.txt b/Legacy/TF_Control/configs/evaporate_LN2.txt new file mode 100644 index 0000000..3737546 --- /dev/null +++ b/Legacy/TF_Control/configs/evaporate_LN2.txt @@ -0,0 +1 @@ +200.0 10.0 False diff --git a/Legacy/TF_Control/configs/evaporate_LN2_config.txt b/Legacy/TF_Control/configs/evaporate_LN2_config.txt new file mode 100644 index 0000000..2bde1da --- /dev/null +++ b/Legacy/TF_Control/configs/evaporate_LN2_config.txt @@ -0,0 +1 @@ +200.0 1.0 False diff --git a/Legacy/TF_Control/configs/imc_Cernox_calibr_CRAFT_config.txt b/Legacy/TF_Control/configs/imc_Cernox_calibr_CRAFT_config.txt new file mode 100644 index 0000000..ca4e916 --- /dev/null +++ b/Legacy/TF_Control/configs/imc_Cernox_calibr_CRAFT_config.txt @@ -0,0 +1 @@ +4.0 19.0 0.5 60.0 5.0 3.0 0.0 D:\Data\TF_CRAFT_2025-07-03\Cernox_Calibration False 0 diff --git a/Legacy/TF_Control/configs/result_window_config.txt b/Legacy/TF_Control/configs/result_window_config.txt new file mode 100644 index 0000000..2d3a4d6 --- /dev/null +++ b/Legacy/TF_Control/configs/result_window_config.txt @@ -0,0 +1 @@ + D:\Data\TF_2025-02-25\points 0 -1 0.0 0.0 0.0 0.0 diff --git a/Legacy/TF_Control/data_analysis/.DS_Store b/Legacy/TF_Control/data_analysis/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..635815a97e53f8b0dc88f24bf645f822adabc195 GIT binary patch literal 6148 zcmeHKOHRWu5FLj~DWZ!mS^5gyu?$r>K@R|G0|hCmD^=`sBo4re4cFi(y!lWOB|)qZ zpc!fWobil3dA2e!5rySrwIG@k(G<#a{GRFgL=}>PMt4->8yWux7 zz}fRavYtzNrTyr`giiq-;j!nGvEw31Am4A)NGdNnWDGOfHU9> z92wy6LxeIGhOMG}I?%`!062kJ1bz9314cFg3&U0s7D&)gpoRv!VgwC`J(^!(*eYr` z1z8#M*vi3fC_z?-J&HSpLeX1iz!~T=aH5ZMuK!o#_y2B?KRE-=z`tT3Ov+Wc#4A~C w?Y$h=+6cXYvanyPcnm>DN-=!76rV#yV2|7Z7KW`NED-+@5E{I327Z)*cdXG)VE_OC literal 0 HcmV?d00001 diff --git a/Legacy/TF_Control/data_analysis/Analyse cooldowns.py b/Legacy/TF_Control/data_analysis/Analyse cooldowns.py new file mode 100644 index 0000000..839cb07 --- /dev/null +++ b/Legacy/TF_Control/data_analysis/Analyse cooldowns.py @@ -0,0 +1,909 @@ +from PyQt6.QtGui import * +from PyQt6.QtWidgets import * +from PyQt6.QtCore import * + +import multiprocessing +import multiprocessing.managers + +import time +import traceback,sys,os +import pickle +import numpy as np +import pyqtgraph as pg + +# Get the current script's directory +current_dir = os.path.dirname(os.path.abspath(__file__)) +# Get the parent directory by going one level up +parent_dir = os.path.dirname(current_dir) +# Add the parent directory to sys.path +sys.path.append(parent_dir) +from scripts import import_txt, analyse_cooldown_tools +from design_files.Analyse_cooldown_design import Ui_MainWindow +from Raw_data import RawdataWindow + + +class WorkerSignals(QObject): + ''' + Defines the signals available from a running worker thread. + Supported signals are: + finished: No data + error: tuple (exctype, value, traceback.format_exc() ) + result: object data returned from processing, anything + progress: int indicating % progress + ''' + finished = pyqtSignal() + error = pyqtSignal(tuple) + result = pyqtSignal(object) + progress = pyqtSignal(list) + + +class Worker(QRunnable): + ''' + Worker thread + Inherits from QRunnable to handler worker thread setup, signals and wrap-up. + :param callback: The function callback to run on this worker thread. Supplied args and + kwargs will be passed through to the runner. + :type callback: function + :param args: Arguments to pass to the callback function + :param kwargs: Keywords to pass to the callback function + ''' + + def __init__(self, fn, *args, **kwargs): + super(Worker, self).__init__() + + # Store constructor arguments (re-used for processing) + self.fn = fn + self.args = args + self.kwargs = kwargs + self.signals = WorkerSignals() + + # Add the callback to our kwargs + self.kwargs['progress_callback'] = self.signals.progress + + @pyqtSlot() + def run(self): + ''' + Initialise the runner function with passed args, kwargs. + ''' + + # Retrieve args/kwargs here; and fire processing using them + try: + result = self.fn(*self.args, **self.kwargs) + except: + traceback.print_exc() + exctype, value = sys.exc_info()[:2] + self.signals.error.emit((exctype, value, traceback.format_exc())) + else: + self.signals.result.emit(result) # Return the result of the processing + finally: + self.signals.finished.emit() # Done + +class cooldown(): + '''Contains the metadata of a cooldown''' + def __init__(self,times:list, gradient:float, av_gradient:list, loc_gradient:list, + trans_time:float, rate:list, rate_loc:list, indixes:list, B_start:list, + B_expelled:list, B_trapped:list, WM:list, good:bool): + self.times:list = times #list of times: strart_ramp, stop_ramp, save button_pressed + self.gradient_glob:float = gradient #global gradient obtained between sensor 1 and 8 + self.gradient_average:list = av_gradient #average of all local gradients, second list element is error + self.gradient_local:list = loc_gradient #list of all local gradients + self.trans_time:float = trans_time #transition time + self.rate:list = rate #average cooldown rate of all local cooldown rates with error + self.rate_local:list = rate_loc #list of all local cooldown rates + self.indixes:list = indixes #list of indixes at which cernox sensors reach + self.B_start:list = B_start #start field from fluxgate. List contains four entries: [Bx, By, Bz, |B|] + self.B_expelled:list = B_expelled #expelled field from AMR senors. List containts 60 entries: [15xBx, 15xBy, 15xBz, 15x|B|] + self.B_trapped:list = B_trapped #trapped field from AMR senors. List contains 60 entries: [15xBx, 15xBy, 15xBz, 15x|B|] + self.WM:list = WM #wave magnitude. List contains three entries: [WM_x, WM_y, WM_z] + self.good:bool = good #whether the cooldown was good or not + + +def get_float(Qline,default = 0): #gets value from QLineEdit and converts it to float. If text is empty or cannot be converted, it returns "default" which is 0, if not specified + try: + out = float(Qline.text()) + except: + out = default + return(out) + +def find_index_of_first_equal_to(lst, value): + '''Finds the index of the first element in a list that is equal to a given value. Returns -1 if no such element is found.''' + return next((i for i, x in enumerate(lst) if x == value), np.nan) + +class MainWindow(QMainWindow, Ui_MainWindow): + def __init__(self, *args, **kwargs): + # Get the current script's directory + self.current_dir = os.path.dirname(os.path.abspath(__file__)) + # Get the parent directory by going one level up + self.parent_dir = os.path.dirname(current_dir) + + + #import Gui from QT designer file + super(MainWindow, self).__init__(*args, **kwargs) + self.setupUi(self) + + #setup plot + self.graphWidget_B.setBackground('w') + self.graphWidget_B.setTitle("Trapped flux vs. B-field") + self.graphWidget_B.setLabel('bottom', 'B_y (µT)') + self.graphWidget_B.setLabel('left', 'Trapped flux (µT)') + self.graphWidget_B.showGrid(x = True, y = True) + + + self.graphWidget_Gradient.setBackground('w') + self.graphWidget_Gradient.setTitle("Trapped flux vs. temperature gradient") + self.graphWidget_Gradient.setLabel('bottom', 'Temperature gradient (K/cm)') + self.graphWidget_Gradient.setLabel('left', 'Trapped flux (µT)') + self.graphWidget_Gradient.showGrid(x = True, y = True) + + self.graphWidget_CooldownSpeed.setBackground('w') + self.graphWidget_CooldownSpeed.setTitle("Trapped flux vs. cooldown speed (K/s)") + self.graphWidget_CooldownSpeed.setLabel('bottom', 'Cooldown speed (K/s)') + self.graphWidget_CooldownSpeed.setLabel('left', 'Trapped flux (µT)') + self.graphWidget_CooldownSpeed.showGrid(x = True, y = True) + + self.graphWidget_transitiontime.setBackground('w') + self.graphWidget_transitiontime.setTitle("Trapped flux vs. transition time (s)") + self.graphWidget_transitiontime.setLabel('bottom', 'transition time (s)') + self.graphWidget_transitiontime.setLabel('left', 'Trapped flux (µT)') + self.graphWidget_transitiontime.showGrid(x = True, y = True) + + self.graphWidget_WM_x.setBackground('w') + self.graphWidget_WM_x.setTitle("Wave Amplitude X vs. transition time (K/s)") + self.graphWidget_WM_x.setLabel('bottom', 'transition time (K/s)') + self.graphWidget_WM_x.setLabel('left', 'Trapped flux (µT)') + self.graphWidget_WM_x.showGrid(x = True, y = True) + + self.graphWidget_WM_y.setBackground('w') + self.graphWidget_WM_y.setTitle("Wave Amplitude Y vs. transition time (K/s)") + self.graphWidget_WM_y.setLabel('bottom', 'transition time (K/s)') + self.graphWidget_WM_y.setLabel('left', 'Trapped flux (µT)') + self.graphWidget_WM_y.showGrid(x = True, y = True) + + self.graphWidget_WM_z.setBackground('w') + self.graphWidget_WM_z.setTitle("Wave Amplitude Z vs. transition time (K/s)") + self.graphWidget_WM_z.setLabel('bottom', 'transition time (K/s)') + self.graphWidget_WM_z.setLabel('left', 'Trapped flux (µT)') + self.graphWidget_WM_z.showGrid(x = True, y = True) + + self.graphWidget_free.setBackground('w') + self.graphWidget_free.setTitle("") + self.graphWidget_free.setLabel('bottom', '') + self.graphWidget_free.setLabel('left', '') + + + pen1 = pg.mkPen(color=(255, 255, 255), width=2) + # create some dummy data + x = np.array([0, 1, 2, 3, 4]) + y = np.array([2, 4, 6, 8, 10]) + y_err = np.array([0.5, 1, 1.5, 2, 2.5]) + + # create an error bar item + self.err_B = pg.ErrorBarItem(x=x, y=y, top=y_err, bottom=y_err, pen=pg.mkPen('k', width=1)) + self.err_Gradient = pg.ErrorBarItem(x=x, y=y, left=y_err, right=y_err, top = y_err, bottom=y_err, pen=pg.mkPen('k', width=1)) + self.err_CooldownSpeed = pg.ErrorBarItem(x=x, y=y, left=y_err, right=y_err, top = y_err, bottom=y_err, pen=pg.mkPen('k', width=1)) + self.err_transitionTime = pg.ErrorBarItem(x=x, y=y, top = y_err, bottom=y_err, pen=pg.mkPen('k', width=1)) + + # add the error bar item to the plot + self.graphWidget_B.addItem(self.err_B) + self.graphWidget_Gradient.addItem(self.err_Gradient) + self.graphWidget_CooldownSpeed.addItem(self.err_CooldownSpeed) + self.graphWidget_transitiontime.addItem(self.err_transitionTime) + + # create a scatter plot with markers + self.scatter_B = pg.ScatterPlotItem(x=x, y=y, pen=None, symbol ='x', size=10) + self.scatter_Gradient = pg.ScatterPlotItem(x=x, y=y, pen=None, symbol ='x', size=10) + self.scatter_CooldownSpeed = pg.ScatterPlotItem(x=x, y=y, pen=None, symbol ='x', size=10) + self.scatter_transitionTime = pg.ScatterPlotItem(x=x, y=y, pen=None, symbol ='x', size=10) + self.scatter_WM_x = pg.ScatterPlotItem(x=x, y=y, pen=None, symbol ='x', size=10) + self.scatter_WM_y = pg.ScatterPlotItem(x=x, y=y, pen=None, symbol ='x', size=10) + self.scatter_WM_z = pg.ScatterPlotItem(x=x, y=y, pen=None, symbol ='x', size=10) + + # add the scatter plot to the plot + self.graphWidget_B.addItem(self.scatter_B) + self.graphWidget_Gradient.addItem(self.scatter_Gradient) + self.graphWidget_CooldownSpeed.addItem(self.scatter_CooldownSpeed) + self.graphWidget_transitiontime.addItem(self.scatter_transitionTime) + self.graphWidget_WM_x.addItem(self.scatter_WM_x) + self.graphWidget_WM_y.addItem(self.scatter_WM_y) + self.graphWidget_WM_z.addItem(self.scatter_WM_z) + + #set up pyQT threadpool + self.threadpool = QThreadPool() + + #define signals and slots + + self.actionSet_default.triggered.connect(self.set_default) + self.actionReset_default.triggered.connect(self.read_default) + self.button_refresh_summary.clicked.connect(self.refresh_points_list) + self.button_refresh_summary.clicked.connect(self.refresh_data_list) + self.button_refresh_raw.clicked.connect(self.refresh_data_list) + self.button_refresh_raw.clicked.connect(self.refresh_points_list) + self.listWidget_files_summary.itemSelectionChanged.connect(self.list_changed) + self.listWidget_files_raw.itemSelectionChanged.connect(self.list_changed) + self.button_select_all_summary.clicked.connect(self.select_all) + self.button_select_all_raw.clicked.connect(self.select_all_raw) + self.button_select_all_points.clicked.connect(self.select_all_points) + self.button_clear_points.clicked.connect(self.clear_points) + self.comboBox_plot_settings.currentIndexChanged.connect(self.set_plot_settings) + # self.comboBox_select_sensor.currentIndexChanged.connect(self.update_plots) + # self.line_Plot_B_Field.editingFinished.connect(self.update_plots) + # self.line_Plot_T_Gradients.editingFinished.connect(self.update_plots) + # self.line_Plot_B_Field.editingFinished.connect(self.update_plots) + self.listWidget_points.itemSelectionChanged.connect(self.update_plots) + self.button_import.clicked.connect(self.import_data) + self.button_start_analysis.clicked.connect(self.start_analysis) + self.button_select_good_points.clicked.connect(self.select_good_points) + self.button_save_cooldowns.clicked.connect(self.save_cooldowns) + self.button_import_cd.clicked.connect(self.load_cooldowns) + self.button_update_plots.clicked.connect(self.update_plots) + self.button_export_points.clicked.connect(self.export_acitve_points) + + self.dSB_Plot_B_Field_Tolerance.valueChanged.connect(self.set_Tolerances) + self.dSB_Plot_Cooldown_Speed_Tolerance.valueChanged.connect(self.set_Tolerances) + self.dSB_Plot_T_Gradients_Tolerance.valueChanged.connect(self.set_Tolerances) + self.dSB_Plot_Transition_Time_Tolerance.valueChanged.connect(self.set_Tolerances) + + self.scatter_Gradient.sigClicked.connect(self.find_point_name) + self.scatter_B.sigClicked.connect(self.find_point_name) + self.scatter_CooldownSpeed.sigClicked.connect(self.find_point_name) + self.scatter_transitionTime.sigClicked.connect(self.find_point_name) + + # self.actionSet_default.triggered.connect(self.set_default) + # self.actionReset_default.triggered.connect(self.read_default) + + + + #define constants + self.w = None #constant to keep track of raw data window + self.files_selected = [] #list to keep the selected indices of point files. Is needed to keep the same indices aactived after refreshing. + self.files_selected_raw = [] #list to keep the selected indices of raw files. Is needed to keep the same indices aactived after refreshing. + self.file_path = 0 #File path for loading calibration + self.running = True #true while app is running + self.disable_plot = False #constant to disable plot to improve performance. Is changed by checkbox checkBox_disableplots + self.select_mean_single = 0 #Select if mean value of all absolute AMR-B-fields or a single sensor should be selected. (0: Mean of abs., 1: Abs. of single sensor, 2: Single sensor direction) + self.B_Tolerance = 0 #Tolerance when searching for specific B-fields + self.Gradient_Tolerance = 0 #Tolerance when searching for specific T-Gradients + self.Cooldown_Speed_Tolerance = 0 #Tolerance when searching for specific Cooldown-Speeds + self.row_length = 96 #Standard row-length (#columns) of data_array. This value will be updated in import_data + self.points_list = [] #store all points + self.cooldowns = {} #store cooldowns + self.mcol = ["#0072BD","#D95319","#EDB120","#7E2F8E","#77AC30","#4DBEEE","#A2142F","#0072BD","#D95319","#EDB120","#7E2F8E","#77AC30","#4DBEEE","#A2142F"] #define matlab colors + self.marker = ['x','o','s','t','d','+','p','arrow_up','t1','h','crosshair','t3','star','arrow_down'] + self.dSB_all = [self.dSB_Plot_B_Field_Tolerance, self.dSB_Plot_T_Gradients_Tolerance, + self.dSB_Plot_Cooldown_Speed_Tolerance, self.dSB_Tc, self.dSB_Tc_top, + self.dSB_Tc_bottom]#is used for config file + self.lines_config_strings = [self.line_path_points, self.line_path_data, + self.line_Plot_B_Field, self.line_Plot_T_Gradients, + self.line_Plot_Cooldown_Speed, self.line_Plot_Transition_Time]#is used for config file + self.checkboxes_config = [self.checkBox_C_1, self.checkBox_C__2, self.checkBox_C_3, + self.checkBox_C_4, self.checkBox_C_5, self.checkBox_C_6, + self.checkBox_C_7, self.checkBox_C_8, self.checkBox_CRAFT]#is used for config file + self.combobox_config = [self.comboBox_plot_settings]#is used for config file + self.decided = True #constant which is set to true after a decision is made whether a cooldown is good or bad. This is needed for self.analyze_cooldown() to know if next cooldown can be analysed + + + #read default values from config and set them in gui + self.read_default() + + #open raw data window + if self.w is None: + self.w = RawdataWindow() + self.w.show() + + def refresh_points_list(self): + #imports data from folder and fills list. After it is finished it calls update_plots + path = self.line_path_points.text() + try: #if path does not exists nothing is plotted + files = os.listdir(path) + except: + print('Error: Please enter valid path') + return + self.data = {} + selected = self.files_selected #store old selected items so it not overwritten when new data is set in list + self.listWidget_files_summary.clear() + + #store data from all files in data + for p in files: + # [header,data_arr,times] = import_txt.read_w2dates(path+'\\'+p, '%Y-%m-%d_%H-%M-%S',delim = '\t') + # self.data[f"{p}"] = [header[0],data_arr,time] #header is list in list, therefore, header[0] + self.listWidget_files_summary.addItem(f"{p}") #put files in list + + #fill file list and check the one previously checked + for i in selected: + self.listWidget_files_summary.setCurrentIndex(i) + + if files != []: + try: + self.row_length = len(self.data[f"{files[0]}"][1][0,:]) #Update row length (# columns) of data array. Until now its value is 96 + except: + print("File "+str(files[0])+" is empty.") + + # if selected != []: #Update plots automatically when refreshing / reloading updated measurements + # self.update_plots() + + def refresh_data_list(self): + #imports data from folder and fills list. After it is finished it calls update_plots + path = self.line_path_data.text() + try: #if path does not exists nothing is plotted + files = os.listdir(path) + except: + print('Error: Please enter valid path') + return + selected = self.files_selected_raw #store old selected items so it not overwritten when new data is set in list + self.listWidget_files_raw.clear() + + #store data from all files in data + for p in files: + # [header,data_arr,times] = import_txt.read_w2dates(path+'\\'+p, '%Y-%m-%d_%H-%M-%S',delim = '\t') + # self.data[f"{p}"] = [header[0],data_arr,time] #header is list in list, therefore, header[0] + self.listWidget_files_raw.addItem(f"{p}") #put files in list + + #fill file list and check the one previously checked + for i in selected: + self.listWidget_files_raw.setCurrentIndex(i) + + if files != []: + try: + self.row_length = len(self.data[f"{files[0]}"][1][0,:]) #Update row length (# columns) of data array. Until now its value is 96 + except: + print("File "+str(files[0])+" is empty.") + + # if selected != []: #Update plots automatically when refreshing / reloading updated measurements + self.update_plots() + + def import_data(self):#imports data from selected files + + #import points from files + self.points_list = [] #clear list + for s in self.files_selected: + path = self.line_path_points.text() + '\\' + s.data() + [header,data_arr,times] = import_txt.read_w3dates(path, '%Y-%m-%d_%H-%M-%S',delim = '\t') + self.points_list.extend(times) + + #import "raw" data from files + self.data_list = [] #List to store the data of all raw files + for s in self.files_selected_raw: + path = self.line_path_data.text() + '\\' + s.data() + [header,data,times] = import_txt.read_wdate(path,'timestamp',delim=' ') + boundary_times = [times[0], times[-1]] + self.data_list.append([times,data,boundary_times]) + + #put start times in point List + self.listWidget_points.clear() + for p in self.points_list: + self.listWidget_points.addItem(f"{p[0]}") + + def start_analysis(self): + '''starts self.analyse in a new thread. Is called when "start" button is clicked. ''' + worker_ana = Worker(self.analyse) + worker_ana.signals.progress.connect(self.update_raw_plots) #The values from analyse must be transmitted via a signal, so that the gui is set in the main thread. If the plots are not updated in the main thread, they freeze. + self.threadpool.start(worker_ana) + + def analyse(self,progress_callback): + '''performes analysis of selected cooldowns and emits signal to start update_raw_plots in main thread. Is started in start_analysis.''' + points_selected = self.listWidget_points.selectedIndexes() + #iterate though points + for p in points_selected: + ind = p.row() #get point index + name = p.data() + name.replace(' ','_') + times = self.points_list[ind] #get start and stop times from current point + #select correct data file for the point + for i,l in enumerate(self.data_list): + if times[0] >= l[2][0] and times[0] <= l[2][1]: #check if start time of point lies within the boundary times of the data file + data_ind = i + break + #find start and stop indixes in data file and prepare data + i_start = find_index_of_first_equal_to(self.data_list[data_ind][0], times[0]) + i_stop = find_index_of_first_equal_to(self.data_list[data_ind][0], times[2])+1 #make shure point is included. This is necessary for analyse_B_field. + + time_slice = self.data_list[data_ind][0][i_start:i_stop] + data_slice = self.data_list[data_ind][1][i_start:i_stop,:] + temp_slice = self.data_list[data_ind][1][i_start:i_stop,0:8] + + #preapre list of active cernox sensors for analysis + act_sens = [] #list of active sensors + for i,c in enumerate([self.checkBox_C_1, self.checkBox_C__2, self.checkBox_C_3, + self.checkBox_C_4, self.checkBox_C_5, self.checkBox_C_6, + self.checkBox_C_7, self.checkBox_C_8]): + if c.isChecked() == True: + act_sens.append(i+1) + #perform analysis and discern wether CRAFT was used or mVTS. If CRAFT was used, fits need to be performed with the data + if self.checkBox_CRAFT.isChecked() == False: + [grad_glob, av_grad_glob, e_av_grad_glob, trans_time, av_rate_glob, e_av_rate_glob, + grad_loc, rate_loc, indices] = analyse_cooldown_tools.calc_gradient( + temp_slice,time_slice,act_sens,Tc = self.dSB_Tc.value(),return_indices=True) + [B_start, B_expelled, B_trapped, WM, indices_B] = analyse_cooldown_tools.analyse_B_field(data_slice, time_slice,times) + indices.extend(indices_B) #extend indices with indices from analyse_B_field to plot the times at which the fields are measured + #add cooldown to cooldown dictionary as good cooldown. Whether it is good or bad is updated later in self.accept_points + self.cooldowns[name] = cooldown(times, grad_glob, [av_grad_glob,e_av_grad_glob], grad_loc, + trans_time, [av_rate_glob,e_av_rate_glob], rate_loc, + indices, B_start, B_expelled, B_trapped, WM, True) + progress_callback.emit([time_slice, data_slice, grad_loc, indices, WM, 0, 0, name]) + else: + [grad_glob, av_grad_glob, e_av_grad_glob, trans_time, av_rate_glob, e_av_rate_glob, + grad_loc, rate_loc, indices, popt_T1, popt_T2] = analyse_cooldown_tools.calc_gradient_CRAFT( + temp_slice,time_slice,act_sens,Tc_top = self.dSB_Tc_top.value(), + Tc_bottom = self.dSB_Tc_bottom.value(),return_indices=True) + [B_start, B_expelled, B_trapped, WM, indices_B] = analyse_cooldown_tools.analyse_B_field(data_slice, time_slice,times) + indices.extend(indices_B) #extend indices with indices from analyse_B_field to plot the times at which the fields are measured + #add cooldown to cooldown dictionary as good cooldown. Whether it is good or bad is updated later in self.accept_points + self.cooldowns[name] = cooldown(times, grad_glob, [av_grad_glob,e_av_grad_glob], grad_loc, + trans_time, [av_rate_glob,e_av_rate_glob], rate_loc, + indices, B_start, B_expelled, B_trapped, WM, True) + progress_callback.emit([time_slice, data_slice, grad_loc, indices, WM, popt_T1, popt_T2, act_sens, name]) + + self.decided = False + #wait until decision is made + while self.decided == False: + time.sleep(0.1) + + def update_raw_plots(self,plot_data): + '''updates plots in raw plots window. Is called from self.analyse() by + the emitted signal''' + #make shure raw window is open + self.w.show() + #get T_c, depending on wether CRAFT was used or mVTS + if self.checkBox_CRAFT.isChecked() == False: + T_c = self.dSB_Tc.value() + else: + T_c = [self.dSB_Tc_top.value(), self.dSB_Tc_bottom.value()] + #pass data to rawdataWindow and plot it + self.w.update_plots(plot_data[0],plot_data[1],plot_data[2],plot_data[3],plot_data[4], + plot_data[5], plot_data[6], plot_data[7], T_c) + self.accept_points(plot_data[-1]) + + def accept_points(self,name): + '''Asks the user if a cooldown is good or bad. If Yes, then the cooldown is marked as good. If No, then the cooldown is marked as bad. The method is called after the raw data is plotted''' + button = QMessageBox.question(self, 'Accept points','Accept depicted point?') + if button == QMessageBox.StandardButton.Yes: + self.cooldowns[name].good = True + else: + self.cooldowns[name].good = False + self.decided = True + + def select_good_points(self): + '''Selects all cooldowns that have been marked as good''' + for cd in self.cooldowns: + item = self.listWidget_points.findItems(cd,Qt.MatchFlag.MatchExactly)[0] + item.setSelected(self.cooldowns[cd].good) + + def save_cooldowns(self): + '''Saves cooldowns to pickle file''' + fname = QFileDialog.getSaveFileName(self, 'Open file', r'D:',"*.pickle")[0] + with open(fname, 'wb') as handle: + pickle.dump(self.cooldowns, handle) + + def load_cooldowns(self): + '''Loads cooldowns from pickle file''' + fname = QFileDialog.getOpenFileName(self, 'Open file', r'D:',"*.pickle")[0] + with open(fname, 'rb') as handle: + self.cooldowns.update(pickle.load(handle)) #add cooldowns to existing cooldown dictionary + + #fill in points list from cooldowns + self.listWidget_points.clear() + for cd in self.cooldowns: + self.listWidget_points.addItem(cd) + + def list_changed(self): + #Updates self.files_selected. It is executed when an item in list is selected. + self.files_selected = self.listWidget_files_summary.selectedIndexes() + self.files_selected_raw = self.listWidget_files_raw.selectedIndexes() + + def select_all(self): + #activates all files refreshes. + self.listWidget_files_summary.selectAll() + self.files_selected = self.listWidget_files_summary.selectedIndexes() + self.refresh_points_list() + + def select_all_raw(self): + #activates all files refreshes. + self.listWidget_files_raw.selectAll() + self.files_selected_raw = self.listWidget_files_raw.selectedIndexes() + self.refresh_points_list() + + def select_all_points(self): + '''activates all points. If all are already activates, deactivates all''' + if len(self.listWidget_points.selectedIndexes()) == self.listWidget_points.count(): + self.listWidget_points.clearSelection() + else: + self.listWidget_points.selectAll() + + def clear_points(self): + '''clears list of points and deletes all cooldowns''' + self.listWidget_points.clear() + self.cooldowns = {} + + def update_plots(self): + #create list of names of selected points + names = [] + for i in self.listWidget_points.selectedItems(): + names.append(i.data(0)) + + #create np.arrays of, B_start, gradient, cooldown rate, transition time, B_TF + B_start = np.empty((len(names),4)) + gradient = np.empty((len(names),2)) + rate = np.empty((len(names),2)) + trans_time = np.empty((len(names),1)) + B_TF = np.empty((len(names),60)) + WM_x = np.empty((len(names))) + WM_y = np.empty((len(names))) + WM_z = np.empty((len(names))) + + for i,n in enumerate(names): + if self.checkBox_local_gradient.isChecked() == True: #use local or average gradient + gradient[i,:] = np.array([ + self.cooldowns[n].gradient_local[self.SB_sensor_gradient.value()-1], + self.cooldowns[n].gradient_average[1]]) + else: + gradient[i,:] = self.cooldowns[n].gradient_average + B_start[i,:] = self.cooldowns[n].B_start + rate[i,:] = self.cooldowns[n].rate + trans_time[i] = self.cooldowns[n].trans_time + B_TF[i,:] = self.cooldowns[n].B_trapped + e_B_TF = np.zeros((len(B_TF))) + 2 + WM_x[i] = self.cooldowns[n].WM[0] + WM_y[i] = self.cooldowns[n].WM[1] + WM_z[i] = self.cooldowns[n].WM[2] + + + #Select trapped flux + if self.select_mean_single == 0: #Mean of all absolute values (all sensors) + B_TF = np.mean(B_TF[:,45:], axis = 1) + elif self.select_mean_single == 1: ##Absolute value of one sensor + B_TF = B_TF[:,45+self.comboBox_select_sensor.currentIndex()] + elif self.select_mean_single == 2: #Value of single sensor in one direction + B_TF = B_TF[:,self.comboBox_select_sensor.currentIndex()] + + + #find good "beam size" for error bars. Make this 1 percent of the x or y axis + beam_size_B = (max(B_start[:,1]) - min(B_start[:,1]))/100 + beam_size_gradient = (max(gradient[:,1]) - min(gradient[:,1]))/5 + beam_size_rate = (max(rate[:,1]) - min(rate[:,1]))/5 + beam_size_time = (max(trans_time) - min(trans_time))/100 + + #sort the data according to the three lines and tolerances + #get lists of sorting values + B_sort = self.line_Plot_B_Field.text().split(sep=',') + T_sort = self.line_Plot_T_Gradients.text().split(sep=',') + S_sort = self.line_Plot_Cooldown_Speed.text().split(sep=',') + TT_sort = self.line_Plot_Transition_Time.text().split(sep=',') + if B_sort != ['']: + B_sort = [float(x) for x in B_sort] + if T_sort != ['']: + T_sort = [float(x) for x in T_sort] + if S_sort != ['']: + S_sort = [float(x) for x in S_sort] + if TT_sort != ['']: + TT_sort = [float(x) for x in TT_sort] + + sort = [B_sort,T_sort,S_sort,TT_sort] + tolerances = [self.dSB_Plot_B_Field_Tolerance.value(),self.dSB_Plot_T_Gradients_Tolerance.value(), + self.dSB_Plot_Cooldown_Speed_Tolerance.value(),self.dSB_Plot_Transition_Time_Tolerance.value()] + + #sort out data depending on how the lines are filled. If no line has more than one entry, sort out points that do not fall in the tolerances. If one line has more than one entry, create multiple plots. If more than one line has entries, return error. + ind = [] + lens = I = [len(x) for x in [B_sort,T_sort,S_sort,TT_sort] if len(x) > 1] + if len(lens) == 0: #no line has more than one entry => only sort out points that do not fall in the tolerances + for i,n in enumerate(names): + skip = False #if skip is True, the index will not be appended to ind. Default is False + point_data = [self.cooldowns[n].B_start[1], self.cooldowns[n].gradient_average[0], + self.cooldowns[n].rate[0], self.cooldowns[n].trans_time] #get data of the point which will be compared to the sort values. + for d,s,t in zip(point_data,sort,tolerances): #go through all sorting values, if any condition is not fullfilled the index is not appended to ind + if s != ['']: #check is the sorting value is not empty. If it is empty, the loop iteration is not skipped + if abs(d - s[0]) >= t: #check if the point is within the tolerances + skip = True #only if the point does not fall within the tolerances, skip is set to True and index will not be appended to ind + + if skip == False: + ind.append(i) #append index of points that fall in the tolerances + self.active_points = ind #save indeces of activated points in so it can be used in "find_opint_name" and "export points" + + #plot data + #adjust length of e_B_TF + e_B_TF = e_B_TF[ind] + + #clear graph widgets and add new plots + for i,w in enumerate([self.graphWidget_B, self.graphWidget_Gradient, + self.graphWidget_CooldownSpeed, self.graphWidget_transitiontime, + self.graphWidget_WM_x, self.graphWidget_WM_y, self.graphWidget_WM_z]): + w.clear() + if i == 0: #graph B + self.scatter_B = pg.ScatterPlotItem(x = B_start[ind,1], y = B_TF[ind], pen=pg.mkPen(color = self.mcol[0]), brush = pg.mkBrush(color = self.mcol[0]), symbol ='x', hoverable = True, size = 10) + err = pg.ErrorBarItem(x = B_start[ind,1], y = B_TF[ind], top = e_B_TF, bottom = e_B_TF, pen=pg.mkPen(color = self.mcol[0], width = 2)) + w.addItem(self.scatter_B) + self.scatter_B.sigClicked.connect(self.find_point_name) + elif i == 1: #graph gradient + self.scatter_Gradient = pg.ScatterPlotItem(x = gradient[ind,0],y = B_TF[ind], pen=pg.mkPen(color = self.mcol[0]), brush = pg.mkBrush(color = self.mcol[0]), symbol ='x', hoverable = True, size = 10) + err = pg.ErrorBarItem(x = gradient[ind,0], y = B_TF[ind], left = gradient[ind,1], right = gradient[ind,1], top = e_B_TF, bottom = e_B_TF, pen=pg.mkPen(color = self.mcol[0], width = 2)) + w.addItem(self.scatter_Gradient) + self.scatter_Gradient.sigClicked.connect(self.find_point_name) + elif i == 2: #graph cooldown speed + self.scatter_CooldownSpeed = pg.ScatterPlotItem(x = rate[ind,0], y = B_TF[ind], pen=pg.mkPen(color = self.mcol[0]), brush = pg.mkBrush(color = self.mcol[0]), symbol ='x', hoverable = True, size = 10) + err = pg.ErrorBarItem(x = rate[ind,0], y = B_TF[ind], left = rate[ind,1], right = rate[ind,1], top = e_B_TF, bottom = e_B_TF, pen=pg.mkPen(color = self.mcol[0], width = 2)) + w.addItem(self.scatter_CooldownSpeed) + self.scatter_CooldownSpeed.sigClicked.connect(self.find_point_name) + elif i == 3: #graph transition time + self.scatter_transitionTime = pg.ScatterPlotItem(x = trans_time[ind,0], y = B_TF[ind], pen=pg.mkPen(color = self.mcol[0]), brush = pg.mkBrush(color = self.mcol[0]), symbol ='x', hoverable = True, size = 10) + err = pg.ErrorBarItem(x = trans_time[ind,0], y = B_TF[ind], top = e_B_TF, bottom = e_B_TF, pen=pg.mkPen(color = self.mcol[0], width = 2)) + w.addItem(self.scatter_transitionTime) + self.scatter_transitionTime.sigClicked.connect(self.find_point_name) + elif i == 4: #graph wavemagnitude x + self.scatter_WM_x = pg.ScatterPlotItem(x = trans_time[ind,0], y = WM_x[ind], pen=pg.mkPen(color = self.mcol[0]), brush = pg.mkBrush(color = self.mcol[0]), symbol ='x', hoverable = True, size = 10) + w.addItem(self.scatter_WM_x) + self.scatter_WM_x.sigClicked.connect(self.find_point_name) + continue #do not add errorbaritem to plot + elif i == 5: #graph wavemagnitude x + self.scatter_WM_y = pg.ScatterPlotItem(x = trans_time[ind,0], y = WM_y[ind], pen=pg.mkPen(color = self.mcol[0]), brush = pg.mkBrush(color = self.mcol[0]), symbol ='x', hoverable = True, size = 10) + w.addItem(self.scatter_WM_y) + self.scatter_WM_y.sigClicked.connect(self.find_point_name) + continue #do not add errorbaritem to plot + elif i == 6: #graph wavemagnitude x + self.scatter_WM_z = pg.ScatterPlotItem(x = trans_time[ind,0], y = WM_z[ind], pen=pg.mkPen(color = self.mcol[0]), brush = pg.mkBrush(color = self.mcol[0]), symbol ='x', hoverable = True, size = 10) + w.addItem(self.scatter_WM_z) + self.scatter_WM_z.sigClicked.connect(self.find_point_name) + continue #do not add errorbaritem to plot + w.addItem(err) + + + elif len(lens) == 1: #one line has more than one entry. So a set of plots should be generated from this line + ind_dict = {} #dictionary in which the sorted data will be saved + labels = [] #list in which labels of plots will be saved + #find sorting list with more than one entry + I = [i for i,x in enumerate(sort) if len(x) > 1] + I = I[0] + if len(B_sort) > 1: + for B in B_sort: #Find indices of data points where B = value in B_sort + ind = [i for i,x in enumerate(B_start[:,1]) if abs(x-B) 1: + for T in T_sort: #Find indices of data points where Gradient = value in T_sort + ind = [i for i,x in enumerate(gradient[:,0]) if abs(x-T) 1: + for S in S_sort: #Find indices of data points where cooldownrate = value in S_sort + ind = [i for i,x in enumerate(rate[:,0]) if abs(x-S) 1: + for TT in TT_sort: #Find indices of data points where TransitionTime = value in TT_sort + ind = [i for i,x in enumerate(trans_time[:,0]) if abs(x-TT)= t: #check if the point outside the tolerance + pop.append(i) + break #get out of loop so no more indices are deleted + #delete indices that are in pop + ind_dict[key] = [x for i,x in enumerate(ind_dict[key]) if i not in pop] + + #clear all graph widgets, add a legend and add new scatter plots + for i,w in enumerate([self.graphWidget_B, self.graphWidget_Gradient, self.graphWidget_CooldownSpeed, self.graphWidget_transitiontime]): + w.clear() + w.addLegend() + #add new scatter and errorbars to plots + for n,key in enumerate(ind_dict.keys()): + if i == 0: #graph B + scatter = pg.ScatterPlotItem(x = B_start[ind_dict[key],1], y = B_TF[ind_dict[key]], pen=pg.mkPen(color = self.mcol[n]), brush = pg.mkBrush(color = self.mcol[n]), symbol =self.marker[n], hoverable = True, size = 10, name = labels[n]) + err = pg.ErrorBarItem(x = B_start[ind_dict[key],1], y = B_TF[ind_dict[key]], top = e_B_TF[:len(ind_dict[key])], bottom = e_B_TF[:len(ind_dict[key])], pen=pg.mkPen(color = self.mcol[n], width = 2)) + self.graphWidget_B.addItem(scatter) + self.graphWidget_B.addItem(err) + if i == 1: #graph gradient + scatter = pg.ScatterPlotItem(x = gradient[ind_dict[key],0], y = B_TF[ind_dict[key]], pen=pg.mkPen(color = self.mcol[n]), brush = pg.mkBrush(color = self.mcol[n]), symbol =self.marker[n], hoverable = True, size = 10, name = labels[n]) + err = pg.ErrorBarItem(x = gradient[ind_dict[key],0], y = B_TF[ind_dict[key]], top = e_B_TF[:len(ind_dict[key])], bottom = e_B_TF[:len(ind_dict[key])], left = gradient[ind_dict[key],1], right = gradient[ind_dict[key],1], pen=pg.mkPen(color = self.mcol[n], width = 2)) + self.graphWidget_Gradient.addItem(scatter) + self.graphWidget_Gradient.addItem(err) + if i == 2: #graph cooldown rate + scatter = pg.ScatterPlotItem(x = rate[ind_dict[key],0], y = B_TF[ind_dict[key]], pen=pg.mkPen(color = self.mcol[n]), brush = pg.mkBrush(color = self.mcol[n]), symbol =self.marker[n], hoverable = True, size = 10, name = labels[n]) + err = pg.ErrorBarItem(x = rate[ind_dict[key],0], y = B_TF[ind_dict[key]], top = e_B_TF[:len(ind_dict[key])], bottom = e_B_TF[:len(ind_dict[key])], left = rate[ind_dict[key],1], right = rate[ind_dict[key],1], pen=pg.mkPen(color = self.mcol[n], width = 2)) + self.graphWidget_CooldownSpeed.addItem(scatter) + self.graphWidget_CooldownSpeed.addItem(err) + if i == 3: #graph transition time + scatter = pg.ScatterPlotItem(x = trans_time[ind_dict[key],0], y = B_TF[ind_dict[key]], pen=pg.mkPen(color = self.mcol[n]), brush = pg.mkBrush(color = self.mcol[n]), symbol =self.marker[n], hoverable = True, size = 10, name = labels[n]) + err = pg.ErrorBarItem(x = trans_time[ind_dict[key],0], y = B_TF[ind_dict[key]], top = e_B_TF[:len(ind_dict[key])], bottom = e_B_TF[:len(ind_dict[key])], pen=pg.mkPen(color = self.mcol[n], width = 2)) + self.graphWidget_transitiontime.addItem(scatter) + self.graphWidget_transitiontime.addItem(err) + if i == 4: #graph transition time + scatter = pg.ScatterPlotItem(x = trans_time[ind_dict[key],0], y = WM_x[ind_dict[key]], pen=pg.mkPen(color = self.mcol[n]), brush = pg.mkBrush(color = self.mcol[n]), symbol =self.marker[n], hoverable = True, size = 10, name = labels[n]) + self.graphWidget_WM_x.addItem(scatter) + if i == 5: #graph transition time + scatter = pg.ScatterPlotItem(x = trans_time[ind_dict[key],0], y = WM_y[ind_dict[key]], pen=pg.mkPen(color = self.mcol[n]), brush = pg.mkBrush(color = self.mcol[n]), symbol =self.marker[n], hoverable = True, size = 10, name = labels[n]) + self.graphWidget_WM_y.addItem(scatter) + if i == 6: #graph transition time + scatter = pg.ScatterPlotItem(x = trans_time[ind_dict[key],0], y = WM_z[ind_dict[key]], pen=pg.mkPen(color = self.mcol[n]), brush = pg.mkBrush(color = self.mcol[n]), symbol =self.marker[n], hoverable = True, size = 10, name = labels[n]) + self.graphWidget_WM_z.addItem(scatter) + + + elif len(lens) > 1: + print('ERROR: more than one sorting line has more than one entry. Please select only one line with more than one entry. Aborting...') + return + + def find_point_name(self, graph, points, ev): + if len(points) == 1: + ind = points[0].index() + selected_points = self.listWidget_points.selectedIndexes() + I = self.active_points[ind] + name = selected_points[I].data() + print(name) + + def select_data(self, raw_data, B_Array, TF_Array): #selects data for plotting depending on line_Plot_B_Field, line_Plot_T_Gradients, line_Plot_Cooldown_Speed. B_Array needed since one can select specific B_values to be plotted + + Array_length = len(raw_data) #Array length of raw_data / B_Array / TF_Array + Array_width = len(raw_data[0,:]) + + #Convert string (of line) into list of floats + if self.line_Plot_B_Field.text() != '': + B_select_string = self.line_Plot_B_Field.text().split(",") + B_select = [float(x) for x in B_select_string] + else: + B_select = [] + + if self.line_Plot_T_Gradients.text() != '': + Gradient_select_string = self.line_Plot_T_Gradients.text().split(",") + Gradient_select = [float(x) for x in Gradient_select_string] + else: + Gradient_select = [] + + if self.line_Plot_Cooldown_Speed.text() != '': + Cooldown_speed_select_string = self.line_Plot_Cooldown_Speed.text().split(",") + Cooldown_speed_select = [float(x) for x in Cooldown_speed_select_string] + else: + Cooldown_speed_select = [] + + #Create emtpy array / empty list for filtered data as return value + raw_data_filtered = np.empty(shape=(0,Array_width)) + B_Array_filtered = [] + B_TF_Array_filtered = [] + + for i in range(0,Array_length): + B = B_Array[i] + Gradient = raw_data[i,0] + Cooldown_speed = raw_data[i,2] + + #Booleans from which ALL have to be True in order to sign one measurement point (row) as filtered one + Bool1 = True + Bool2 = True + Bool3 = True + + #if selection list isnt empty -> Start filtering + if B_select != []: + for B_s in B_select: + if np.absolute(B - B_s) > self.B_Tolerance: + Bool1 = False + + if Gradient_select != []: + for G_s in Gradient_select: + if np.absolute(Gradient - G_s) > self.Gradient_Tolerance: + Bool2 = False + + if Cooldown_speed_select != []: + for C_s in Cooldown_speed_select: + if np.absolute(Cooldown_speed - C_s) > self.Cooldown_Speed_Tolerance: + Bool3 = False + + if Bool1 and Bool2 and Bool3: #If all Booleans are True: Measurement point (row) corresponds to filter settings -> Append it to filtered array / lists + raw_data_filtered = np.append(raw_data_filtered, [raw_data[i,:]], axis=0) + B_Array_filtered.append(B) + B_TF_Array_filtered.append(TF_Array[i]) + + return [raw_data_filtered, B_Array_filtered, B_TF_Array_filtered] + + def set_Tolerances(self): + #Set tolerance values for filtering + self.B_Tolerance = self.dSB_Plot_B_Field_Tolerance.value() + self.Gradient_Tolerance = self.dSB_Plot_T_Gradients_Tolerance.value() + self.Cooldown_Speed_Tolerance = self.dSB_Plot_Cooldown_Speed_Tolerance.value() + self.Transition_Time_Tolerance = self.dSB_Plot_Transition_Time_Tolerance.value() + self.update_plots() + + def set_plot_settings(self, value): + #Set plot settings (mean B-value of all AMR-sensors / absolute value of single sensor / single sensor direction) + self.select_mean_single = value + + #set the right entries in qComboBox_select_sensor + if self.select_mean_single == 0: #Mean of all absolute values (all sensors) + self.comboBox_select_sensor.setEnabled(False) + self.comboBox_select_sensor.clear() + + elif self.select_mean_single == 1: #Absolute value of one sensor + self.comboBox_select_sensor.setEnabled(True) + self.comboBox_select_sensor.clear() + + for i in range(1,16): #Add 15 values + self.comboBox_select_sensor.addItem("Sensor "+str(i)) + + elif self.select_mean_single == 2: #Value of single sensor in one direction + self.comboBox_select_sensor.setEnabled(True) + self.comboBox_select_sensor.clear() + + #Add 45 values + for direction in ["x", "y", "z"]: + for i in range(1,16): + self.comboBox_select_sensor.addItem("Sensor "+str(i) +" "+str(direction)) + + # self.update_plots() + + def export_acitve_points(self): + '''creates list of names of points currently displayed and saves this list in a txt file. + Does not work if multiple plots are displayed''' + selected_points = self.listWidget_points.selectedIndexes() + names = [selected_points[i].data() for i in self.active_points] + fname = QFileDialog.getSaveFileName(self, 'Open file', r'D:',"*.txt")[0] + with open(fname, 'w') as file: + for name in names: + file.write(name + '\n') + + def nearest_value_in_array(self, array, value): #Returns index of closest entry in array compared to value + index = (np.abs(array - value)).argmin() + return(index) + + def set_default(self): + #saves current set values to txt file in subdirectory configs. All entries that are saved are defined in self.lines_config + #Overwrites old values in config file. + current_dir = os.path.dirname(os.path.abspath(__file__)) + path = current_dir+'\\configs\\analyse_cooldowns_config.txt' #To make shure the config file is at the right place, independent from where the program is started the location of the file is retrieved + file = open(path,'w') + for l in self.dSB_all: + temp = f"{l.value()}" + file.write(temp+'\t') + for l in self.lines_config_strings: + file.write(l.text()+'\t') + for c in self.checkboxes_config: + file.write(str(c.isChecked())+'\t') + for c in self.combobox_config: + file.write(str(c.currentIndex())+'\t') + file.write('\n') + file.close + + def read_default(self): + #reads default values from config file in subdirectory config and sets the values in gui. Then self.change is set to true so values are send + #to device. (If no config file exists, it does nothing.) + current_dir = os.path.dirname(os.path.abspath(__file__)) + path = current_dir+'\\configs\\analyse_cooldowns_config.txt' #To make shure the config file is read from the right place, independent from where the program is started the location of the file is retrieved + try: #exit function if config file does not exist + vals = import_txt.read_raw(path) + except: + print('no config file found on') + print(path) + return + + for SB,v in zip(self.dSB_all,vals[0]): + v = float(v) #convert string in txt to float, so number can be formatted according to "formats" when it's set + SB.setValue(v) + + for l,v in zip(self.lines_config_strings,vals[0][len(self.dSB_all):]): + l.setText(v) + + for c,v in zip(self.checkboxes_config,vals[0][len(self.dSB_all)+len(self.lines_config_strings):]): + c.setChecked(v == 'True') + + for c,v in zip(self.combobox_config,vals[0][len(self.dSB_all)+len(self.lines_config_strings)+len(self.checkboxes_config):]): + c.setCurrentIndex(int(v)) + + self.change = True + + def closeEvent(self,event): #when window is closed self.running is set to False, so all threads stop + self.running = False + self.w = None + time.sleep(1) + event.accept() + + + +app = QApplication(sys.argv) + +window = MainWindow() +window.show() +app.exec() \ No newline at end of file diff --git a/Legacy/TF_Control/data_analysis/Raw_data.py b/Legacy/TF_Control/data_analysis/Raw_data.py new file mode 100644 index 0000000..b0fb082 --- /dev/null +++ b/Legacy/TF_Control/data_analysis/Raw_data.py @@ -0,0 +1,160 @@ +from PyQt6.QtGui import * +from PyQt6.QtWidgets import * +from PyQt6.QtCore import * + + +import os,sys +import numpy as np +import pyqtgraph as pg +import datetime,time + +from design_files.Raw_data_design import Ui_MainWindow + + +def smooth_transition(x, a, b, c, x0): + """ + A function that is constant before t0 and transitions smoothly into a linear function after t0. + + Parameters: + t : array-like, time values + t0 : float, transition point + a : float, constant value before t0 + b : float, slope of the linear function after t0 + c : float, controls the smoothness of the transition + + Returns: + array-like, function values + """ + return a + (b * (x - x0)) / (1 + np.exp(-c * np.clip(x - x0, -100, 100))) + +# Define linear fit function: +def linear_fit(x, a, b): + ''' + Linear function for fitting of CRAFT data + ''' + return a+b*x + +class RawdataWindow(QMainWindow, Ui_MainWindow): + def __init__(self, *args, **kwargs): + # Get the current script's directory + self.current_dir = os.path.dirname(os.path.abspath(__file__)) + # Get the parent directory by going one level up + self.parent_dir = os.path.dirname(self.current_dir) + + + #import Gui from QT designer file + super(RawdataWindow, self).__init__(*args, **kwargs) + self.setupUi(self) + + #setup plots + self.plot_widgets = [self.graphWidget_AMR_mag,self.graphWidget_AMR_x,self.graphWidget_AMR_y,self.graphWidget_AMR_z,self.graphWidget_FG,self.graphWidget_T] #list of all plots for easier handling + self.plot_colors = ['#a6cee3', '#1f78b4','#b2df8a','#33a02c','#fb9a99','#e31a1c','#fdbf6f','#ff7f00','#cab2d6','#6a3d9a','#e7298a','#b15928','#016c59','#d9d9d9','#000000'] #list of colors for plot + self.plots_T = [i for i in range(8)] #will contain all plots in temperature grapgh widget. Is already the correct lengths, so the right amount of plots are created for the widget. Contains numbers from 0 to the number of plots so the elements can also be used as index below. + self.plots_fluxgate = [i for i in range(3)] #will contain all plots in Fluxgate grapgh widget. Is already the correct lengths, so the right amount of plots are created for the widget. Contains numbers from 0 to the number of plots so the elements can also be used as index below. + self.plots_AMR_x = [i for i in range(15)] #will contain all plots in AMR_x grapgh widget. Is already the correct lengths, so the right amount of plots are created for the widget. Contains numbers from 0 to the number of plots so the elements can also be used as index below. + self.plots_AMR_y = [i for i in range(15)] #will contain all plots in AMR_y grapgh widget. Is already the correct lengths, so the right amount of plots are created for the widget. Contains numbers from 0 to the number of plots so the elements can also be used as index below. + self.plots_AMR_z = [i for i in range(15)] #will contain all plots in AMR_z grapgh widget. Is already the correct lengths, so the right amount of plots are created for the widget. Contains numbers from 0 to the number of plots so the elements can also be used as index below. + self.plots_AMR_mag = [i for i in range(15)] #will contain all plots in AMR_mag grapgh widget. Is already the correct lengths, so the right amount of plots are created for the widget. Contains numbers from 0 to the number of plots so the elements can also be used as index below. + self.plots_grad = [i for i in range(1)] #will contain all plots in grad_loc grapgh widget. Is already the correct lengths, so the right amount of plots are created for the widget. Contains numbers from 0 to the number of plots so the elements can also be used as index below. + self.plots_ind_T = [i for i in range(8)] + self.plot_sets = [self.plots_AMR_mag, self.plots_AMR_x, self.plots_AMR_y, self.plots_AMR_z, self.plots_fluxgate, self.plots_T]#list of all plot-sets. Each plot-set contains all plots of one graph widget + self.pens = [pg.mkPen(color = c, width = 2) for c in self.plot_colors] + self.titles = ['AMR Magnitude', 'AMR x', 'AMR y', 'AMR z', 'Fluxgates', 'Temperature'] #Plot titles + self.ylabel = ['B [µT]', 'B [µT]', 'B [µT]', 'B [µT]', 'B [µT]', 'Temperature [K]'] #y axis labels for plots + self.axis = [] #list of axis. They are needed to set x axis to time. List is filled below + + #all plots with time on x axis + for i in range(len(self.plot_widgets)): #fill list with axis + self.axis.append(pg.DateAxisItem()) + + for widget, title, label, axis, plot_set in zip(self.plot_widgets, self.titles, self.ylabel, self.axis, self.plot_sets): + #setup background, title, labels, grid, and time axis + widget.setBackground('w') + widget.setTitle(title) + widget.setLabel('left', label) + widget.setLabel('bottom', 'Temperature') + widget.showGrid(x= True, y= True, alpha = 0.5) + widget.setAxisItems({'bottom':axis}) + + temp = [time.time(),time.time()-1] + + for i in plot_set: #since plot_set so far just contains numbers from 0 to the number of desired plots, the elements can also be used as index + plot_set[i] = (widget.plot(temp,[1,0],pen = self.pens[i])) + # plot_set[i].clear() + + #local gradient plot + self.graphWidget_grad_loc.setBackground('w') + self.graphWidget_grad_loc.setTitle("local gradient") + self.graphWidget_grad_loc.setLabel('bottom', 'Sensor (1 at top edge)') + self.graphWidget_grad_loc.setLabel('left', 'dT/dz [K/cm]') + self.plots_grad[0] = (self.graphWidget_grad_loc.plot([1,0],[1,0],color = self.plot_colors[0],symbol = 'x',symbolsize = 20)) + + #define signals and slots + + #define constants + self.mcol = ["#0072BD","#D95319","#EDB120","#7E2F8E","#77AC30","#4DBEEE","#A2142F","#0072BD","#D95319","#EDB120","#7E2F8E","#77AC30","#4DBEEE","#A2142F"] #define matlab colors + self.marker = ['o','s','t','d','+','p','x','arrow_up','t1','h','crosshair','t3','star','arrow_down'] + self.pen_lines = pg.mkPen(color = 'k', width = 1) + self.pen_B_lines = pg.mkPen(color = 'r', width = 1) + self.lines = [] #list will store vertical lines for later delation + + + def update_plots(self,times,data,grad_loc,indices, Wave_mag, popt_T1,popt_T2, act_sens, T_c): + #clear temperature plot + self.graphWidget_T.clear() + + #calculate AMR magnitude + AMR_mag = np.zeros(shape = (len(data[:,0]),15)) + for j in range(15): + for i in range(len(data[:,0])): + AMR_mag[i,j] = np.sqrt(data[i,j+8]**2 + data[i,j+23]**2 + data[i,j+38]**2) + timestamps = [t.timestamp() for t in times] + + #plot horizontal line in temperature plot as T_c + if type(T_c) == float: + self.graphWidget_T.addLine(y = T_c, pen = self.pen_lines) + else: + self.graphWidget_T.addLine(y = T_c[0], pen = self.pen_lines) + self.graphWidget_T.addLine(y = T_c[1], pen = self.pen_lines) + + #plot vertical lines for temperature at indices in temperature, AMR_x, AMR_y, AMR_z and fluxgate plots + #delete lines that are stored in self.xlines + for line in self.lines: + for widget in self.plot_widgets: + widget.removeItem(line) + for widget in self.plot_widgets:#create new lines + for i in indices[:-3]: #ignore the last 3 indices which correspond to the magnetic field + self.lines.append(widget.addLine(x = timestamps[i], pen = self.pen_lines)) + + #plot vertical lines for magnetic field at last three indices in temperature, AMR_x, AMR_y, AMR_z and fluxgate plots + for widget in self.plot_widgets:#create new lines + # for i in indices[-3]: #To plot all just uncomment + self.lines.append(widget.addLine(x = timestamps[indices[-2]], pen = self.pen_B_lines)) #only plot where expelled flux point is taken, since the other two and at the beginning and end anyways. + + # #plot horizontal line in AMR plots at wave magnitude + # self.lines.append(self.graphWidget_AMR_x.addLine(y = Wave_mag[0], pen = self.pen_B_lines)) + # self.lines.append(self.graphWidget_AMR_y.addLine(y = Wave_mag[1], pen = self.pen_B_lines)) + # self.lines.append(self.graphWidget_AMR_z.addLine(y = Wave_mag[2], pen = self.pen_B_lines)) + + #set data in AMR plots + for set,ydata in zip(self.plot_sets,[AMR_mag, data[:,8:23], data[:,23:38], data[:,38:53], data[:,53:56]]): + for i,plot in enumerate(set): + plot.setData(timestamps,ydata[:,i]) + + #set data in temperature plot + for i in act_sens: + self.graphWidget_T.plot(timestamps,data[:,i-1], pen = self.pens[i-1]) + + #set data in gradient plot + if type(popt_T1) == int: #if CRAFT data is analysed, local gradients are not plotted + x = [i+1 for i in range(8)] + self.plots_grad[0].setData(x,grad_loc) + + #plot fits in temperature plot from popt_T1 and popt_T2 values, if they are given (not zero) + if type(popt_T1) == np.ndarray: + x = np.linspace(0, popt_T1[-1] - popt_T1[-2], 100) + x_plot = np.linspace(popt_T1[-2], popt_T1[-1], 100) + self.graphWidget_T.plot(x = x_plot, + y = smooth_transition(x, *popt_T1[:4]), pen = self.pens[-1]) + self.graphWidget_T.plot(x = x_plot, + y = smooth_transition(x, *popt_T2[:4]), pen = self.pens[-1]) diff --git a/Legacy/TF_Control/data_analysis/configs/analyse_cooldowns_config.txt b/Legacy/TF_Control/data_analysis/configs/analyse_cooldowns_config.txt new file mode 100644 index 0000000..81ac6a4 --- /dev/null +++ b/Legacy/TF_Control/data_analysis/configs/analyse_cooldowns_config.txt @@ -0,0 +1 @@ +0.0 0.0 0.0 0.0 16.0 20.5 D:\Glaskryostat\Data\2025-04-01 Nb3SN-Nb-Cu-HZB-SI\points D:\Glaskryostat\Data\2025-04-01 Nb3SN-Nb-Cu-HZB-SI True False False False False False False True True 0 diff --git a/Legacy/TF_Control/data_analysis/design_files/Analyse_cooldown.ui b/Legacy/TF_Control/data_analysis/design_files/Analyse_cooldown.ui new file mode 100644 index 0000000..89655b4 --- /dev/null +++ b/Legacy/TF_Control/data_analysis/design_files/Analyse_cooldown.ui @@ -0,0 +1,924 @@ + + + MainWindow + + + + 0 + 0 + 1922 + 1101 + + + + Analyse Cooldowns + + + + + + + QFrame::Plain + + + true + + + + + 0 + 0 + 1902 + 1040 + + + + + + + + + + 0 + 0 + + + + + 420 + 230 + + + + + + + + + + + + + + + 0 + 0 + + + + Summary files to include + + + + + + + + 0 + 0 + + + + QAbstractItemView::MultiSelection + + + + + + + Refresh + + + + + + + Select all + + + + + + + + + + + + 0 + 0 + + + + Raw files to include + + + + + + + + 0 + 0 + + + + QAbstractItemView::MultiSelection + + + + + + + Refresh + + + + + + + Select all + + + + + + + + + + + + 0 + 0 + + + + + 230 + 0 + + + + + 230 + 16777215 + + + + D:\Glaskryostat\Data\Summary\calibrated_data + + + + + + + + 0 + 0 + + + + Data Path + + + + + + + + 0 + 0 + + + + + 200 + 0 + + + + D:\Glaskryostat\Data\Summary\points + + + + + + + + 0 + 0 + + + + Summary Path + + + + + + + + 0 + 0 + + + + Import + + + + + + + + 0 + 0 + + + + Import Cooldowns + + + + + + + + + + 0 + 0 + + + + + 420 + 230 + + + + + + + + + 0 + 0 + + + + + 420 + 230 + + + + + + + + + + Active cernox + + + + + + + + 0 + 0 + + + + Select Points + + + + + + + + 0 + 0 + + + + QAbstractItemView::MultiSelection + + + + + + + CRAFT + + + + + + + T_c Top + + + + + + + T_c Bottom + + + + + + + + + Cernox 1 + + + true + + + + + + + Cernox 2 + + + true + + + + + + + Cernox 3 + + + true + + + + + + + Cernox 4 + + + true + + + + + + + Cernox 5 + + + true + + + + + + + Cernox 6 + + + true + + + + + + + Cernox 7 + + + true + + + + + + + Cernox 8 + + + true + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + 0 + 0 + + + + Clear cooldowns + + + + + + + + 0 + 0 + + + + Save cooldowns + + + + + + + + 0 + 0 + + + + Select good cd + + + + + + + false + + + Qt::StrongFocus + + + 0.000000000000000 + + + + + + + false + + + Qt::StrongFocus + + + 0.000000000000000 + + + + + + + + 0 + 0 + + + + Start + + + + + + + + 0 + 0 + + + + Select all + + + + + + + T_c + + + + + + + Qt::Vertical + + + QSizePolicy::Expanding + + + + 20 + 40 + + + + + + + + false + + + Qt::StrongFocus + + + 0.000000000000000 + + + + + + + + + + 0 + 0 + + + + + 420 + 230 + + + + + + + + + 0 + 0 + + + + + 420 + 230 + + + + Qt::WheelFocus + + + + + + + + 0 + 0 + + + + + 420 + 230 + + + + + + + + + 0 + 0 + + + + + 420 + 230 + + + + + + + + + 0 + 0 + + + + + 420 + 230 + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + Tolerance (+/-) + + + + + + + + 0 + 0 + + + + + + + + + + + 0.010000000000000 + + + + + + + + 0 + 0 + + + + + + + + + + + 999.000000000000000 + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + Plot settings + + + + + + + 0.010000000000000 + + + + + + + + 0 + 0 + + + + Plot T-Gradients [K/cm] + + + + + + + Export current points + + + + + + + + 0 + 0 + + + + Plot dT/dt [K/s] + + + + + + + + 0 + 0 + + + + Plot transition time [s] + + + + + + + Update Plots + + + + + + + + 0 + 0 + + + + Plot B-fields [µT] (y-direction) + + + + + + + + 0 + 0 + + + + + + + + + + + + Mean of all sensors + + + + + Single sensor (absolute value) + + + + + Single sensor direction + + + + + + + + false + + + + + + + 0.100000000000000 + + + + + + + Local Gradient + + + + + + + Use Cernox [1-8] + + + + + + + 1 + + + 8 + + + + + + + + + + + + + + + + + 0 + 0 + 1922 + 21 + + + + + File + + + + + + + + + + Make current values default + + + + + Reset default values + + + + + + PlotWidget + QWidget +

pyqtgraph
+ 1 + + + + + diff --git a/Legacy/TF_Control/data_analysis/design_files/Analyse_cooldown_design.py b/Legacy/TF_Control/data_analysis/design_files/Analyse_cooldown_design.py new file mode 100644 index 0000000..18a44a0 --- /dev/null +++ b/Legacy/TF_Control/data_analysis/design_files/Analyse_cooldown_design.py @@ -0,0 +1,546 @@ +# Form implementation generated from reading ui file 'Analyse_cooldown.ui' +# +# Created by: PyQt6 UI code generator 6.6.1 +# +# WARNING: Any manual changes made to this file will be lost when pyuic6 is +# run again. Do not edit this file unless you know what you are doing. + + +from PyQt6 import QtCore, QtGui, QtWidgets + + +class Ui_MainWindow(object): + def setupUi(self, MainWindow): + MainWindow.setObjectName("MainWindow") + MainWindow.resize(1922, 1101) + self.centralwidget = QtWidgets.QWidget(parent=MainWindow) + self.centralwidget.setObjectName("centralwidget") + self.horizontalLayout = QtWidgets.QHBoxLayout(self.centralwidget) + self.horizontalLayout.setObjectName("horizontalLayout") + self.scrollArea = QtWidgets.QScrollArea(parent=self.centralwidget) + self.scrollArea.setFrameShadow(QtWidgets.QFrame.Shadow.Plain) + self.scrollArea.setWidgetResizable(True) + self.scrollArea.setObjectName("scrollArea") + self.scrollAreaWidgetContents = QtWidgets.QWidget() + self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 1902, 1040)) + self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents") + self.gridLayout_6 = QtWidgets.QGridLayout(self.scrollAreaWidgetContents) + self.gridLayout_6.setObjectName("gridLayout_6") + self.gridLayout = QtWidgets.QGridLayout() + self.gridLayout.setObjectName("gridLayout") + self.graphWidget_transitiontime = PlotWidget(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.graphWidget_transitiontime.sizePolicy().hasHeightForWidth()) + self.graphWidget_transitiontime.setSizePolicy(sizePolicy) + self.graphWidget_transitiontime.setMinimumSize(QtCore.QSize(420, 230)) + self.graphWidget_transitiontime.setObjectName("graphWidget_transitiontime") + self.gridLayout.addWidget(self.graphWidget_transitiontime, 0, 2, 1, 1) + self.gridLayout_2 = QtWidgets.QGridLayout() + self.gridLayout_2.setObjectName("gridLayout_2") + self.horizontalLayout_2 = QtWidgets.QHBoxLayout() + self.horizontalLayout_2.setObjectName("horizontalLayout_2") + self.gridLayout_3 = QtWidgets.QGridLayout() + self.gridLayout_3.setObjectName("gridLayout_3") + self.label_3 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_3.sizePolicy().hasHeightForWidth()) + self.label_3.setSizePolicy(sizePolicy) + self.label_3.setObjectName("label_3") + self.gridLayout_3.addWidget(self.label_3, 0, 0, 1, 2) + self.listWidget_files_summary = QtWidgets.QListWidget(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Ignored) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.listWidget_files_summary.sizePolicy().hasHeightForWidth()) + self.listWidget_files_summary.setSizePolicy(sizePolicy) + self.listWidget_files_summary.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.MultiSelection) + self.listWidget_files_summary.setObjectName("listWidget_files_summary") + self.gridLayout_3.addWidget(self.listWidget_files_summary, 1, 0, 1, 2) + self.button_refresh_summary = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + self.button_refresh_summary.setObjectName("button_refresh_summary") + self.gridLayout_3.addWidget(self.button_refresh_summary, 2, 0, 1, 1) + self.button_select_all_summary = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + self.button_select_all_summary.setObjectName("button_select_all_summary") + self.gridLayout_3.addWidget(self.button_select_all_summary, 2, 1, 1, 1) + self.horizontalLayout_2.addLayout(self.gridLayout_3) + self.gridLayout_4 = QtWidgets.QGridLayout() + self.gridLayout_4.setObjectName("gridLayout_4") + self.label_4 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_4.sizePolicy().hasHeightForWidth()) + self.label_4.setSizePolicy(sizePolicy) + self.label_4.setObjectName("label_4") + self.gridLayout_4.addWidget(self.label_4, 0, 0, 1, 2) + self.listWidget_files_raw = QtWidgets.QListWidget(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Ignored) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.listWidget_files_raw.sizePolicy().hasHeightForWidth()) + self.listWidget_files_raw.setSizePolicy(sizePolicy) + self.listWidget_files_raw.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.MultiSelection) + self.listWidget_files_raw.setObjectName("listWidget_files_raw") + self.gridLayout_4.addWidget(self.listWidget_files_raw, 1, 0, 1, 2) + self.button_refresh_raw = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + self.button_refresh_raw.setObjectName("button_refresh_raw") + self.gridLayout_4.addWidget(self.button_refresh_raw, 2, 0, 1, 1) + self.button_select_all_raw = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + self.button_select_all_raw.setObjectName("button_select_all_raw") + self.gridLayout_4.addWidget(self.button_select_all_raw, 2, 1, 1, 1) + self.horizontalLayout_2.addLayout(self.gridLayout_4) + self.gridLayout_2.addLayout(self.horizontalLayout_2, 3, 0, 1, 2) + self.line_path_data = QtWidgets.QLineEdit(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_path_data.sizePolicy().hasHeightForWidth()) + self.line_path_data.setSizePolicy(sizePolicy) + self.line_path_data.setMinimumSize(QtCore.QSize(230, 0)) + self.line_path_data.setMaximumSize(QtCore.QSize(230, 16777215)) + self.line_path_data.setObjectName("line_path_data") + self.gridLayout_2.addWidget(self.line_path_data, 1, 1, 1, 1) + self.label_2 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_2.sizePolicy().hasHeightForWidth()) + self.label_2.setSizePolicy(sizePolicy) + self.label_2.setObjectName("label_2") + self.gridLayout_2.addWidget(self.label_2, 1, 0, 1, 1) + self.line_path_points = QtWidgets.QLineEdit(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_path_points.sizePolicy().hasHeightForWidth()) + self.line_path_points.setSizePolicy(sizePolicy) + self.line_path_points.setMinimumSize(QtCore.QSize(200, 0)) + self.line_path_points.setObjectName("line_path_points") + self.gridLayout_2.addWidget(self.line_path_points, 0, 1, 1, 1) + self.label = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth()) + self.label.setSizePolicy(sizePolicy) + self.label.setObjectName("label") + self.gridLayout_2.addWidget(self.label, 0, 0, 1, 1) + self.button_import = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.button_import.sizePolicy().hasHeightForWidth()) + self.button_import.setSizePolicy(sizePolicy) + self.button_import.setObjectName("button_import") + self.gridLayout_2.addWidget(self.button_import, 2, 0, 1, 1) + self.button_import_cd = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.button_import_cd.sizePolicy().hasHeightForWidth()) + self.button_import_cd.setSizePolicy(sizePolicy) + self.button_import_cd.setObjectName("button_import_cd") + self.gridLayout_2.addWidget(self.button_import_cd, 2, 1, 1, 1) + self.gridLayout.addLayout(self.gridLayout_2, 0, 0, 1, 1) + self.graphWidget_B = PlotWidget(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.graphWidget_B.sizePolicy().hasHeightForWidth()) + self.graphWidget_B.setSizePolicy(sizePolicy) + self.graphWidget_B.setMinimumSize(QtCore.QSize(420, 230)) + self.graphWidget_B.setObjectName("graphWidget_B") + self.gridLayout.addWidget(self.graphWidget_B, 0, 1, 1, 1) + self.graphWidget_WM_x = PlotWidget(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.graphWidget_WM_x.sizePolicy().hasHeightForWidth()) + self.graphWidget_WM_x.setSizePolicy(sizePolicy) + self.graphWidget_WM_x.setMinimumSize(QtCore.QSize(420, 230)) + self.graphWidget_WM_x.setObjectName("graphWidget_WM_x") + self.gridLayout.addWidget(self.graphWidget_WM_x, 0, 3, 1, 1) + self.gridLayout_5 = QtWidgets.QGridLayout() + self.gridLayout_5.setObjectName("gridLayout_5") + self.label_7 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_7.setObjectName("label_7") + self.gridLayout_5.addWidget(self.label_7, 0, 3, 1, 1) + self.label_5 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_5.sizePolicy().hasHeightForWidth()) + self.label_5.setSizePolicy(sizePolicy) + self.label_5.setObjectName("label_5") + self.gridLayout_5.addWidget(self.label_5, 0, 0, 1, 3) + self.listWidget_points = QtWidgets.QListWidget(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Ignored) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.listWidget_points.sizePolicy().hasHeightForWidth()) + self.listWidget_points.setSizePolicy(sizePolicy) + self.listWidget_points.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.MultiSelection) + self.listWidget_points.setObjectName("listWidget_points") + self.gridLayout_5.addWidget(self.listWidget_points, 1, 0, 10, 3) + self.checkBox_CRAFT = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_CRAFT.setObjectName("checkBox_CRAFT") + self.gridLayout_5.addWidget(self.checkBox_CRAFT, 5, 4, 1, 1) + self.label_9 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_9.setObjectName("label_9") + self.gridLayout_5.addWidget(self.label_9, 6, 4, 1, 1) + self.label_10 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_10.setObjectName("label_10") + self.gridLayout_5.addWidget(self.label_10, 8, 4, 1, 1) + self.verticalLayout = QtWidgets.QVBoxLayout() + self.verticalLayout.setObjectName("verticalLayout") + self.checkBox_C_1 = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_C_1.setChecked(True) + self.checkBox_C_1.setObjectName("checkBox_C_1") + self.verticalLayout.addWidget(self.checkBox_C_1) + self.checkBox_C__2 = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_C__2.setChecked(True) + self.checkBox_C__2.setObjectName("checkBox_C__2") + self.verticalLayout.addWidget(self.checkBox_C__2) + self.checkBox_C_3 = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_C_3.setChecked(True) + self.checkBox_C_3.setObjectName("checkBox_C_3") + self.verticalLayout.addWidget(self.checkBox_C_3) + self.checkBox_C_4 = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_C_4.setChecked(True) + self.checkBox_C_4.setObjectName("checkBox_C_4") + self.verticalLayout.addWidget(self.checkBox_C_4) + self.checkBox_C_5 = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_C_5.setChecked(True) + self.checkBox_C_5.setObjectName("checkBox_C_5") + self.verticalLayout.addWidget(self.checkBox_C_5) + self.checkBox_C_6 = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_C_6.setChecked(True) + self.checkBox_C_6.setObjectName("checkBox_C_6") + self.verticalLayout.addWidget(self.checkBox_C_6) + self.checkBox_C_7 = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_C_7.setChecked(True) + self.checkBox_C_7.setObjectName("checkBox_C_7") + self.verticalLayout.addWidget(self.checkBox_C_7) + self.checkBox_C_8 = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_C_8.setChecked(True) + self.checkBox_C_8.setObjectName("checkBox_C_8") + self.verticalLayout.addWidget(self.checkBox_C_8) + spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding) + self.verticalLayout.addItem(spacerItem) + self.gridLayout_5.addLayout(self.verticalLayout, 1, 3, 10, 1) + self.button_clear_points = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.button_clear_points.sizePolicy().hasHeightForWidth()) + self.button_clear_points.setSizePolicy(sizePolicy) + self.button_clear_points.setObjectName("button_clear_points") + self.gridLayout_5.addWidget(self.button_clear_points, 11, 3, 1, 1) + self.button_save_cooldowns = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.button_save_cooldowns.sizePolicy().hasHeightForWidth()) + self.button_save_cooldowns.setSizePolicy(sizePolicy) + self.button_save_cooldowns.setObjectName("button_save_cooldowns") + self.gridLayout_5.addWidget(self.button_save_cooldowns, 11, 4, 1, 1) + self.button_select_good_points = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.button_select_good_points.sizePolicy().hasHeightForWidth()) + self.button_select_good_points.setSizePolicy(sizePolicy) + self.button_select_good_points.setObjectName("button_select_good_points") + self.gridLayout_5.addWidget(self.button_select_good_points, 11, 1, 1, 2) + self.dSB_Tc_top = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.dSB_Tc_top.setMouseTracking(False) + self.dSB_Tc_top.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus) + self.dSB_Tc_top.setSingleStep(0.0) + self.dSB_Tc_top.setObjectName("dSB_Tc_top") + self.gridLayout_5.addWidget(self.dSB_Tc_top, 7, 4, 1, 1) + self.dSB_Tc = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.dSB_Tc.setMouseTracking(False) + self.dSB_Tc.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus) + self.dSB_Tc.setSingleStep(0.0) + self.dSB_Tc.setObjectName("dSB_Tc") + self.gridLayout_5.addWidget(self.dSB_Tc, 3, 4, 2, 1) + self.button_start_analysis = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.button_start_analysis.sizePolicy().hasHeightForWidth()) + self.button_start_analysis.setSizePolicy(sizePolicy) + self.button_start_analysis.setObjectName("button_start_analysis") + self.gridLayout_5.addWidget(self.button_start_analysis, 1, 4, 1, 1) + self.button_select_all_points = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.button_select_all_points.sizePolicy().hasHeightForWidth()) + self.button_select_all_points.setSizePolicy(sizePolicy) + self.button_select_all_points.setObjectName("button_select_all_points") + self.gridLayout_5.addWidget(self.button_select_all_points, 11, 0, 1, 1) + self.label_6 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_6.setObjectName("label_6") + self.gridLayout_5.addWidget(self.label_6, 2, 4, 1, 1) + spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding) + self.gridLayout_5.addItem(spacerItem1, 10, 4, 1, 1) + self.dSB_Tc_bottom = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.dSB_Tc_bottom.setMouseTracking(False) + self.dSB_Tc_bottom.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus) + self.dSB_Tc_bottom.setSingleStep(0.0) + self.dSB_Tc_bottom.setObjectName("dSB_Tc_bottom") + self.gridLayout_5.addWidget(self.dSB_Tc_bottom, 9, 4, 1, 1) + self.gridLayout.addLayout(self.gridLayout_5, 1, 0, 1, 1) + self.graphWidget_free = PlotWidget(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.graphWidget_free.sizePolicy().hasHeightForWidth()) + self.graphWidget_free.setSizePolicy(sizePolicy) + self.graphWidget_free.setMinimumSize(QtCore.QSize(420, 230)) + self.graphWidget_free.setObjectName("graphWidget_free") + self.gridLayout.addWidget(self.graphWidget_free, 1, 2, 1, 1) + self.graphWidget_Gradient = PlotWidget(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.graphWidget_Gradient.sizePolicy().hasHeightForWidth()) + self.graphWidget_Gradient.setSizePolicy(sizePolicy) + self.graphWidget_Gradient.setMinimumSize(QtCore.QSize(420, 230)) + self.graphWidget_Gradient.setFocusPolicy(QtCore.Qt.FocusPolicy.WheelFocus) + self.graphWidget_Gradient.setObjectName("graphWidget_Gradient") + self.gridLayout.addWidget(self.graphWidget_Gradient, 1, 1, 1, 1) + self.graphWidget_CooldownSpeed = PlotWidget(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.graphWidget_CooldownSpeed.sizePolicy().hasHeightForWidth()) + self.graphWidget_CooldownSpeed.setSizePolicy(sizePolicy) + self.graphWidget_CooldownSpeed.setMinimumSize(QtCore.QSize(420, 230)) + self.graphWidget_CooldownSpeed.setObjectName("graphWidget_CooldownSpeed") + self.gridLayout.addWidget(self.graphWidget_CooldownSpeed, 2, 1, 1, 1) + self.graphWidget_WM_y = PlotWidget(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.graphWidget_WM_y.sizePolicy().hasHeightForWidth()) + self.graphWidget_WM_y.setSizePolicy(sizePolicy) + self.graphWidget_WM_y.setMinimumSize(QtCore.QSize(420, 230)) + self.graphWidget_WM_y.setObjectName("graphWidget_WM_y") + self.gridLayout.addWidget(self.graphWidget_WM_y, 1, 3, 1, 1) + self.graphWidget_WM_z = PlotWidget(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.graphWidget_WM_z.sizePolicy().hasHeightForWidth()) + self.graphWidget_WM_z.setSizePolicy(sizePolicy) + self.graphWidget_WM_z.setMinimumSize(QtCore.QSize(420, 230)) + self.graphWidget_WM_z.setObjectName("graphWidget_WM_z") + self.gridLayout.addWidget(self.graphWidget_WM_z, 2, 3, 1, 1) + self.gridLayout_8 = QtWidgets.QGridLayout() + self.gridLayout_8.setObjectName("gridLayout_8") + spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding) + self.gridLayout_8.addItem(spacerItem2, 10, 1, 1, 1) + self.label_16 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_16.setObjectName("label_16") + self.gridLayout_8.addWidget(self.label_16, 0, 3, 1, 1) + self.line_Plot_B_Field = QtWidgets.QLineEdit(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_Plot_B_Field.sizePolicy().hasHeightForWidth()) + self.line_Plot_B_Field.setSizePolicy(sizePolicy) + self.line_Plot_B_Field.setText("") + self.line_Plot_B_Field.setObjectName("line_Plot_B_Field") + self.gridLayout_8.addWidget(self.line_Plot_B_Field, 1, 2, 1, 1) + self.dSB_Plot_T_Gradients_Tolerance = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.dSB_Plot_T_Gradients_Tolerance.setSingleStep(0.01) + self.dSB_Plot_T_Gradients_Tolerance.setObjectName("dSB_Plot_T_Gradients_Tolerance") + self.gridLayout_8.addWidget(self.dSB_Plot_T_Gradients_Tolerance, 2, 3, 1, 1) + self.line_Plot_T_Gradients = QtWidgets.QLineEdit(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_Plot_T_Gradients.sizePolicy().hasHeightForWidth()) + self.line_Plot_T_Gradients.setSizePolicy(sizePolicy) + self.line_Plot_T_Gradients.setText("") + self.line_Plot_T_Gradients.setObjectName("line_Plot_T_Gradients") + self.gridLayout_8.addWidget(self.line_Plot_T_Gradients, 2, 2, 1, 1) + self.dSB_Plot_B_Field_Tolerance = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.dSB_Plot_B_Field_Tolerance.setMaximum(999.0) + self.dSB_Plot_B_Field_Tolerance.setObjectName("dSB_Plot_B_Field_Tolerance") + self.gridLayout_8.addWidget(self.dSB_Plot_B_Field_Tolerance, 1, 3, 1, 1) + self.line_Plot_Cooldown_Speed = QtWidgets.QLineEdit(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_Plot_Cooldown_Speed.sizePolicy().hasHeightForWidth()) + self.line_Plot_Cooldown_Speed.setSizePolicy(sizePolicy) + self.line_Plot_Cooldown_Speed.setText("") + self.line_Plot_Cooldown_Speed.setObjectName("line_Plot_Cooldown_Speed") + self.gridLayout_8.addWidget(self.line_Plot_Cooldown_Speed, 3, 2, 1, 1) + self.label_20 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_20.sizePolicy().hasHeightForWidth()) + self.label_20.setSizePolicy(sizePolicy) + self.label_20.setObjectName("label_20") + self.gridLayout_8.addWidget(self.label_20, 5, 0, 1, 1) + self.dSB_Plot_Cooldown_Speed_Tolerance = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.dSB_Plot_Cooldown_Speed_Tolerance.setSingleStep(0.01) + self.dSB_Plot_Cooldown_Speed_Tolerance.setObjectName("dSB_Plot_Cooldown_Speed_Tolerance") + self.gridLayout_8.addWidget(self.dSB_Plot_Cooldown_Speed_Tolerance, 3, 3, 1, 1) + self.label_18 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_18.sizePolicy().hasHeightForWidth()) + self.label_18.setSizePolicy(sizePolicy) + self.label_18.setObjectName("label_18") + self.gridLayout_8.addWidget(self.label_18, 2, 0, 1, 2) + self.button_export_points = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + self.button_export_points.setObjectName("button_export_points") + self.gridLayout_8.addWidget(self.button_export_points, 9, 1, 1, 2) + self.label_19 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_19.sizePolicy().hasHeightForWidth()) + self.label_19.setSizePolicy(sizePolicy) + self.label_19.setObjectName("label_19") + self.gridLayout_8.addWidget(self.label_19, 3, 0, 1, 2) + self.label_22 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_22.sizePolicy().hasHeightForWidth()) + self.label_22.setSizePolicy(sizePolicy) + self.label_22.setObjectName("label_22") + self.gridLayout_8.addWidget(self.label_22, 4, 0, 1, 2) + self.button_update_plots = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + self.button_update_plots.setObjectName("button_update_plots") + self.gridLayout_8.addWidget(self.button_update_plots, 8, 1, 1, 2) + self.label_17 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_17.sizePolicy().hasHeightForWidth()) + self.label_17.setSizePolicy(sizePolicy) + self.label_17.setObjectName("label_17") + self.gridLayout_8.addWidget(self.label_17, 1, 0, 1, 2) + self.line_Plot_Transition_Time = QtWidgets.QLineEdit(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_Plot_Transition_Time.sizePolicy().hasHeightForWidth()) + self.line_Plot_Transition_Time.setSizePolicy(sizePolicy) + self.line_Plot_Transition_Time.setText("") + self.line_Plot_Transition_Time.setObjectName("line_Plot_Transition_Time") + self.gridLayout_8.addWidget(self.line_Plot_Transition_Time, 4, 2, 1, 1) + self.comboBox_plot_settings = QtWidgets.QComboBox(parent=self.scrollAreaWidgetContents) + self.comboBox_plot_settings.setObjectName("comboBox_plot_settings") + self.comboBox_plot_settings.addItem("") + self.comboBox_plot_settings.addItem("") + self.comboBox_plot_settings.addItem("") + self.gridLayout_8.addWidget(self.comboBox_plot_settings, 5, 1, 1, 2) + self.comboBox_select_sensor = QtWidgets.QComboBox(parent=self.scrollAreaWidgetContents) + self.comboBox_select_sensor.setEnabled(False) + self.comboBox_select_sensor.setObjectName("comboBox_select_sensor") + self.gridLayout_8.addWidget(self.comboBox_select_sensor, 6, 1, 1, 2) + self.dSB_Plot_Transition_Time_Tolerance = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.dSB_Plot_Transition_Time_Tolerance.setSingleStep(0.1) + self.dSB_Plot_Transition_Time_Tolerance.setObjectName("dSB_Plot_Transition_Time_Tolerance") + self.gridLayout_8.addWidget(self.dSB_Plot_Transition_Time_Tolerance, 4, 3, 1, 1) + self.checkBox_local_gradient = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_local_gradient.setObjectName("checkBox_local_gradient") + self.gridLayout_8.addWidget(self.checkBox_local_gradient, 7, 1, 1, 1) + self.label_8 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_8.setObjectName("label_8") + self.gridLayout_8.addWidget(self.label_8, 7, 2, 1, 1) + self.SB_sensor_gradient = QtWidgets.QSpinBox(parent=self.scrollAreaWidgetContents) + self.SB_sensor_gradient.setMinimum(1) + self.SB_sensor_gradient.setMaximum(8) + self.SB_sensor_gradient.setObjectName("SB_sensor_gradient") + self.gridLayout_8.addWidget(self.SB_sensor_gradient, 7, 3, 1, 1) + self.gridLayout.addLayout(self.gridLayout_8, 2, 0, 1, 1) + self.gridLayout_6.addLayout(self.gridLayout, 0, 0, 1, 1) + self.scrollArea.setWidget(self.scrollAreaWidgetContents) + self.horizontalLayout.addWidget(self.scrollArea) + MainWindow.setCentralWidget(self.centralwidget) + self.menubar = QtWidgets.QMenuBar(parent=MainWindow) + self.menubar.setGeometry(QtCore.QRect(0, 0, 1922, 21)) + self.menubar.setObjectName("menubar") + self.menuFile = QtWidgets.QMenu(parent=self.menubar) + self.menuFile.setObjectName("menuFile") + MainWindow.setMenuBar(self.menubar) + self.statusbar = QtWidgets.QStatusBar(parent=MainWindow) + self.statusbar.setObjectName("statusbar") + MainWindow.setStatusBar(self.statusbar) + self.actionSet_default = QtGui.QAction(parent=MainWindow) + self.actionSet_default.setObjectName("actionSet_default") + self.actionReset_default = QtGui.QAction(parent=MainWindow) + self.actionReset_default.setObjectName("actionReset_default") + self.menuFile.addAction(self.actionSet_default) + self.menuFile.addAction(self.actionReset_default) + self.menubar.addAction(self.menuFile.menuAction()) + + self.retranslateUi(MainWindow) + QtCore.QMetaObject.connectSlotsByName(MainWindow) + + def retranslateUi(self, MainWindow): + _translate = QtCore.QCoreApplication.translate + MainWindow.setWindowTitle(_translate("MainWindow", "Analyse Cooldowns")) + self.label_3.setText(_translate("MainWindow", "Summary files to include")) + self.button_refresh_summary.setText(_translate("MainWindow", "Refresh")) + self.button_select_all_summary.setText(_translate("MainWindow", "Select all")) + self.label_4.setText(_translate("MainWindow", "Raw files to include")) + self.button_refresh_raw.setText(_translate("MainWindow", "Refresh")) + self.button_select_all_raw.setText(_translate("MainWindow", "Select all")) + self.line_path_data.setText(_translate("MainWindow", "D:\\Glaskryostat\\Data\\Summary\\calibrated_data")) + self.label_2.setText(_translate("MainWindow", "Data Path")) + self.line_path_points.setText(_translate("MainWindow", "D:\\Glaskryostat\\Data\\Summary\\points")) + self.label.setText(_translate("MainWindow", "Summary Path")) + self.button_import.setText(_translate("MainWindow", "Import")) + self.button_import_cd.setText(_translate("MainWindow", "Import Cooldowns")) + self.label_7.setText(_translate("MainWindow", "Active cernox")) + self.label_5.setText(_translate("MainWindow", "Select Points")) + self.checkBox_CRAFT.setText(_translate("MainWindow", "CRAFT")) + self.label_9.setText(_translate("MainWindow", "T_c Top")) + self.label_10.setText(_translate("MainWindow", "T_c Bottom")) + self.checkBox_C_1.setText(_translate("MainWindow", "Cernox 1")) + self.checkBox_C__2.setText(_translate("MainWindow", "Cernox 2")) + self.checkBox_C_3.setText(_translate("MainWindow", "Cernox 3")) + self.checkBox_C_4.setText(_translate("MainWindow", "Cernox 4")) + self.checkBox_C_5.setText(_translate("MainWindow", "Cernox 5")) + self.checkBox_C_6.setText(_translate("MainWindow", "Cernox 6")) + self.checkBox_C_7.setText(_translate("MainWindow", "Cernox 7")) + self.checkBox_C_8.setText(_translate("MainWindow", "Cernox 8")) + self.button_clear_points.setText(_translate("MainWindow", "Clear cooldowns")) + self.button_save_cooldowns.setText(_translate("MainWindow", "Save cooldowns")) + self.button_select_good_points.setText(_translate("MainWindow", "Select good cd")) + self.button_start_analysis.setText(_translate("MainWindow", "Start")) + self.button_select_all_points.setText(_translate("MainWindow", "Select all")) + self.label_6.setText(_translate("MainWindow", "T_c")) + self.label_16.setText(_translate("MainWindow", "Tolerance (+/-)")) + self.label_20.setText(_translate("MainWindow", "Plot settings")) + self.label_18.setText(_translate("MainWindow", "Plot T-Gradients [K/cm]")) + self.button_export_points.setText(_translate("MainWindow", "Export current points")) + self.label_19.setText(_translate("MainWindow", "Plot dT/dt [K/s]")) + self.label_22.setText(_translate("MainWindow", "Plot transition time [s]")) + self.button_update_plots.setText(_translate("MainWindow", "Update Plots")) + self.label_17.setText(_translate("MainWindow", "Plot B-fields [µT] (y-direction)")) + self.comboBox_plot_settings.setItemText(0, _translate("MainWindow", "Mean of all sensors")) + self.comboBox_plot_settings.setItemText(1, _translate("MainWindow", "Single sensor (absolute value)")) + self.comboBox_plot_settings.setItemText(2, _translate("MainWindow", "Single sensor direction")) + self.checkBox_local_gradient.setText(_translate("MainWindow", "Local Gradient")) + self.label_8.setText(_translate("MainWindow", "Use Cernox [1-8]")) + self.menuFile.setTitle(_translate("MainWindow", "File")) + self.actionSet_default.setText(_translate("MainWindow", "Make current values default")) + self.actionReset_default.setText(_translate("MainWindow", "Reset default values")) +from pyqtgraph import PlotWidget diff --git a/Legacy/TF_Control/data_analysis/design_files/Raw_data.ui b/Legacy/TF_Control/data_analysis/design_files/Raw_data.ui new file mode 100644 index 0000000..0ed8c84 --- /dev/null +++ b/Legacy/TF_Control/data_analysis/design_files/Raw_data.ui @@ -0,0 +1,7008 @@ + + + MainWindow + + + + 0 + 0 + 798 + 593 + + + + Raw Data + + + + + + + true + + + + + 0 + 0 + 784 + 543 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + 0 + 0 + + + + + 13 + 8 + + + + + + + + + 0 + 0 + 0 + + + + + + + 202 + 178 + 214 + + + + + + + 255 + 255 + 255 + + + + + + + 228 + 216 + 234 + + + + + + + 101 + 89 + 107 + + + + + + + 135 + 119 + 143 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 202 + 178 + 214 + + + + + + + 0 + 0 + 0 + + + + + + + 228 + 216 + 234 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 202 + 178 + 214 + + + + + + + 255 + 255 + 255 + + + + + + + 228 + 216 + 234 + + + + + + + 101 + 89 + 107 + + + + + + + 135 + 119 + 143 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 202 + 178 + 214 + + + + + + + 0 + 0 + 0 + + + + + + + 228 + 216 + 234 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 101 + 89 + 107 + + + + + + + 202 + 178 + 214 + + + + + + + 255 + 255 + 255 + + + + + + + 228 + 216 + 234 + + + + + + + 101 + 89 + 107 + + + + + + + 135 + 119 + 143 + + + + + + + 101 + 89 + 107 + + + + + + + 255 + 255 + 255 + + + + + + + 101 + 89 + 107 + + + + + + + 202 + 178 + 214 + + + + + + + 202 + 178 + 214 + + + + + + + 0 + 0 + 0 + + + + + + + 202 + 178 + 214 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + + + + + + + + + 0 + 0 + + + + + 13 + 8 + + + + + + + + + 0 + 0 + 0 + + + + + + + 177 + 89 + 40 + + + + + + + 255 + 135 + 68 + + + + + + + 216 + 112 + 54 + + + + + + + 88 + 44 + 20 + + + + + + + 118 + 59 + 26 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 177 + 89 + 40 + + + + + + + 0 + 0 + 0 + + + + + + + 216 + 172 + 147 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 177 + 89 + 40 + + + + + + + 255 + 135 + 68 + + + + + + + 216 + 112 + 54 + + + + + + + 88 + 44 + 20 + + + + + + + 118 + 59 + 26 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 177 + 89 + 40 + + + + + + + 0 + 0 + 0 + + + + + + + 216 + 172 + 147 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 88 + 44 + 20 + + + + + + + 177 + 89 + 40 + + + + + + + 255 + 135 + 68 + + + + + + + 216 + 112 + 54 + + + + + + + 88 + 44 + 20 + + + + + + + 118 + 59 + 26 + + + + + + + 88 + 44 + 20 + + + + + + + 255 + 255 + 255 + + + + + + + 88 + 44 + 20 + + + + + + + 177 + 89 + 40 + + + + + + + 177 + 89 + 40 + + + + + + + 0 + 0 + 0 + + + + + + + 177 + 89 + 40 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + + + + + + + + + 0 + 0 + + + + + 0 + 2 + + + + + 8 + + + + 13 + + + + + + + + 0 + 0 + + + + + 13 + 8 + + + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + + + + + + + + + 0 + 0 + + + + + 13 + 8 + + + + + + + + + 0 + 0 + 0 + + + + + + + 106 + 61 + 154 + + + + + + + 159 + 91 + 231 + + + + + + + 132 + 76 + 192 + + + + + + + 53 + 30 + 77 + + + + + + + 70 + 40 + 103 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 106 + 61 + 154 + + + + + + + 0 + 0 + 0 + + + + + + + 180 + 158 + 204 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 106 + 61 + 154 + + + + + + + 159 + 91 + 231 + + + + + + + 132 + 76 + 192 + + + + + + + 53 + 30 + 77 + + + + + + + 70 + 40 + 103 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 106 + 61 + 154 + + + + + + + 0 + 0 + 0 + + + + + + + 180 + 158 + 204 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 53 + 30 + 77 + + + + + + + 106 + 61 + 154 + + + + + + + 159 + 91 + 231 + + + + + + + 132 + 76 + 192 + + + + + + + 53 + 30 + 77 + + + + + + + 70 + 40 + 103 + + + + + + + 53 + 30 + 77 + + + + + + + 255 + 255 + 255 + + + + + + + 53 + 30 + 77 + + + + + + + 106 + 61 + 154 + + + + + + + 106 + 61 + 154 + + + + + + + 0 + 0 + 0 + + + + + + + 106 + 61 + 154 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + + + + + + + + + 0 + 0 + + + + + 0 + 2 + + + + + 8 + + + + 12 + + + + + + + + 0 + 0 + + + + + 0 + 2 + + + + + 8 + + + + 15 + + + + + + + + 0 + 0 + + + + + 13 + 8 + + + + + + + + + 0 + 0 + 0 + + + + + + + 231 + 41 + 138 + + + + + + + 255 + 137 + 197 + + + + + + + 243 + 89 + 167 + + + + + + + 115 + 20 + 69 + + + + + + + 154 + 27 + 92 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 231 + 41 + 138 + + + + + + + 0 + 0 + 0 + + + + + + + 243 + 148 + 196 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 231 + 41 + 138 + + + + + + + 255 + 137 + 197 + + + + + + + 243 + 89 + 167 + + + + + + + 115 + 20 + 69 + + + + + + + 154 + 27 + 92 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 231 + 41 + 138 + + + + + + + 0 + 0 + 0 + + + + + + + 243 + 148 + 196 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 115 + 20 + 69 + + + + + + + 231 + 41 + 138 + + + + + + + 255 + 137 + 197 + + + + + + + 243 + 89 + 167 + + + + + + + 115 + 20 + 69 + + + + + + + 154 + 27 + 92 + + + + + + + 115 + 20 + 69 + + + + + + + 255 + 255 + 255 + + + + + + + 115 + 20 + 69 + + + + + + + 231 + 41 + 138 + + + + + + + 231 + 41 + 138 + + + + + + + 0 + 0 + 0 + + + + + + + 231 + 41 + 138 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + + + + + + + + + 0 + 0 + + + + + 13 + 8 + + + + + + + + + 255 + 255 + 255 + + + + + + + 1 + 108 + 89 + + + + + + + 1 + 162 + 134 + + + + + + + 1 + 135 + 111 + + + + + + + 0 + 54 + 44 + + + + + + + 0 + 72 + 59 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 1 + 108 + 89 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 54 + 44 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 255 + 255 + 255 + + + + + + + 1 + 108 + 89 + + + + + + + 1 + 162 + 134 + + + + + + + 1 + 135 + 111 + + + + + + + 0 + 54 + 44 + + + + + + + 0 + 72 + 59 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 1 + 108 + 89 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 54 + 44 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 54 + 44 + + + + + + + 1 + 108 + 89 + + + + + + + 1 + 162 + 134 + + + + + + + 1 + 135 + 111 + + + + + + + 0 + 54 + 44 + + + + + + + 0 + 72 + 59 + + + + + + + 0 + 54 + 44 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 54 + 44 + + + + + + + 1 + 108 + 89 + + + + + + + 1 + 108 + 89 + + + + + + + 0 + 0 + 0 + + + + + + + 1 + 108 + 89 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + + + + + + + + + 0 + 0 + + + + + 13 + 8 + + + + + + + + + 0 + 0 + 0 + + + + + + + 227 + 26 + 28 + + + + + + + 255 + 115 + 116 + + + + + + + 241 + 70 + 72 + + + + + + + 113 + 13 + 14 + + + + + + + 151 + 17 + 18 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 227 + 26 + 28 + + + + + + + 0 + 0 + 0 + + + + + + + 241 + 140 + 141 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 227 + 26 + 28 + + + + + + + 255 + 115 + 116 + + + + + + + 241 + 70 + 72 + + + + + + + 113 + 13 + 14 + + + + + + + 151 + 17 + 18 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 227 + 26 + 28 + + + + + + + 0 + 0 + 0 + + + + + + + 241 + 140 + 141 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 113 + 13 + 14 + + + + + + + 227 + 26 + 28 + + + + + + + 255 + 115 + 116 + + + + + + + 241 + 70 + 72 + + + + + + + 113 + 13 + 14 + + + + + + + 151 + 17 + 18 + + + + + + + 113 + 13 + 14 + + + + + + + 255 + 255 + 255 + + + + + + + 113 + 13 + 14 + + + + + + + 227 + 26 + 28 + + + + + + + 227 + 26 + 28 + + + + + + + 0 + 0 + 0 + + + + + + + 227 + 26 + 28 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + + + + + + + + + 0 + 0 + + + + + 13 + 8 + + + + + + + + + 0 + 0 + 0 + + + + + + + 217 + 217 + 217 + + + + + + + 255 + 255 + 255 + + + + + + + 236 + 236 + 236 + + + + + + + 108 + 108 + 108 + + + + + + + 145 + 145 + 145 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 217 + 217 + 217 + + + + + + + 0 + 0 + 0 + + + + + + + 236 + 236 + 236 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 217 + 217 + 217 + + + + + + + 255 + 255 + 255 + + + + + + + 236 + 236 + 236 + + + + + + + 108 + 108 + 108 + + + + + + + 145 + 145 + 145 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 217 + 217 + 217 + + + + + + + 0 + 0 + 0 + + + + + + + 236 + 236 + 236 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 108 + 108 + 108 + + + + + + + 217 + 217 + 217 + + + + + + + 255 + 255 + 255 + + + + + + + 236 + 236 + 236 + + + + + + + 108 + 108 + 108 + + + + + + + 145 + 145 + 145 + + + + + + + 108 + 108 + 108 + + + + + + + 255 + 255 + 255 + + + + + + + 108 + 108 + 108 + + + + + + + 217 + 217 + 217 + + + + + + + 217 + 217 + 217 + + + + + + + 0 + 0 + 0 + + + + + + + 217 + 217 + 217 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + + + + + + + + + 0 + 0 + + + + + 13 + 8 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 127 + 0 + + + + + + + 255 + 191 + 127 + + + + + + + 255 + 159 + 63 + + + + + + + 127 + 63 + 0 + + + + + + + 170 + 84 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 127 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 191 + 127 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 127 + 0 + + + + + + + 255 + 191 + 127 + + + + + + + 255 + 159 + 63 + + + + + + + 127 + 63 + 0 + + + + + + + 170 + 84 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 127 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 191 + 127 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 63 + 0 + + + + + + + 255 + 127 + 0 + + + + + + + 255 + 191 + 127 + + + + + + + 255 + 159 + 63 + + + + + + + 127 + 63 + 0 + + + + + + + 170 + 84 + 0 + + + + + + + 127 + 63 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 63 + 0 + + + + + + + 255 + 127 + 0 + + + + + + + 255 + 127 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 127 + 0 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + + + + + + + + + 0 + 0 + + + + + 13 + 8 + + + + + + + + + 0 + 0 + 0 + + + + + + + 51 + 160 + 44 + + + + + + + 76 + 240 + 66 + + + + + + + 63 + 200 + 55 + + + + + + + 25 + 80 + 22 + + + + + + + 34 + 107 + 29 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 51 + 160 + 44 + + + + + + + 0 + 0 + 0 + + + + + + + 153 + 207 + 149 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 51 + 160 + 44 + + + + + + + 76 + 240 + 66 + + + + + + + 63 + 200 + 55 + + + + + + + 25 + 80 + 22 + + + + + + + 34 + 107 + 29 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 51 + 160 + 44 + + + + + + + 0 + 0 + 0 + + + + + + + 153 + 207 + 149 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 25 + 80 + 22 + + + + + + + 51 + 160 + 44 + + + + + + + 76 + 240 + 66 + + + + + + + 63 + 200 + 55 + + + + + + + 25 + 80 + 22 + + + + + + + 34 + 107 + 29 + + + + + + + 25 + 80 + 22 + + + + + + + 255 + 255 + 255 + + + + + + + 25 + 80 + 22 + + + + + + + 51 + 160 + 44 + + + + + + + 51 + 160 + 44 + + + + + + + 0 + 0 + 0 + + + + + + + 51 + 160 + 44 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + + + + + + + + + 0 + 0 + + + + + 13 + 8 + + + + + + + + + 0 + 0 + 0 + + + + + + + 178 + 223 + 138 + + + + + + + 246 + 255 + 238 + + + + + + + 212 + 239 + 188 + + + + + + + 89 + 111 + 69 + + + + + + + 119 + 149 + 92 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 178 + 223 + 138 + + + + + + + 0 + 0 + 0 + + + + + + + 216 + 239 + 196 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 178 + 223 + 138 + + + + + + + 246 + 255 + 238 + + + + + + + 212 + 239 + 188 + + + + + + + 89 + 111 + 69 + + + + + + + 119 + 149 + 92 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 178 + 223 + 138 + + + + + + + 0 + 0 + 0 + + + + + + + 216 + 239 + 196 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 89 + 111 + 69 + + + + + + + 178 + 223 + 138 + + + + + + + 246 + 255 + 238 + + + + + + + 212 + 239 + 188 + + + + + + + 89 + 111 + 69 + + + + + + + 119 + 149 + 92 + + + + + + + 89 + 111 + 69 + + + + + + + 255 + 255 + 255 + + + + + + + 89 + 111 + 69 + + + + + + + 178 + 223 + 138 + + + + + + + 178 + 223 + 138 + + + + + + + 0 + 0 + 0 + + + + + + + 178 + 223 + 138 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + + + + + + + + + 0 + 0 + + + + + 13 + 8 + + + + + + + + + 0 + 0 + 0 + + + + + + + 31 + 120 + 180 + + + + + + + 59 + 176 + 255 + + + + + + + 45 + 148 + 217 + + + + + + + 15 + 60 + 90 + + + + + + + 20 + 80 + 120 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 31 + 120 + 180 + + + + + + + 0 + 0 + 0 + + + + + + + 143 + 187 + 217 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 31 + 120 + 180 + + + + + + + 59 + 176 + 255 + + + + + + + 45 + 148 + 217 + + + + + + + 15 + 60 + 90 + + + + + + + 20 + 80 + 120 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 31 + 120 + 180 + + + + + + + 0 + 0 + 0 + + + + + + + 143 + 187 + 217 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 15 + 60 + 90 + + + + + + + 31 + 120 + 180 + + + + + + + 59 + 176 + 255 + + + + + + + 45 + 148 + 217 + + + + + + + 15 + 60 + 90 + + + + + + + 20 + 80 + 120 + + + + + + + 15 + 60 + 90 + + + + + + + 255 + 255 + 255 + + + + + + + 15 + 60 + 90 + + + + + + + 31 + 120 + 180 + + + + + + + 31 + 120 + 180 + + + + + + + 0 + 0 + 0 + + + + + + + 31 + 120 + 180 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + + + + + + + + + 0 + 0 + + + + + 0 + 2 + + + + + 8 + + + + 14 + + + + + + + + 0 + 0 + + + + + 13 + 8 + + + + + + + + + 0 + 0 + 0 + + + + + + + 251 + 154 + 153 + + + + + + + 255 + 255 + 255 + + + + + + + 253 + 204 + 204 + + + + + + + 125 + 77 + 76 + + + + + + + 167 + 103 + 102 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 251 + 154 + 153 + + + + + + + 0 + 0 + 0 + + + + + + + 253 + 204 + 204 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 251 + 154 + 153 + + + + + + + 255 + 255 + 255 + + + + + + + 253 + 204 + 204 + + + + + + + 125 + 77 + 76 + + + + + + + 167 + 103 + 102 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 251 + 154 + 153 + + + + + + + 0 + 0 + 0 + + + + + + + 253 + 204 + 204 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 125 + 77 + 76 + + + + + + + 251 + 154 + 153 + + + + + + + 255 + 255 + 255 + + + + + + + 253 + 204 + 204 + + + + + + + 125 + 77 + 76 + + + + + + + 167 + 103 + 102 + + + + + + + 125 + 77 + 76 + + + + + + + 255 + 255 + 255 + + + + + + + 125 + 77 + 76 + + + + + + + 251 + 154 + 153 + + + + + + + 251 + 154 + 153 + + + + + + + 0 + 0 + 0 + + + + + + + 251 + 154 + 153 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + + + + + + + + + 0 + 0 + + + + + 13 + 8 + + + + + + + + + 0 + 0 + 0 + + + + + + + 253 + 191 + 111 + + + + + + + 255 + 247 + 237 + + + + + + + 254 + 219 + 174 + + + + + + + 126 + 95 + 55 + + + + + + + 169 + 127 + 74 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 253 + 191 + 111 + + + + + + + 0 + 0 + 0 + + + + + + + 254 + 223 + 183 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 253 + 191 + 111 + + + + + + + 255 + 247 + 237 + + + + + + + 254 + 219 + 174 + + + + + + + 126 + 95 + 55 + + + + + + + 169 + 127 + 74 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 253 + 191 + 111 + + + + + + + 0 + 0 + 0 + + + + + + + 254 + 223 + 183 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 126 + 95 + 55 + + + + + + + 253 + 191 + 111 + + + + + + + 255 + 247 + 237 + + + + + + + 254 + 219 + 174 + + + + + + + 126 + 95 + 55 + + + + + + + 169 + 127 + 74 + + + + + + + 126 + 95 + 55 + + + + + + + 255 + 255 + 255 + + + + + + + 126 + 95 + 55 + + + + + + + 253 + 191 + 111 + + + + + + + 253 + 191 + 111 + + + + + + + 0 + 0 + 0 + + + + + + + 253 + 191 + 111 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + + + + + + + + + 0 + 0 + + + + + 0 + 2 + + + + + 8 + + + + 1 + + + + + + + + 0 + 0 + + + + + 13 + 8 + + + + + + + + + 0 + 0 + 0 + + + + + + + 166 + 206 + 227 + + + + + + + 255 + 255 + 255 + + + + + + + 210 + 230 + 241 + + + + + + + 83 + 103 + 113 + + + + + + + 111 + 137 + 151 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 166 + 206 + 227 + + + + + + + 0 + 0 + 0 + + + + + + + 210 + 230 + 241 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 166 + 206 + 227 + + + + + + + 255 + 255 + 255 + + + + + + + 210 + 230 + 241 + + + + + + + 83 + 103 + 113 + + + + + + + 111 + 137 + 151 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 166 + 206 + 227 + + + + + + + 0 + 0 + 0 + + + + + + + 210 + 230 + 241 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 83 + 103 + 113 + + + + + + + 166 + 206 + 227 + + + + + + + 255 + 255 + 255 + + + + + + + 210 + 230 + 241 + + + + + + + 83 + 103 + 113 + + + + + + + 111 + 137 + 151 + + + + + + + 83 + 103 + 113 + + + + + + + 255 + 255 + 255 + + + + + + + 83 + 103 + 113 + + + + + + + 166 + 206 + 227 + + + + + + + 166 + 206 + 227 + + + + + + + 0 + 0 + 0 + + + + + + + 166 + 206 + 227 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + + + + + + + + + 0 + 0 + + + + + 0 + 2 + + + + + 8 + + + + 4 + + + + + + + + 0 + 0 + + + + + 0 + 2 + + + + + 8 + + + + 3 + + + + + + + + 0 + 0 + + + + + 0 + 2 + + + + + 8 + + + + 6 + + + + + + + + 0 + 0 + + + + + 0 + 2 + + + + + 8 + + + + 2 + + + + + + + + 0 + 0 + + + + + 0 + 2 + + + + + 8 + + + + 11 + + + + + + + + 0 + 0 + + + + + 0 + 2 + + + + + 8 + + + + 7 + + + + + + + + 0 + 0 + + + + + 0 + 2 + + + + + 8 + + + + 5 + + + + + + + + 0 + 0 + + + + + 0 + 2 + + + + + 8 + + + + 10 + + + + + + + + 0 + 0 + + + + + 0 + 2 + + + + + 8 + + + + 8 + + + + + + + + 0 + 0 + + + + + 0 + 2 + + + + + 8 + + + + 9 + + + + + + + + + + + + + + + + + 0 + 0 + 798 + 18 + + + + + + + + PlotWidget + QWidget +
pyqtgraph
+ 1 +
+
+ + +
diff --git a/Legacy/TF_Control/data_analysis/design_files/Raw_data_design.py b/Legacy/TF_Control/data_analysis/design_files/Raw_data_design.py new file mode 100644 index 0000000..ba0173f --- /dev/null +++ b/Legacy/TF_Control/data_analysis/design_files/Raw_data_design.py @@ -0,0 +1,2488 @@ +# Form implementation generated from reading ui file 'Raw_data.ui' +# +# Created by: PyQt6 UI code generator 6.6.1 +# +# WARNING: Any manual changes made to this file will be lost when pyuic6 is +# run again. Do not edit this file unless you know what you are doing. + + +from PyQt6 import QtCore, QtGui, QtWidgets + + +class Ui_MainWindow(object): + def setupUi(self, MainWindow): + MainWindow.setObjectName("MainWindow") + MainWindow.resize(798, 593) + self.centralwidget = QtWidgets.QWidget(parent=MainWindow) + self.centralwidget.setObjectName("centralwidget") + self.gridLayout_2 = QtWidgets.QGridLayout(self.centralwidget) + self.gridLayout_2.setObjectName("gridLayout_2") + self.scrollArea = QtWidgets.QScrollArea(parent=self.centralwidget) + self.scrollArea.setWidgetResizable(True) + self.scrollArea.setObjectName("scrollArea") + self.scrollAreaWidgetContents = QtWidgets.QWidget() + self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 784, 543)) + self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents") + self.gridLayout_3 = QtWidgets.QGridLayout(self.scrollAreaWidgetContents) + self.gridLayout_3.setObjectName("gridLayout_3") + self.gridLayout = QtWidgets.QGridLayout() + self.gridLayout.setObjectName("gridLayout") + self.graphWidget_AMR_x = PlotWidget(parent=self.scrollAreaWidgetContents) + self.graphWidget_AMR_x.setObjectName("graphWidget_AMR_x") + self.gridLayout.addWidget(self.graphWidget_AMR_x, 1, 0, 1, 1) + self.graphWidget_AMR_z = PlotWidget(parent=self.scrollAreaWidgetContents) + self.graphWidget_AMR_z.setObjectName("graphWidget_AMR_z") + self.gridLayout.addWidget(self.graphWidget_AMR_z, 1, 2, 1, 1) + self.graphWidget_FG = PlotWidget(parent=self.scrollAreaWidgetContents) + self.graphWidget_FG.setObjectName("graphWidget_FG") + self.gridLayout.addWidget(self.graphWidget_FG, 2, 1, 1, 1) + self.graphWidget_AMR_y = PlotWidget(parent=self.scrollAreaWidgetContents) + self.graphWidget_AMR_y.setObjectName("graphWidget_AMR_y") + self.gridLayout.addWidget(self.graphWidget_AMR_y, 1, 1, 1, 1) + self.graphWidget_AMR_mag = PlotWidget(parent=self.scrollAreaWidgetContents) + self.graphWidget_AMR_mag.setObjectName("graphWidget_AMR_mag") + self.gridLayout.addWidget(self.graphWidget_AMR_mag, 2, 0, 1, 1) + self.graphWidget_T = PlotWidget(parent=self.scrollAreaWidgetContents) + self.graphWidget_T.setObjectName("graphWidget_T") + self.gridLayout.addWidget(self.graphWidget_T, 0, 0, 1, 1) + self.graphWidget_grad_loc = PlotWidget(parent=self.scrollAreaWidgetContents) + self.graphWidget_grad_loc.setObjectName("graphWidget_grad_loc") + self.gridLayout.addWidget(self.graphWidget_grad_loc, 0, 1, 1, 1) + self.gridLayout_17 = QtWidgets.QGridLayout() + self.gridLayout_17.setVerticalSpacing(2) + self.gridLayout_17.setObjectName("gridLayout_17") + self.label_61 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Ignored) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_61.sizePolicy().hasHeightForWidth()) + self.label_61.setSizePolicy(sizePolicy) + self.label_61.setMinimumSize(QtCore.QSize(13, 8)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(202, 178, 214)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(228, 216, 234)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(101, 89, 107)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(135, 119, 143)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(202, 178, 214)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(228, 216, 234)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(202, 178, 214)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(228, 216, 234)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(101, 89, 107)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(135, 119, 143)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(202, 178, 214)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(228, 216, 234)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(101, 89, 107)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(202, 178, 214)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(228, 216, 234)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(101, 89, 107)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(135, 119, 143)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(101, 89, 107)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(101, 89, 107)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(202, 178, 214)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(202, 178, 214)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(202, 178, 214)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.label_61.setPalette(palette) + self.label_61.setAutoFillBackground(True) + self.label_61.setText("") + self.label_61.setObjectName("label_61") + self.gridLayout_17.addWidget(self.label_61, 8, 3, 1, 1) + self.label_58 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Ignored) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_58.sizePolicy().hasHeightForWidth()) + self.label_58.setSizePolicy(sizePolicy) + self.label_58.setMinimumSize(QtCore.QSize(13, 8)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(177, 89, 40)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 135, 68)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(216, 112, 54)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(88, 44, 20)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(118, 59, 26)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(177, 89, 40)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(216, 172, 147)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(177, 89, 40)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 135, 68)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(216, 112, 54)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(88, 44, 20)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(118, 59, 26)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(177, 89, 40)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(216, 172, 147)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(88, 44, 20)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(177, 89, 40)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 135, 68)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(216, 112, 54)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(88, 44, 20)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(118, 59, 26)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(88, 44, 20)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(88, 44, 20)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(177, 89, 40)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(177, 89, 40)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(177, 89, 40)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.label_58.setPalette(palette) + self.label_58.setAutoFillBackground(True) + self.label_58.setText("") + self.label_58.setObjectName("label_58") + self.gridLayout_17.addWidget(self.label_58, 11, 3, 1, 1) + self.label_81 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_81.sizePolicy().hasHeightForWidth()) + self.label_81.setSizePolicy(sizePolicy) + self.label_81.setMinimumSize(QtCore.QSize(0, 2)) + font = QtGui.QFont() + font.setPointSize(8) + self.label_81.setFont(font) + self.label_81.setObjectName("label_81") + self.gridLayout_17.addWidget(self.label_81, 12, 2, 1, 1) + self.label_55 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Ignored) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_55.sizePolicy().hasHeightForWidth()) + self.label_55.setSizePolicy(sizePolicy) + self.label_55.setMinimumSize(QtCore.QSize(13, 8)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.label_55.setPalette(palette) + self.label_55.setAutoFillBackground(True) + self.label_55.setText("") + self.label_55.setObjectName("label_55") + self.gridLayout_17.addWidget(self.label_55, 14, 3, 1, 1) + self.label_60 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Ignored) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_60.sizePolicy().hasHeightForWidth()) + self.label_60.setSizePolicy(sizePolicy) + self.label_60.setMinimumSize(QtCore.QSize(13, 8)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(106, 61, 154)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(159, 91, 231)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(132, 76, 192)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(53, 30, 77)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(70, 40, 103)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(106, 61, 154)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(180, 158, 204)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(106, 61, 154)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(159, 91, 231)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(132, 76, 192)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(53, 30, 77)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(70, 40, 103)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(106, 61, 154)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(180, 158, 204)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(53, 30, 77)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(106, 61, 154)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(159, 91, 231)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(132, 76, 192)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(53, 30, 77)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(70, 40, 103)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(53, 30, 77)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(53, 30, 77)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(106, 61, 154)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(106, 61, 154)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(106, 61, 154)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.label_60.setPalette(palette) + self.label_60.setAutoFillBackground(True) + self.label_60.setText("") + self.label_60.setObjectName("label_60") + self.gridLayout_17.addWidget(self.label_60, 9, 3, 1, 1) + self.label_80 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_80.sizePolicy().hasHeightForWidth()) + self.label_80.setSizePolicy(sizePolicy) + self.label_80.setMinimumSize(QtCore.QSize(0, 2)) + font = QtGui.QFont() + font.setPointSize(8) + self.label_80.setFont(font) + self.label_80.setObjectName("label_80") + self.gridLayout_17.addWidget(self.label_80, 11, 2, 1, 1) + self.label_83 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_83.sizePolicy().hasHeightForWidth()) + self.label_83.setSizePolicy(sizePolicy) + self.label_83.setMinimumSize(QtCore.QSize(0, 2)) + font = QtGui.QFont() + font.setPointSize(8) + self.label_83.setFont(font) + self.label_83.setObjectName("label_83") + self.gridLayout_17.addWidget(self.label_83, 14, 2, 1, 1) + self.label_59 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Ignored) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_59.sizePolicy().hasHeightForWidth()) + self.label_59.setSizePolicy(sizePolicy) + self.label_59.setMinimumSize(QtCore.QSize(13, 8)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(231, 41, 138)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 137, 197)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(243, 89, 167)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(115, 20, 69)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(154, 27, 92)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(231, 41, 138)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(243, 148, 196)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(231, 41, 138)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 137, 197)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(243, 89, 167)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(115, 20, 69)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(154, 27, 92)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(231, 41, 138)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(243, 148, 196)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(115, 20, 69)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(231, 41, 138)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 137, 197)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(243, 89, 167)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(115, 20, 69)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(154, 27, 92)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(115, 20, 69)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(115, 20, 69)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(231, 41, 138)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(231, 41, 138)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(231, 41, 138)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.label_59.setPalette(palette) + self.label_59.setAutoFillBackground(True) + self.label_59.setText("") + self.label_59.setObjectName("label_59") + self.gridLayout_17.addWidget(self.label_59, 10, 3, 1, 1) + self.label_57 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Ignored) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_57.sizePolicy().hasHeightForWidth()) + self.label_57.setSizePolicy(sizePolicy) + self.label_57.setMinimumSize(QtCore.QSize(13, 8)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(1, 108, 89)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(1, 162, 134)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(1, 135, 111)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 54, 44)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 72, 59)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(1, 108, 89)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 54, 44)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(1, 108, 89)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(1, 162, 134)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(1, 135, 111)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 54, 44)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 72, 59)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(1, 108, 89)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 54, 44)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 54, 44)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(1, 108, 89)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(1, 162, 134)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(1, 135, 111)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 54, 44)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 72, 59)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 54, 44)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 54, 44)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(1, 108, 89)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(1, 108, 89)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(1, 108, 89)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.label_57.setPalette(palette) + self.label_57.setAutoFillBackground(True) + self.label_57.setText("") + self.label_57.setObjectName("label_57") + self.gridLayout_17.addWidget(self.label_57, 12, 3, 1, 1) + self.label_64 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Ignored) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_64.sizePolicy().hasHeightForWidth()) + self.label_64.setSizePolicy(sizePolicy) + self.label_64.setMinimumSize(QtCore.QSize(13, 8)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(227, 26, 28)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 115, 116)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(241, 70, 72)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(113, 13, 14)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(151, 17, 18)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(227, 26, 28)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(241, 140, 141)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(227, 26, 28)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 115, 116)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(241, 70, 72)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(113, 13, 14)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(151, 17, 18)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(227, 26, 28)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(241, 140, 141)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(113, 13, 14)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(227, 26, 28)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 115, 116)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(241, 70, 72)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(113, 13, 14)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(151, 17, 18)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(113, 13, 14)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(113, 13, 14)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(227, 26, 28)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(227, 26, 28)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(227, 26, 28)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.label_64.setPalette(palette) + self.label_64.setAutoFillBackground(True) + self.label_64.setText("") + self.label_64.setObjectName("label_64") + self.gridLayout_17.addWidget(self.label_64, 5, 3, 1, 1) + self.label_56 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Ignored) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_56.sizePolicy().hasHeightForWidth()) + self.label_56.setSizePolicy(sizePolicy) + self.label_56.setMinimumSize(QtCore.QSize(13, 8)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(217, 217, 217)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(236, 236, 236)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(108, 108, 108)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(145, 145, 145)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(217, 217, 217)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(236, 236, 236)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(217, 217, 217)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(236, 236, 236)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(108, 108, 108)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(145, 145, 145)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(217, 217, 217)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(236, 236, 236)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(108, 108, 108)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(217, 217, 217)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(236, 236, 236)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(108, 108, 108)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(145, 145, 145)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(108, 108, 108)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(108, 108, 108)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(217, 217, 217)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(217, 217, 217)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(217, 217, 217)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.label_56.setPalette(palette) + self.label_56.setAutoFillBackground(True) + self.label_56.setText("") + self.label_56.setObjectName("label_56") + self.gridLayout_17.addWidget(self.label_56, 13, 3, 1, 1) + self.label_62 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Ignored) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_62.sizePolicy().hasHeightForWidth()) + self.label_62.setSizePolicy(sizePolicy) + self.label_62.setMinimumSize(QtCore.QSize(13, 8)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 127, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 191, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 159, 63)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 63, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 84, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 127, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 191, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 127, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 191, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 159, 63)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 63, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 84, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 127, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 191, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 63, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 127, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 191, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 159, 63)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 63, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 84, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 63, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 63, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 127, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 127, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 127, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.label_62.setPalette(palette) + self.label_62.setAutoFillBackground(True) + self.label_62.setText("") + self.label_62.setObjectName("label_62") + self.gridLayout_17.addWidget(self.label_62, 7, 3, 1, 1) + self.label_67 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Ignored) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_67.sizePolicy().hasHeightForWidth()) + self.label_67.setSizePolicy(sizePolicy) + self.label_67.setMinimumSize(QtCore.QSize(13, 8)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(51, 160, 44)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(76, 240, 66)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(63, 200, 55)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(25, 80, 22)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(34, 107, 29)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(51, 160, 44)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(153, 207, 149)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(51, 160, 44)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(76, 240, 66)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(63, 200, 55)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(25, 80, 22)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(34, 107, 29)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(51, 160, 44)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(153, 207, 149)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(25, 80, 22)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(51, 160, 44)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(76, 240, 66)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(63, 200, 55)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(25, 80, 22)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(34, 107, 29)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(25, 80, 22)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(25, 80, 22)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(51, 160, 44)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(51, 160, 44)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(51, 160, 44)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.label_67.setPalette(palette) + self.label_67.setAutoFillBackground(True) + self.label_67.setText("") + self.label_67.setObjectName("label_67") + self.gridLayout_17.addWidget(self.label_67, 3, 3, 1, 1) + self.label_66 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Ignored) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_66.sizePolicy().hasHeightForWidth()) + self.label_66.setSizePolicy(sizePolicy) + self.label_66.setMinimumSize(QtCore.QSize(13, 8)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(178, 223, 138)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(246, 255, 238)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(212, 239, 188)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(89, 111, 69)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(119, 149, 92)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(178, 223, 138)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(216, 239, 196)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(178, 223, 138)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(246, 255, 238)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(212, 239, 188)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(89, 111, 69)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(119, 149, 92)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(178, 223, 138)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(216, 239, 196)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(89, 111, 69)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(178, 223, 138)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(246, 255, 238)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(212, 239, 188)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(89, 111, 69)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(119, 149, 92)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(89, 111, 69)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(89, 111, 69)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(178, 223, 138)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(178, 223, 138)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(178, 223, 138)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.label_66.setPalette(palette) + self.label_66.setAutoFillBackground(True) + self.label_66.setText("") + self.label_66.setObjectName("label_66") + self.gridLayout_17.addWidget(self.label_66, 2, 3, 1, 1) + self.label_68 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Ignored) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_68.sizePolicy().hasHeightForWidth()) + self.label_68.setSizePolicy(sizePolicy) + self.label_68.setMinimumSize(QtCore.QSize(13, 8)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(31, 120, 180)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(59, 176, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(45, 148, 217)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(15, 60, 90)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(20, 80, 120)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(31, 120, 180)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(143, 187, 217)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(31, 120, 180)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(59, 176, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(45, 148, 217)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(15, 60, 90)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(20, 80, 120)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(31, 120, 180)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(143, 187, 217)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(15, 60, 90)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(31, 120, 180)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(59, 176, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(45, 148, 217)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(15, 60, 90)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(20, 80, 120)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(15, 60, 90)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(15, 60, 90)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(31, 120, 180)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(31, 120, 180)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(31, 120, 180)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.label_68.setPalette(palette) + self.label_68.setAutoFillBackground(True) + self.label_68.setText("") + self.label_68.setObjectName("label_68") + self.gridLayout_17.addWidget(self.label_68, 1, 3, 1, 1) + self.label_82 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_82.sizePolicy().hasHeightForWidth()) + self.label_82.setSizePolicy(sizePolicy) + self.label_82.setMinimumSize(QtCore.QSize(0, 2)) + font = QtGui.QFont() + font.setPointSize(8) + self.label_82.setFont(font) + self.label_82.setObjectName("label_82") + self.gridLayout_17.addWidget(self.label_82, 13, 2, 1, 1) + self.label_70 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Ignored) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_70.sizePolicy().hasHeightForWidth()) + self.label_70.setSizePolicy(sizePolicy) + self.label_70.setMinimumSize(QtCore.QSize(13, 8)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(251, 154, 153)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(253, 204, 204)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(125, 77, 76)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(167, 103, 102)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(251, 154, 153)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(253, 204, 204)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(251, 154, 153)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(253, 204, 204)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(125, 77, 76)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(167, 103, 102)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(251, 154, 153)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(253, 204, 204)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(125, 77, 76)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(251, 154, 153)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(253, 204, 204)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(125, 77, 76)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(167, 103, 102)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(125, 77, 76)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(125, 77, 76)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(251, 154, 153)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(251, 154, 153)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(251, 154, 153)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.label_70.setPalette(palette) + self.label_70.setAutoFillBackground(True) + self.label_70.setText("") + self.label_70.setObjectName("label_70") + self.gridLayout_17.addWidget(self.label_70, 4, 3, 1, 1) + self.label_63 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Ignored) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_63.sizePolicy().hasHeightForWidth()) + self.label_63.setSizePolicy(sizePolicy) + self.label_63.setMinimumSize(QtCore.QSize(13, 8)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(253, 191, 111)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 247, 237)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(254, 219, 174)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(126, 95, 55)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(169, 127, 74)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(253, 191, 111)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(254, 223, 183)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(253, 191, 111)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 247, 237)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(254, 219, 174)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(126, 95, 55)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(169, 127, 74)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(253, 191, 111)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(254, 223, 183)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(126, 95, 55)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(253, 191, 111)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 247, 237)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(254, 219, 174)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(126, 95, 55)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(169, 127, 74)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(126, 95, 55)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(126, 95, 55)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(253, 191, 111)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(253, 191, 111)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(253, 191, 111)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.label_63.setPalette(palette) + self.label_63.setAutoFillBackground(True) + self.label_63.setText("") + self.label_63.setObjectName("label_63") + self.gridLayout_17.addWidget(self.label_63, 6, 3, 1, 1) + self.label_54 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_54.sizePolicy().hasHeightForWidth()) + self.label_54.setSizePolicy(sizePolicy) + self.label_54.setMinimumSize(QtCore.QSize(0, 2)) + font = QtGui.QFont() + font.setPointSize(8) + self.label_54.setFont(font) + self.label_54.setObjectName("label_54") + self.gridLayout_17.addWidget(self.label_54, 0, 2, 1, 1) + self.label_69 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Ignored) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_69.sizePolicy().hasHeightForWidth()) + self.label_69.setSizePolicy(sizePolicy) + self.label_69.setMinimumSize(QtCore.QSize(13, 8)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(166, 206, 227)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(210, 230, 241)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(83, 103, 113)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(111, 137, 151)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(166, 206, 227)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(210, 230, 241)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(166, 206, 227)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(210, 230, 241)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(83, 103, 113)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(111, 137, 151)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(166, 206, 227)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(210, 230, 241)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(83, 103, 113)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(166, 206, 227)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(210, 230, 241)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(83, 103, 113)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(111, 137, 151)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(83, 103, 113)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(83, 103, 113)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(166, 206, 227)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(166, 206, 227)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(166, 206, 227)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.label_69.setPalette(palette) + self.label_69.setAutoFillBackground(True) + self.label_69.setText("") + self.label_69.setObjectName("label_69") + self.gridLayout_17.addWidget(self.label_69, 0, 3, 1, 1) + self.label_72 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_72.sizePolicy().hasHeightForWidth()) + self.label_72.setSizePolicy(sizePolicy) + self.label_72.setMinimumSize(QtCore.QSize(0, 2)) + font = QtGui.QFont() + font.setPointSize(8) + self.label_72.setFont(font) + self.label_72.setObjectName("label_72") + self.gridLayout_17.addWidget(self.label_72, 3, 2, 1, 1) + self.label_71 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_71.sizePolicy().hasHeightForWidth()) + self.label_71.setSizePolicy(sizePolicy) + self.label_71.setMinimumSize(QtCore.QSize(0, 2)) + font = QtGui.QFont() + font.setPointSize(8) + self.label_71.setFont(font) + self.label_71.setObjectName("label_71") + self.gridLayout_17.addWidget(self.label_71, 2, 2, 1, 1) + self.label_74 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_74.sizePolicy().hasHeightForWidth()) + self.label_74.setSizePolicy(sizePolicy) + self.label_74.setMinimumSize(QtCore.QSize(0, 2)) + font = QtGui.QFont() + font.setPointSize(8) + self.label_74.setFont(font) + self.label_74.setObjectName("label_74") + self.gridLayout_17.addWidget(self.label_74, 5, 2, 1, 1) + self.label_65 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_65.sizePolicy().hasHeightForWidth()) + self.label_65.setSizePolicy(sizePolicy) + self.label_65.setMinimumSize(QtCore.QSize(0, 2)) + font = QtGui.QFont() + font.setPointSize(8) + self.label_65.setFont(font) + self.label_65.setObjectName("label_65") + self.gridLayout_17.addWidget(self.label_65, 1, 2, 1, 1) + self.label_79 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_79.sizePolicy().hasHeightForWidth()) + self.label_79.setSizePolicy(sizePolicy) + self.label_79.setMinimumSize(QtCore.QSize(0, 2)) + font = QtGui.QFont() + font.setPointSize(8) + self.label_79.setFont(font) + self.label_79.setObjectName("label_79") + self.gridLayout_17.addWidget(self.label_79, 10, 2, 1, 1) + self.label_75 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_75.sizePolicy().hasHeightForWidth()) + self.label_75.setSizePolicy(sizePolicy) + self.label_75.setMinimumSize(QtCore.QSize(0, 2)) + font = QtGui.QFont() + font.setPointSize(8) + self.label_75.setFont(font) + self.label_75.setObjectName("label_75") + self.gridLayout_17.addWidget(self.label_75, 6, 2, 1, 1) + self.label_73 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_73.sizePolicy().hasHeightForWidth()) + self.label_73.setSizePolicy(sizePolicy) + self.label_73.setMinimumSize(QtCore.QSize(0, 2)) + font = QtGui.QFont() + font.setPointSize(8) + self.label_73.setFont(font) + self.label_73.setObjectName("label_73") + self.gridLayout_17.addWidget(self.label_73, 4, 2, 1, 1) + self.label_78 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_78.sizePolicy().hasHeightForWidth()) + self.label_78.setSizePolicy(sizePolicy) + self.label_78.setMinimumSize(QtCore.QSize(0, 2)) + font = QtGui.QFont() + font.setPointSize(8) + self.label_78.setFont(font) + self.label_78.setObjectName("label_78") + self.gridLayout_17.addWidget(self.label_78, 9, 2, 1, 1) + self.label_76 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_76.sizePolicy().hasHeightForWidth()) + self.label_76.setSizePolicy(sizePolicy) + self.label_76.setMinimumSize(QtCore.QSize(0, 2)) + font = QtGui.QFont() + font.setPointSize(8) + self.label_76.setFont(font) + self.label_76.setObjectName("label_76") + self.gridLayout_17.addWidget(self.label_76, 7, 2, 1, 1) + self.label_77 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_77.sizePolicy().hasHeightForWidth()) + self.label_77.setSizePolicy(sizePolicy) + self.label_77.setMinimumSize(QtCore.QSize(0, 2)) + font = QtGui.QFont() + font.setPointSize(8) + self.label_77.setFont(font) + self.label_77.setObjectName("label_77") + self.gridLayout_17.addWidget(self.label_77, 8, 2, 1, 1) + self.gridLayout.addLayout(self.gridLayout_17, 0, 2, 1, 1) + self.gridLayout_3.addLayout(self.gridLayout, 0, 0, 1, 1) + self.scrollArea.setWidget(self.scrollAreaWidgetContents) + self.gridLayout_2.addWidget(self.scrollArea, 0, 0, 1, 1) + MainWindow.setCentralWidget(self.centralwidget) + self.menubar = QtWidgets.QMenuBar(parent=MainWindow) + self.menubar.setGeometry(QtCore.QRect(0, 0, 798, 18)) + self.menubar.setObjectName("menubar") + MainWindow.setMenuBar(self.menubar) + self.statusbar = QtWidgets.QStatusBar(parent=MainWindow) + self.statusbar.setObjectName("statusbar") + MainWindow.setStatusBar(self.statusbar) + + self.retranslateUi(MainWindow) + QtCore.QMetaObject.connectSlotsByName(MainWindow) + + def retranslateUi(self, MainWindow): + _translate = QtCore.QCoreApplication.translate + MainWindow.setWindowTitle(_translate("MainWindow", "Raw Data")) + self.label_81.setText(_translate("MainWindow", "13")) + self.label_80.setText(_translate("MainWindow", "12")) + self.label_83.setText(_translate("MainWindow", "15")) + self.label_82.setText(_translate("MainWindow", "14")) + self.label_54.setText(_translate("MainWindow", "1")) + self.label_72.setText(_translate("MainWindow", "4")) + self.label_71.setText(_translate("MainWindow", "3")) + self.label_74.setText(_translate("MainWindow", "6")) + self.label_65.setText(_translate("MainWindow", "2")) + self.label_79.setText(_translate("MainWindow", "11")) + self.label_75.setText(_translate("MainWindow", "7")) + self.label_73.setText(_translate("MainWindow", "5")) + self.label_78.setText(_translate("MainWindow", "10")) + self.label_76.setText(_translate("MainWindow", "8")) + self.label_77.setText(_translate("MainWindow", "9")) +from pyqtgraph import PlotWidget diff --git a/Legacy/TF_Control/design_files/AMR_calibration.ui b/Legacy/TF_Control/design_files/AMR_calibration.ui new file mode 100644 index 0000000..47515ec --- /dev/null +++ b/Legacy/TF_Control/design_files/AMR_calibration.ui @@ -0,0 +1,614 @@ + + + MainWindow + + + + 0 + 0 + 409 + 242 + + + + MainWindow + + + + + + 0 + 0 + 391 + 191 + + + + + + + + + Save Path (folder): + + + + + + + + + + Load Path (file): + + + + + + + + + + Load + + + + + + + + + + + Current point + + + + + + + Settling Time [s] + + + + + + + 0.010000000000000 + + + 1.500000000000000 + + + + + + + 0.010000000000000 + + + 0.100000000000000 + + + + + + + + Voltage + + + + + Flux density + + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + + + + + Number of points + + + + + + + false + + + 15 + + + + + + + timing [s] + + + + + + + Perform Calibration + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + + 0 + 0 + 409 + 18 + + + + + File + + + + + + + + + + Make current values default + + + + + Load default values + + + + + + diff --git a/Legacy/TF_Control/design_files/AMR_calibration_design.py b/Legacy/TF_Control/design_files/AMR_calibration_design.py new file mode 100644 index 0000000..4fa0b89 --- /dev/null +++ b/Legacy/TF_Control/design_files/AMR_calibration_design.py @@ -0,0 +1,260 @@ +# Form implementation generated from reading ui file 'AMR_calibration.ui' +# +# Created by: PyQt6 UI code generator 6.6.1 +# +# WARNING: Any manual changes made to this file will be lost when pyuic6 is +# run again. Do not edit this file unless you know what you are doing. + + +from PyQt6 import QtCore, QtGui, QtWidgets + + +class Ui_MainWindow(object): + def setupUi(self, MainWindow): + MainWindow.setObjectName("MainWindow") + MainWindow.resize(409, 242) + self.centralwidget = QtWidgets.QWidget(parent=MainWindow) + self.centralwidget.setObjectName("centralwidget") + self.layoutWidget = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget.setGeometry(QtCore.QRect(0, 0, 391, 191)) + self.layoutWidget.setObjectName("layoutWidget") + self.gridLayout_3 = QtWidgets.QGridLayout(self.layoutWidget) + self.gridLayout_3.setContentsMargins(0, 0, 0, 0) + self.gridLayout_3.setObjectName("gridLayout_3") + self.gridLayout_2 = QtWidgets.QGridLayout() + self.gridLayout_2.setObjectName("gridLayout_2") + self.label_5 = QtWidgets.QLabel(parent=self.layoutWidget) + self.label_5.setObjectName("label_5") + self.gridLayout_2.addWidget(self.label_5, 0, 0, 1, 1) + self.line_savePath = QtWidgets.QLineEdit(parent=self.layoutWidget) + self.line_savePath.setObjectName("line_savePath") + self.gridLayout_2.addWidget(self.line_savePath, 0, 1, 1, 1) + self.label_6 = QtWidgets.QLabel(parent=self.layoutWidget) + self.label_6.setObjectName("label_6") + self.gridLayout_2.addWidget(self.label_6, 1, 0, 1, 1) + self.line_loadPath = QtWidgets.QLineEdit(parent=self.layoutWidget) + self.line_loadPath.setObjectName("line_loadPath") + self.gridLayout_2.addWidget(self.line_loadPath, 1, 1, 1, 1) + self.Button_load = QtWidgets.QPushButton(parent=self.layoutWidget) + self.Button_load.setObjectName("Button_load") + self.gridLayout_2.addWidget(self.Button_load, 1, 2, 1, 1) + self.gridLayout_3.addLayout(self.gridLayout_2, 0, 0, 1, 1) + self.gridLayout = QtWidgets.QGridLayout() + self.gridLayout.setObjectName("gridLayout") + self.label_2 = QtWidgets.QLabel(parent=self.layoutWidget) + self.label_2.setObjectName("label_2") + self.gridLayout.addWidget(self.label_2, 2, 0, 1, 1) + self.label_4 = QtWidgets.QLabel(parent=self.layoutWidget) + self.label_4.setObjectName("label_4") + self.gridLayout.addWidget(self.label_4, 1, 0, 1, 1) + self.dSB_settling_time = QtWidgets.QDoubleSpinBox(parent=self.layoutWidget) + self.dSB_settling_time.setMinimum(0.01) + self.dSB_settling_time.setProperty("value", 1.5) + self.dSB_settling_time.setObjectName("dSB_settling_time") + self.gridLayout.addWidget(self.dSB_settling_time, 1, 1, 1, 1) + self.dSB_timing = QtWidgets.QDoubleSpinBox(parent=self.layoutWidget) + self.dSB_timing.setMinimum(0.01) + self.dSB_timing.setProperty("value", 0.1) + self.dSB_timing.setObjectName("dSB_timing") + self.gridLayout.addWidget(self.dSB_timing, 5, 1, 1, 1) + self.comboBox = QtWidgets.QComboBox(parent=self.layoutWidget) + self.comboBox.setObjectName("comboBox") + self.comboBox.addItem("") + self.comboBox.addItem("") + self.gridLayout.addWidget(self.comboBox, 4, 0, 1, 2) + self.lab_currentpoint = QtWidgets.QLabel(parent=self.layoutWidget) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.lab_currentpoint.setPalette(palette) + self.lab_currentpoint.setAutoFillBackground(True) + self.lab_currentpoint.setObjectName("lab_currentpoint") + self.gridLayout.addWidget(self.lab_currentpoint, 2, 1, 1, 1) + self.label = QtWidgets.QLabel(parent=self.layoutWidget) + self.label.setObjectName("label") + self.gridLayout.addWidget(self.label, 0, 0, 1, 1) + self.sB_nPoints = QtWidgets.QSpinBox(parent=self.layoutWidget) + self.sB_nPoints.setEnabled(True) + self.sB_nPoints.setProperty("value", 15) + self.sB_nPoints.setObjectName("sB_nPoints") + self.gridLayout.addWidget(self.sB_nPoints, 0, 1, 1, 1) + self.label_3 = QtWidgets.QLabel(parent=self.layoutWidget) + self.label_3.setObjectName("label_3") + self.gridLayout.addWidget(self.label_3, 5, 0, 1, 1) + self.Button_calibrate = QtWidgets.QPushButton(parent=self.layoutWidget) + self.Button_calibrate.setObjectName("Button_calibrate") + self.gridLayout.addWidget(self.Button_calibrate, 3, 0, 1, 2) + spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum) + self.gridLayout.addItem(spacerItem, 0, 2, 1, 1) + self.gridLayout_3.addLayout(self.gridLayout, 1, 0, 1, 1) + MainWindow.setCentralWidget(self.centralwidget) + self.menubar = QtWidgets.QMenuBar(parent=MainWindow) + self.menubar.setGeometry(QtCore.QRect(0, 0, 409, 18)) + self.menubar.setObjectName("menubar") + self.menuFile = QtWidgets.QMenu(parent=self.menubar) + self.menuFile.setObjectName("menuFile") + MainWindow.setMenuBar(self.menubar) + self.statusbar = QtWidgets.QStatusBar(parent=MainWindow) + self.statusbar.setObjectName("statusbar") + MainWindow.setStatusBar(self.statusbar) + self.action_save_default = QtGui.QAction(parent=MainWindow) + self.action_save_default.setObjectName("action_save_default") + self.action_load_default = QtGui.QAction(parent=MainWindow) + self.action_load_default.setObjectName("action_load_default") + self.menuFile.addAction(self.action_save_default) + self.menuFile.addAction(self.action_load_default) + self.menubar.addAction(self.menuFile.menuAction()) + + self.retranslateUi(MainWindow) + QtCore.QMetaObject.connectSlotsByName(MainWindow) + + def retranslateUi(self, MainWindow): + _translate = QtCore.QCoreApplication.translate + MainWindow.setWindowTitle(_translate("MainWindow", "AMR_Calibration")) + self.label_5.setText(_translate("MainWindow", "Save Path (folder):")) + self.label_6.setText(_translate("MainWindow", "Load Path (file):")) + self.Button_load.setText(_translate("MainWindow", "Load")) + self.label_2.setText(_translate("MainWindow", "Current point")) + self.label_4.setText(_translate("MainWindow", "Settling Time [s]")) + self.comboBox.setItemText(0, _translate("MainWindow", "Voltage")) + self.comboBox.setItemText(1, _translate("MainWindow", "Flux density")) + self.lab_currentpoint.setText(_translate("MainWindow", "0")) + self.label.setText(_translate("MainWindow", "Number of points")) + self.label_3.setText(_translate("MainWindow", "timing [s]")) + self.Button_calibrate.setText(_translate("MainWindow", "Perform Calibration")) + self.menuFile.setTitle(_translate("MainWindow", "File")) + self.action_save_default.setText(_translate("MainWindow", "Make current values default")) + self.action_load_default.setText(_translate("MainWindow", "Load default values")) diff --git a/Legacy/TF_Control/design_files/Automation_Measurement.ui b/Legacy/TF_Control/design_files/Automation_Measurement.ui new file mode 100644 index 0000000..48dcba1 --- /dev/null +++ b/Legacy/TF_Control/design_files/Automation_Measurement.ui @@ -0,0 +1,2255 @@ + + + MainWindow + + + + 0 + 0 + 664 + 876 + + + + Automation of Measurements + + + + + + 10 + 10 + 291 + 491 + + + + 3 + + + + TF vs DT + + + + true + + + + 10 + 140 + 151 + 17 + + + + Unlimited Measurements + + + + + + 10 + 30 + 201 + 93 + + + + + + + + 0 + 0 + + + + + + + + Min Gradient (K) + + + + + + + Max Gradient (K) + + + + + + + + 0 + 0 + + + + + + + + + 0 + 0 + + + + + + + + Gradient stepwidth (K) + + + + + + + + + TF vs Bext + + + + + 10 + 160 + 221 + 31 + + + + + + + 10 + 140 + 231 + 19 + + + + List of gradients (K/cm). Separated by ";" + + + + + + 10 + 30 + 201 + 93 + + + + + + + Min Bext (µT) + + + + + + + + 0 + 0 + + + + + + + + Bext stepwidth (µT) + + + + + + + Max Bext (µT) + + + + + + + + 0 + 0 + + + + + + + + + 0 + 0 + + + + + + + + + + 170 + 200 + 61 + 211 + + + + + + + 80 + 200 + 81 + 211 + + + + + + + TF vs Speed + + + + + B Compensation + + + + + 160 + 30 + 91 + 311 + + + + + + + 20 + 30 + 131 + 311 + + + + + + + 20 + 10 + 61 + 19 + + + + Bext list + + + + + + 160 + 10 + 61 + 19 + + + + Status + + + + + + 20 + 350 + 151 + 21 + + + + Perform compensation + + + + + + 20 + 370 + 151 + 21 + + + + Abort compensation + + + + + false + + + + 180 + 350 + 101 + 21 + + + + Take it + + + + + + 0 + 390 + 291 + 16 + + + + Qt::Horizontal + + + + + + 10 + 410 + 251 + 21 + + + + + 0 + 0 + + + + + + + 10 + 440 + 101 + 20 + + + + Load data + + + + + + + + 10 + 510 + 621 + 311 + + + + QFrame::StyledPanel + + + QFrame::Plain + + + 3 + + + 3 + + + + + 10 + 140 + 281 + 161 + + + + + + + 10 + 10 + 151 + 19 + + + + + MS Shell Dlg 2 + 14 + 50 + false + false + + + + PID parameter + + + + + + 10 + 50 + 241 + 82 + + + + + + + + 0 + 0 + + + + + + + + Temperature tolerance (K) + + + + + + + + 0 + 0 + + + + + + + + Time + + + + + + + Temp. average time (s) + + + + + + + + 0 + 0 + + + + + + + + + + 310 + 140 + 281 + 161 + + + + + + + 270 + 99 + 81 + 21 + + + + Stop waiting + + + + + + 440 + 80 + 151 + 53 + + + + + + + Buffer (s) + + + + + + + + 0 + 0 + + + + + + + + Plot (s) + + + + + + + + 0 + 0 + + + + + + + + + + + 310 + 30 + 321 + 471 + + + + QFrame::StyledPanel + + + QFrame::Plain + + + 3 + + + 3 + + + + + 10 + 10 + 181 + 19 + + + + + MS Shell Dlg 2 + 14 + 50 + false + false + + + + General parameter + + + + + + 20 + 300 + 131 + 20 + + + + Start measurement + + + + + + 20 + 40 + 97 + 19 + + + + Points folder path + + + + + + 120 + 40 + 181 + 21 + + + + + 0 + 0 + + + + + + + 170 + 300 + 131 + 20 + + + + Stop measurement + + + + + + 190 + 380 + 41 + 21 + + + + Calc. + + + + + + 18 + 410 + 101 + 19 + + + + Time/Cooldown (s) + + + + + true + + + + 130 + 410 + 41 + 19 + + + + + 0 + 0 + + + + + + + 180 + 410 + 61 + 19 + + + + , total time: + + + + + + 250 + 410 + 61 + 20 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + + + + + + + 0 + 350 + 321 + 16 + + + + Qt::Horizontal + + + + + + 20 + 182 + 201 + 111 + + + + + + + Current mode: + + + + + + + + TF vs DT + + + + + TF vs Bext + + + + + TF vs Speed + + + + + + + + Gradient (K/cm) + + + + + + + false + + + + 0 + 0 + + + + + + + + Bext (µT) + + + + + + + true + + + + 0 + 0 + + + + + + + + Speed (K/s) + + + + + + + true + + + + 0 + 0 + + + + + + + + + + 18 + 90 + 241 + 82 + + + + + + + + 0 + 0 + + + + + + + + + 0 + 0 + + + + + + + + Cooldown finished T (K) + + + + + + + Base temperature (K) + + + + + + + Sensor distance (cm) + + + + + + + + 0 + 0 + + + + + + + + + + 20 + 380 + 161 + 21 + + + + + + + Cooldowns: + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + + + + + + + + + + 63 + 440 + 251 + 20 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + + + + + + + 20 + 440 + 32 + 16 + + + + Status: + + + + + + 20 + 330 + 131 + 20 + + + + Click to pause + + + + + + + + 0 + 0 + 664 + 21 + + + + + File + + + + + + + + + + Make current values default + + + + + Reset default values + + + + + + PlotWidget + QWidget +
pyqtgraph
+ 1 +
+
+ + +
diff --git a/Legacy/TF_Control/design_files/Automation_Measurement_design.py b/Legacy/TF_Control/design_files/Automation_Measurement_design.py new file mode 100644 index 0000000..69bdc6d --- /dev/null +++ b/Legacy/TF_Control/design_files/Automation_Measurement_design.py @@ -0,0 +1,929 @@ +# Form implementation generated from reading ui file 'Automation_Measurement.ui' +# +# Created by: PyQt6 UI code generator 6.6.1 +# +# WARNING: Any manual changes made to this file will be lost when pyuic6 is +# run again. Do not edit this file unless you know what you are doing. + + +from PyQt6 import QtCore, QtGui, QtWidgets + + +class Ui_MainWindow(object): + def setupUi(self, MainWindow): + MainWindow.setObjectName("MainWindow") + MainWindow.resize(664, 876) + self.centralwidget = QtWidgets.QWidget(parent=MainWindow) + self.centralwidget.setObjectName("centralwidget") + self.tabWidget = QtWidgets.QTabWidget(parent=self.centralwidget) + self.tabWidget.setGeometry(QtCore.QRect(10, 10, 291, 491)) + self.tabWidget.setObjectName("tabWidget") + self.tab = QtWidgets.QWidget() + self.tab.setObjectName("tab") + self.checkBox_Unlimited_Measurements = QtWidgets.QCheckBox(parent=self.tab) + self.checkBox_Unlimited_Measurements.setEnabled(True) + self.checkBox_Unlimited_Measurements.setGeometry(QtCore.QRect(10, 140, 151, 17)) + self.checkBox_Unlimited_Measurements.setObjectName("checkBox_Unlimited_Measurements") + self.layoutWidget = QtWidgets.QWidget(parent=self.tab) + self.layoutWidget.setGeometry(QtCore.QRect(10, 30, 201, 93)) + self.layoutWidget.setObjectName("layoutWidget") + self.gridLayout_2 = QtWidgets.QGridLayout(self.layoutWidget) + self.gridLayout_2.setContentsMargins(0, 0, 0, 0) + self.gridLayout_2.setObjectName("gridLayout_2") + self.line_Min_Gradient = QtWidgets.QLineEdit(parent=self.layoutWidget) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_Min_Gradient.sizePolicy().hasHeightForWidth()) + self.line_Min_Gradient.setSizePolicy(sizePolicy) + self.line_Min_Gradient.setObjectName("line_Min_Gradient") + self.gridLayout_2.addWidget(self.line_Min_Gradient, 0, 1, 1, 1) + self.label_20 = QtWidgets.QLabel(parent=self.layoutWidget) + self.label_20.setObjectName("label_20") + self.gridLayout_2.addWidget(self.label_20, 0, 0, 1, 1) + self.label_22 = QtWidgets.QLabel(parent=self.layoutWidget) + self.label_22.setObjectName("label_22") + self.gridLayout_2.addWidget(self.label_22, 1, 0, 1, 1) + self.line_Gradient_Stepwidth = QtWidgets.QLineEdit(parent=self.layoutWidget) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_Gradient_Stepwidth.sizePolicy().hasHeightForWidth()) + self.line_Gradient_Stepwidth.setSizePolicy(sizePolicy) + self.line_Gradient_Stepwidth.setObjectName("line_Gradient_Stepwidth") + self.gridLayout_2.addWidget(self.line_Gradient_Stepwidth, 2, 1, 1, 1) + self.line_Max_Gradient = QtWidgets.QLineEdit(parent=self.layoutWidget) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_Max_Gradient.sizePolicy().hasHeightForWidth()) + self.line_Max_Gradient.setSizePolicy(sizePolicy) + self.line_Max_Gradient.setObjectName("line_Max_Gradient") + self.gridLayout_2.addWidget(self.line_Max_Gradient, 1, 1, 1, 1) + self.label_23 = QtWidgets.QLabel(parent=self.layoutWidget) + self.label_23.setObjectName("label_23") + self.gridLayout_2.addWidget(self.label_23, 2, 0, 1, 1) + self.tabWidget.addTab(self.tab, "") + self.tab_2 = QtWidgets.QWidget() + self.tab_2.setObjectName("tab_2") + self.lineEdit_Gradient_List = QtWidgets.QLineEdit(parent=self.tab_2) + self.lineEdit_Gradient_List.setGeometry(QtCore.QRect(10, 160, 221, 31)) + self.lineEdit_Gradient_List.setObjectName("lineEdit_Gradient_List") + self.label_19 = QtWidgets.QLabel(parent=self.tab_2) + self.label_19.setGeometry(QtCore.QRect(10, 140, 231, 19)) + self.label_19.setObjectName("label_19") + self.layoutWidget_2 = QtWidgets.QWidget(parent=self.tab_2) + self.layoutWidget_2.setGeometry(QtCore.QRect(10, 30, 201, 93)) + self.layoutWidget_2.setObjectName("layoutWidget_2") + self.gridLayout_3 = QtWidgets.QGridLayout(self.layoutWidget_2) + self.gridLayout_3.setContentsMargins(0, 0, 0, 0) + self.gridLayout_3.setObjectName("gridLayout_3") + self.label_25 = QtWidgets.QLabel(parent=self.layoutWidget_2) + self.label_25.setObjectName("label_25") + self.gridLayout_3.addWidget(self.label_25, 0, 0, 1, 1) + self.line_Min_Bext = QtWidgets.QLineEdit(parent=self.layoutWidget_2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_Min_Bext.sizePolicy().hasHeightForWidth()) + self.line_Min_Bext.setSizePolicy(sizePolicy) + self.line_Min_Bext.setObjectName("line_Min_Bext") + self.gridLayout_3.addWidget(self.line_Min_Bext, 0, 1, 1, 1) + self.label_27 = QtWidgets.QLabel(parent=self.layoutWidget_2) + self.label_27.setObjectName("label_27") + self.gridLayout_3.addWidget(self.label_27, 2, 0, 1, 1) + self.label_26 = QtWidgets.QLabel(parent=self.layoutWidget_2) + self.label_26.setObjectName("label_26") + self.gridLayout_3.addWidget(self.label_26, 1, 0, 1, 1) + self.line_Stepwidth_Bext = QtWidgets.QLineEdit(parent=self.layoutWidget_2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_Stepwidth_Bext.sizePolicy().hasHeightForWidth()) + self.line_Stepwidth_Bext.setSizePolicy(sizePolicy) + self.line_Stepwidth_Bext.setObjectName("line_Stepwidth_Bext") + self.gridLayout_3.addWidget(self.line_Stepwidth_Bext, 2, 1, 1, 1) + self.line_Max_Bext = QtWidgets.QLineEdit(parent=self.layoutWidget_2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_Max_Bext.sizePolicy().hasHeightForWidth()) + self.line_Max_Bext.setSizePolicy(sizePolicy) + self.line_Max_Bext.setObjectName("line_Max_Bext") + self.gridLayout_3.addWidget(self.line_Max_Bext, 1, 1, 1, 1) + self.listWidget_Gradients_Progress = QtWidgets.QListWidget(parent=self.tab_2) + self.listWidget_Gradients_Progress.setGeometry(QtCore.QRect(170, 200, 61, 211)) + self.listWidget_Gradients_Progress.setObjectName("listWidget_Gradients_Progress") + self.listWidget_Gradients = QtWidgets.QListWidget(parent=self.tab_2) + self.listWidget_Gradients.setGeometry(QtCore.QRect(80, 200, 81, 211)) + self.listWidget_Gradients.setObjectName("listWidget_Gradients") + self.tabWidget.addTab(self.tab_2, "") + self.tab_3 = QtWidgets.QWidget() + self.tab_3.setObjectName("tab_3") + self.tabWidget.addTab(self.tab_3, "") + self.tab_4 = QtWidgets.QWidget() + self.tab_4.setObjectName("tab_4") + self.listWidget_Bext_Progress = QtWidgets.QListWidget(parent=self.tab_4) + self.listWidget_Bext_Progress.setGeometry(QtCore.QRect(160, 30, 91, 311)) + self.listWidget_Bext_Progress.setObjectName("listWidget_Bext_Progress") + self.listWidget_Bext = QtWidgets.QListWidget(parent=self.tab_4) + self.listWidget_Bext.setGeometry(QtCore.QRect(20, 30, 131, 311)) + self.listWidget_Bext.setObjectName("listWidget_Bext") + self.label_38 = QtWidgets.QLabel(parent=self.tab_4) + self.label_38.setGeometry(QtCore.QRect(20, 10, 61, 19)) + self.label_38.setObjectName("label_38") + self.label_39 = QtWidgets.QLabel(parent=self.tab_4) + self.label_39.setGeometry(QtCore.QRect(160, 10, 61, 19)) + self.label_39.setObjectName("label_39") + self.pushButton_Perform_Compensation = QtWidgets.QPushButton(parent=self.tab_4) + self.pushButton_Perform_Compensation.setGeometry(QtCore.QRect(20, 350, 151, 21)) + self.pushButton_Perform_Compensation.setObjectName("pushButton_Perform_Compensation") + self.pushButton_Abort_Compensation = QtWidgets.QPushButton(parent=self.tab_4) + self.pushButton_Abort_Compensation.setGeometry(QtCore.QRect(20, 370, 151, 21)) + self.pushButton_Abort_Compensation.setObjectName("pushButton_Abort_Compensation") + self.pushButton_Compensation_Take_It = QtWidgets.QPushButton(parent=self.tab_4) + self.pushButton_Compensation_Take_It.setEnabled(False) + self.pushButton_Compensation_Take_It.setGeometry(QtCore.QRect(180, 350, 101, 21)) + self.pushButton_Compensation_Take_It.setObjectName("pushButton_Compensation_Take_It") + self.line_2 = QtWidgets.QFrame(parent=self.tab_4) + self.line_2.setGeometry(QtCore.QRect(0, 390, 291, 16)) + self.line_2.setFrameShape(QtWidgets.QFrame.Shape.HLine) + self.line_2.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken) + self.line_2.setObjectName("line_2") + self.line_Bext_Compensation_Path = QtWidgets.QLineEdit(parent=self.tab_4) + self.line_Bext_Compensation_Path.setGeometry(QtCore.QRect(10, 410, 251, 21)) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_Bext_Compensation_Path.sizePolicy().hasHeightForWidth()) + self.line_Bext_Compensation_Path.setSizePolicy(sizePolicy) + self.line_Bext_Compensation_Path.setObjectName("line_Bext_Compensation_Path") + self.pushButton_load_Bext_Compensation = QtWidgets.QPushButton(parent=self.tab_4) + self.pushButton_load_Bext_Compensation.setGeometry(QtCore.QRect(10, 440, 101, 20)) + self.pushButton_load_Bext_Compensation.setObjectName("pushButton_load_Bext_Compensation") + self.tabWidget.addTab(self.tab_4, "") + self.frame = QtWidgets.QFrame(parent=self.centralwidget) + self.frame.setGeometry(QtCore.QRect(10, 510, 621, 311)) + self.frame.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel) + self.frame.setFrameShadow(QtWidgets.QFrame.Shadow.Plain) + self.frame.setLineWidth(3) + self.frame.setMidLineWidth(3) + self.frame.setObjectName("frame") + self.graphWidget_Temp_Top = PlotWidget(parent=self.frame) + self.graphWidget_Temp_Top.setGeometry(QtCore.QRect(10, 140, 281, 161)) + self.graphWidget_Temp_Top.setObjectName("graphWidget_Temp_Top") + self.label_18 = QtWidgets.QLabel(parent=self.frame) + self.label_18.setGeometry(QtCore.QRect(10, 10, 151, 19)) + font = QtGui.QFont() + font.setFamily("MS Shell Dlg 2") + font.setPointSize(14) + font.setBold(False) + font.setItalic(False) + font.setWeight(50) + self.label_18.setFont(font) + self.label_18.setObjectName("label_18") + self.layoutWidget1 = QtWidgets.QWidget(parent=self.frame) + self.layoutWidget1.setGeometry(QtCore.QRect(10, 50, 241, 82)) + self.layoutWidget1.setObjectName("layoutWidget1") + self.gridLayout = QtWidgets.QGridLayout(self.layoutWidget1) + self.gridLayout.setContentsMargins(0, 0, 0, 0) + self.gridLayout.setObjectName("gridLayout") + self.line_PID_Temperature_Time = QtWidgets.QLineEdit(parent=self.layoutWidget1) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_PID_Temperature_Time.sizePolicy().hasHeightForWidth()) + self.line_PID_Temperature_Time.setSizePolicy(sizePolicy) + self.line_PID_Temperature_Time.setObjectName("line_PID_Temperature_Time") + self.gridLayout.addWidget(self.line_PID_Temperature_Time, 2, 1, 1, 1) + self.label_16 = QtWidgets.QLabel(parent=self.layoutWidget1) + self.label_16.setObjectName("label_16") + self.gridLayout.addWidget(self.label_16, 1, 0, 1, 1) + self.line_PID_Temperature_Tolerance = QtWidgets.QLineEdit(parent=self.layoutWidget1) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_PID_Temperature_Tolerance.sizePolicy().hasHeightForWidth()) + self.line_PID_Temperature_Tolerance.setSizePolicy(sizePolicy) + self.line_PID_Temperature_Tolerance.setObjectName("line_PID_Temperature_Tolerance") + self.gridLayout.addWidget(self.line_PID_Temperature_Tolerance, 1, 1, 1, 1) + self.label_17 = QtWidgets.QLabel(parent=self.layoutWidget1) + self.label_17.setObjectName("label_17") + self.gridLayout.addWidget(self.label_17, 2, 0, 1, 1) + self.label_37 = QtWidgets.QLabel(parent=self.layoutWidget1) + self.label_37.setObjectName("label_37") + self.gridLayout.addWidget(self.label_37, 0, 0, 1, 1) + self.line_PID_Temperature_Average_Time = QtWidgets.QLineEdit(parent=self.layoutWidget1) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_PID_Temperature_Average_Time.sizePolicy().hasHeightForWidth()) + self.line_PID_Temperature_Average_Time.setSizePolicy(sizePolicy) + self.line_PID_Temperature_Average_Time.setObjectName("line_PID_Temperature_Average_Time") + self.gridLayout.addWidget(self.line_PID_Temperature_Average_Time, 0, 1, 1, 1) + self.graphWidget_Temp_Bottom = PlotWidget(parent=self.frame) + self.graphWidget_Temp_Bottom.setGeometry(QtCore.QRect(310, 140, 281, 161)) + self.graphWidget_Temp_Bottom.setObjectName("graphWidget_Temp_Bottom") + self.pushButton_Stop_Waiting = QtWidgets.QPushButton(parent=self.frame) + self.pushButton_Stop_Waiting.setGeometry(QtCore.QRect(270, 99, 81, 21)) + self.pushButton_Stop_Waiting.setObjectName("pushButton_Stop_Waiting") + self.layoutWidget2 = QtWidgets.QWidget(parent=self.frame) + self.layoutWidget2.setGeometry(QtCore.QRect(440, 80, 151, 53)) + self.layoutWidget2.setObjectName("layoutWidget2") + self.gridLayout_7 = QtWidgets.QGridLayout(self.layoutWidget2) + self.gridLayout_7.setContentsMargins(0, 0, 0, 0) + self.gridLayout_7.setObjectName("gridLayout_7") + self.label_36 = QtWidgets.QLabel(parent=self.layoutWidget2) + self.label_36.setObjectName("label_36") + self.gridLayout_7.addWidget(self.label_36, 0, 0, 1, 1) + self.line_Buffer_Length = QtWidgets.QLineEdit(parent=self.layoutWidget2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_Buffer_Length.sizePolicy().hasHeightForWidth()) + self.line_Buffer_Length.setSizePolicy(sizePolicy) + self.line_Buffer_Length.setObjectName("line_Buffer_Length") + self.gridLayout_7.addWidget(self.line_Buffer_Length, 0, 1, 1, 1) + self.label_21 = QtWidgets.QLabel(parent=self.layoutWidget2) + self.label_21.setObjectName("label_21") + self.gridLayout_7.addWidget(self.label_21, 1, 0, 1, 1) + self.line_Plot_Seconds = QtWidgets.QLineEdit(parent=self.layoutWidget2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_Plot_Seconds.sizePolicy().hasHeightForWidth()) + self.line_Plot_Seconds.setSizePolicy(sizePolicy) + self.line_Plot_Seconds.setObjectName("line_Plot_Seconds") + self.gridLayout_7.addWidget(self.line_Plot_Seconds, 1, 1, 1, 1) + self.frame_2 = QtWidgets.QFrame(parent=self.centralwidget) + self.frame_2.setGeometry(QtCore.QRect(310, 30, 321, 471)) + self.frame_2.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel) + self.frame_2.setFrameShadow(QtWidgets.QFrame.Shadow.Plain) + self.frame_2.setLineWidth(3) + self.frame_2.setMidLineWidth(3) + self.frame_2.setObjectName("frame_2") + self.label_24 = QtWidgets.QLabel(parent=self.frame_2) + self.label_24.setGeometry(QtCore.QRect(10, 10, 181, 19)) + font = QtGui.QFont() + font.setFamily("MS Shell Dlg 2") + font.setPointSize(14) + font.setBold(False) + font.setItalic(False) + font.setWeight(50) + self.label_24.setFont(font) + self.label_24.setObjectName("label_24") + self.pushButton_Start_Measurement = QtWidgets.QPushButton(parent=self.frame_2) + self.pushButton_Start_Measurement.setGeometry(QtCore.QRect(20, 300, 131, 20)) + self.pushButton_Start_Measurement.setObjectName("pushButton_Start_Measurement") + self.label_34 = QtWidgets.QLabel(parent=self.frame_2) + self.label_34.setGeometry(QtCore.QRect(20, 40, 97, 19)) + self.label_34.setObjectName("label_34") + self.line_Points_Folder_Path = QtWidgets.QLineEdit(parent=self.frame_2) + self.line_Points_Folder_Path.setGeometry(QtCore.QRect(120, 40, 181, 21)) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_Points_Folder_Path.sizePolicy().hasHeightForWidth()) + self.line_Points_Folder_Path.setSizePolicy(sizePolicy) + self.line_Points_Folder_Path.setObjectName("line_Points_Folder_Path") + self.pushButton_Stop_Measurement = QtWidgets.QPushButton(parent=self.frame_2) + self.pushButton_Stop_Measurement.setGeometry(QtCore.QRect(170, 300, 131, 20)) + self.pushButton_Stop_Measurement.setObjectName("pushButton_Stop_Measurement") + self.pushButton_Calculate_Parameters = QtWidgets.QPushButton(parent=self.frame_2) + self.pushButton_Calculate_Parameters.setGeometry(QtCore.QRect(190, 380, 41, 21)) + self.pushButton_Calculate_Parameters.setObjectName("pushButton_Calculate_Parameters") + self.label_3 = QtWidgets.QLabel(parent=self.frame_2) + self.label_3.setGeometry(QtCore.QRect(18, 410, 101, 19)) + self.label_3.setObjectName("label_3") + self.line_time_per_cooldown = QtWidgets.QLineEdit(parent=self.frame_2) + self.line_time_per_cooldown.setEnabled(True) + self.line_time_per_cooldown.setGeometry(QtCore.QRect(130, 410, 41, 19)) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_time_per_cooldown.sizePolicy().hasHeightForWidth()) + self.line_time_per_cooldown.setSizePolicy(sizePolicy) + self.line_time_per_cooldown.setObjectName("line_time_per_cooldown") + self.label_4 = QtWidgets.QLabel(parent=self.frame_2) + self.label_4.setGeometry(QtCore.QRect(180, 410, 61, 19)) + self.label_4.setObjectName("label_4") + self.line_total_time_needed = QtWidgets.QLabel(parent=self.frame_2) + self.line_total_time_needed.setGeometry(QtCore.QRect(250, 410, 61, 20)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.line_total_time_needed.setPalette(palette) + self.line_total_time_needed.setAutoFillBackground(True) + self.line_total_time_needed.setText("") + self.line_total_time_needed.setObjectName("line_total_time_needed") + self.line = QtWidgets.QFrame(parent=self.frame_2) + self.line.setGeometry(QtCore.QRect(0, 350, 321, 16)) + self.line.setFrameShape(QtWidgets.QFrame.Shape.HLine) + self.line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken) + self.line.setObjectName("line") + self.layoutWidget3 = QtWidgets.QWidget(parent=self.frame_2) + self.layoutWidget3.setGeometry(QtCore.QRect(20, 182, 201, 111)) + self.layoutWidget3.setObjectName("layoutWidget3") + self.gridLayout_4 = QtWidgets.QGridLayout(self.layoutWidget3) + self.gridLayout_4.setContentsMargins(0, 0, 0, 0) + self.gridLayout_4.setObjectName("gridLayout_4") + self.label_29 = QtWidgets.QLabel(parent=self.layoutWidget3) + self.label_29.setObjectName("label_29") + self.gridLayout_4.addWidget(self.label_29, 0, 0, 1, 1) + self.comboBox_Current_Mode = QtWidgets.QComboBox(parent=self.layoutWidget3) + self.comboBox_Current_Mode.setObjectName("comboBox_Current_Mode") + self.comboBox_Current_Mode.addItem("") + self.comboBox_Current_Mode.addItem("") + self.comboBox_Current_Mode.addItem("") + self.gridLayout_4.addWidget(self.comboBox_Current_Mode, 0, 1, 1, 1) + self.label_30 = QtWidgets.QLabel(parent=self.layoutWidget3) + self.label_30.setObjectName("label_30") + self.gridLayout_4.addWidget(self.label_30, 1, 0, 1, 1) + self.line_Gradient = QtWidgets.QLineEdit(parent=self.layoutWidget3) + self.line_Gradient.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_Gradient.sizePolicy().hasHeightForWidth()) + self.line_Gradient.setSizePolicy(sizePolicy) + self.line_Gradient.setObjectName("line_Gradient") + self.gridLayout_4.addWidget(self.line_Gradient, 1, 1, 1, 1) + self.label_31 = QtWidgets.QLabel(parent=self.layoutWidget3) + self.label_31.setObjectName("label_31") + self.gridLayout_4.addWidget(self.label_31, 2, 0, 1, 1) + self.line_Bext = QtWidgets.QLineEdit(parent=self.layoutWidget3) + self.line_Bext.setEnabled(True) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_Bext.sizePolicy().hasHeightForWidth()) + self.line_Bext.setSizePolicy(sizePolicy) + self.line_Bext.setObjectName("line_Bext") + self.gridLayout_4.addWidget(self.line_Bext, 2, 1, 1, 1) + self.label_32 = QtWidgets.QLabel(parent=self.layoutWidget3) + self.label_32.setObjectName("label_32") + self.gridLayout_4.addWidget(self.label_32, 3, 0, 1, 1) + self.line_Speed = QtWidgets.QLineEdit(parent=self.layoutWidget3) + self.line_Speed.setEnabled(True) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_Speed.sizePolicy().hasHeightForWidth()) + self.line_Speed.setSizePolicy(sizePolicy) + self.line_Speed.setObjectName("line_Speed") + self.gridLayout_4.addWidget(self.line_Speed, 3, 1, 1, 1) + self.layoutWidget4 = QtWidgets.QWidget(parent=self.frame_2) + self.layoutWidget4.setGeometry(QtCore.QRect(18, 90, 241, 82)) + self.layoutWidget4.setObjectName("layoutWidget4") + self.gridLayout_5 = QtWidgets.QGridLayout(self.layoutWidget4) + self.gridLayout_5.setContentsMargins(0, 0, 0, 0) + self.gridLayout_5.setObjectName("gridLayout_5") + self.line_Base_Temperature = QtWidgets.QLineEdit(parent=self.layoutWidget4) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_Base_Temperature.sizePolicy().hasHeightForWidth()) + self.line_Base_Temperature.setSizePolicy(sizePolicy) + self.line_Base_Temperature.setObjectName("line_Base_Temperature") + self.gridLayout_5.addWidget(self.line_Base_Temperature, 0, 1, 1, 1) + self.line_Cooldown_Finished_Temperature = QtWidgets.QLineEdit(parent=self.layoutWidget4) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_Cooldown_Finished_Temperature.sizePolicy().hasHeightForWidth()) + self.line_Cooldown_Finished_Temperature.setSizePolicy(sizePolicy) + self.line_Cooldown_Finished_Temperature.setObjectName("line_Cooldown_Finished_Temperature") + self.gridLayout_5.addWidget(self.line_Cooldown_Finished_Temperature, 1, 1, 1, 1) + self.label_33 = QtWidgets.QLabel(parent=self.layoutWidget4) + self.label_33.setObjectName("label_33") + self.gridLayout_5.addWidget(self.label_33, 1, 0, 1, 1) + self.label_28 = QtWidgets.QLabel(parent=self.layoutWidget4) + self.label_28.setObjectName("label_28") + self.gridLayout_5.addWidget(self.label_28, 0, 0, 1, 1) + self.label_35 = QtWidgets.QLabel(parent=self.layoutWidget4) + self.label_35.setObjectName("label_35") + self.gridLayout_5.addWidget(self.label_35, 2, 0, 1, 1) + self.line_Sensor_Distance = QtWidgets.QLineEdit(parent=self.layoutWidget4) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_Sensor_Distance.sizePolicy().hasHeightForWidth()) + self.line_Sensor_Distance.setSizePolicy(sizePolicy) + self.line_Sensor_Distance.setObjectName("line_Sensor_Distance") + self.gridLayout_5.addWidget(self.line_Sensor_Distance, 2, 1, 1, 1) + self.layoutWidget5 = QtWidgets.QWidget(parent=self.frame_2) + self.layoutWidget5.setGeometry(QtCore.QRect(20, 380, 161, 21)) + self.layoutWidget5.setObjectName("layoutWidget5") + self.gridLayout_6 = QtWidgets.QGridLayout(self.layoutWidget5) + self.gridLayout_6.setContentsMargins(0, 0, 0, 0) + self.gridLayout_6.setObjectName("gridLayout_6") + self.label = QtWidgets.QLabel(parent=self.layoutWidget5) + self.label.setObjectName("label") + self.gridLayout_6.addWidget(self.label, 0, 0, 1, 1) + self.line_Number_Cooldowns = QtWidgets.QLabel(parent=self.layoutWidget5) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.line_Number_Cooldowns.setPalette(palette) + self.line_Number_Cooldowns.setAutoFillBackground(True) + self.line_Number_Cooldowns.setText("") + self.line_Number_Cooldowns.setObjectName("line_Number_Cooldowns") + self.gridLayout_6.addWidget(self.line_Number_Cooldowns, 0, 1, 1, 1) + self.line_Status = QtWidgets.QLabel(parent=self.frame_2) + self.line_Status.setGeometry(QtCore.QRect(63, 440, 251, 20)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.line_Status.setPalette(palette) + self.line_Status.setAutoFillBackground(True) + self.line_Status.setText("") + self.line_Status.setObjectName("line_Status") + self.label_2 = QtWidgets.QLabel(parent=self.frame_2) + self.label_2.setGeometry(QtCore.QRect(20, 440, 32, 16)) + self.label_2.setObjectName("label_2") + self.pushButton_Pause_Measurement = QtWidgets.QPushButton(parent=self.frame_2) + self.pushButton_Pause_Measurement.setGeometry(QtCore.QRect(20, 330, 131, 20)) + self.pushButton_Pause_Measurement.setObjectName("pushButton_Pause_Measurement") + MainWindow.setCentralWidget(self.centralwidget) + self.menubar = QtWidgets.QMenuBar(parent=MainWindow) + self.menubar.setGeometry(QtCore.QRect(0, 0, 664, 21)) + self.menubar.setObjectName("menubar") + self.menuFile = QtWidgets.QMenu(parent=self.menubar) + self.menuFile.setObjectName("menuFile") + MainWindow.setMenuBar(self.menubar) + self.statusbar = QtWidgets.QStatusBar(parent=MainWindow) + self.statusbar.setObjectName("statusbar") + MainWindow.setStatusBar(self.statusbar) + self.actionSet_default = QtGui.QAction(parent=MainWindow) + self.actionSet_default.setObjectName("actionSet_default") + self.actionReset_default = QtGui.QAction(parent=MainWindow) + self.actionReset_default.setObjectName("actionReset_default") + self.menuFile.addAction(self.actionSet_default) + self.menuFile.addAction(self.actionReset_default) + self.menubar.addAction(self.menuFile.menuAction()) + + self.retranslateUi(MainWindow) + self.tabWidget.setCurrentIndex(3) + QtCore.QMetaObject.connectSlotsByName(MainWindow) + + def retranslateUi(self, MainWindow): + _translate = QtCore.QCoreApplication.translate + MainWindow.setWindowTitle(_translate("MainWindow", "Automation of Measurements")) + self.checkBox_Unlimited_Measurements.setText(_translate("MainWindow", "Unlimited Measurements")) + self.label_20.setText(_translate("MainWindow", "Min Gradient (K)")) + self.label_22.setText(_translate("MainWindow", "Max Gradient (K)")) + self.label_23.setText(_translate("MainWindow", "Gradient stepwidth (K) ")) + self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("MainWindow", "TF vs DT")) + self.label_19.setText(_translate("MainWindow", "List of gradients (K/cm). Separated by \";\"")) + self.label_25.setText(_translate("MainWindow", "Min Bext (µT)")) + self.label_27.setText(_translate("MainWindow", "Bext stepwidth (µT)")) + self.label_26.setText(_translate("MainWindow", "Max Bext (µT)")) + self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate("MainWindow", "TF vs Bext")) + self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_3), _translate("MainWindow", "TF vs Speed")) + self.label_38.setText(_translate("MainWindow", "Bext list")) + self.label_39.setText(_translate("MainWindow", "Status")) + self.pushButton_Perform_Compensation.setText(_translate("MainWindow", "Perform compensation")) + self.pushButton_Abort_Compensation.setText(_translate("MainWindow", "Abort compensation")) + self.pushButton_Compensation_Take_It.setText(_translate("MainWindow", "Take it")) + self.pushButton_load_Bext_Compensation.setText(_translate("MainWindow", "Load data")) + self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_4), _translate("MainWindow", "B Compensation")) + self.label_18.setText(_translate("MainWindow", "PID parameter")) + self.label_16.setText(_translate("MainWindow", "Temperature tolerance (K)")) + self.label_17.setText(_translate("MainWindow", "Time")) + self.label_37.setText(_translate("MainWindow", "Temp. average time (s)")) + self.pushButton_Stop_Waiting.setText(_translate("MainWindow", "Stop waiting")) + self.label_36.setText(_translate("MainWindow", "Buffer (s)")) + self.label_21.setText(_translate("MainWindow", "Plot (s)")) + self.label_24.setText(_translate("MainWindow", "General parameter")) + self.pushButton_Start_Measurement.setText(_translate("MainWindow", "Start measurement")) + self.label_34.setText(_translate("MainWindow", "Points folder path")) + self.pushButton_Stop_Measurement.setText(_translate("MainWindow", "Stop measurement")) + self.pushButton_Calculate_Parameters.setText(_translate("MainWindow", "Calc.")) + self.label_3.setText(_translate("MainWindow", "Time/Cooldown (s)")) + self.label_4.setText(_translate("MainWindow", ", total time:")) + self.label_29.setText(_translate("MainWindow", "Current mode:")) + self.comboBox_Current_Mode.setItemText(0, _translate("MainWindow", "TF vs DT")) + self.comboBox_Current_Mode.setItemText(1, _translate("MainWindow", "TF vs Bext")) + self.comboBox_Current_Mode.setItemText(2, _translate("MainWindow", "TF vs Speed")) + self.label_30.setText(_translate("MainWindow", "Gradient (K/cm)")) + self.label_31.setText(_translate("MainWindow", "Bext (µT)")) + self.label_32.setText(_translate("MainWindow", "Speed (K/s)")) + self.label_33.setText(_translate("MainWindow", "Cooldown finished T (K)")) + self.label_28.setText(_translate("MainWindow", "Base temperature (K)")) + self.label_35.setText(_translate("MainWindow", "Sensor distance (cm)")) + self.label.setText(_translate("MainWindow", "Cooldowns:")) + self.label_2.setText(_translate("MainWindow", "Status:")) + self.pushButton_Pause_Measurement.setText(_translate("MainWindow", "Click to pause")) + self.menuFile.setTitle(_translate("MainWindow", "File")) + self.actionSet_default.setText(_translate("MainWindow", "Make current values default")) + self.actionReset_default.setText(_translate("MainWindow", "Reset default values")) +from pyqtgraph import PlotWidget + + +if __name__ == "__main__": + import sys + app = QtWidgets.QApplication(sys.argv) + MainWindow = QtWidgets.QMainWindow() + ui = Ui_MainWindow() + ui.setupUi(MainWindow) + MainWindow.show() + sys.exit(app.exec()) diff --git a/Legacy/TF_Control/design_files/BT_3D_Plot.ui b/Legacy/TF_Control/design_files/BT_3D_Plot.ui new file mode 100644 index 0000000..23e03aa --- /dev/null +++ b/Legacy/TF_Control/design_files/BT_3D_Plot.ui @@ -0,0 +1,10753 @@ + + + MainWindow + + + + 0 + 0 + 803 + 597 + + + + 3D_BT-Plot + + + + + + + true + + + + + 0 + 0 + 779 + 522 + + + + + + + + 0 + 0 + + + + + 48 + 20 + + + + + 48 + 20 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + Time in plot: + + + + + + + + 0 + 0 + + + + T gradient (K/cm) + + + + + + + true + + + + 0 + 0 + + + + 100 + + + 100 + + + Qt::Horizontal + + + + + + + + 0 + 0 + + + + Play / Pause + + + + + + + + 0 + 0 + + + + T (K) + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + 0 + 0 + + + + + 49 + 16 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + 49 + 16 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + 49 + 16 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + 49 + 16 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + 49 + 16 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + 49 + 16 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + 49 + 16 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + 49 + 16 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + + 0 + 0 + + + + |B| (μT) + + + + + + + + + + 0 + 0 + + + + Tmin, Tmax (K) + + + + + + + + 0 + 0 + + + + + 48 + 20 + + + + + 48 + 20 + + + + 0 + + + + + + + + 0 + 0 + + + + + 48 + 20 + + + + + 48 + 20 + + + + 20 + + + + + + + + 0 + 0 + + + + Bmin, Bmax (μT) + + + + + + + + 0 + 0 + + + + + 48 + 20 + + + + + 48 + 20 + + + + 1 + + + + + + + + 0 + 0 + + + + + 48 + 20 + + + + + 48 + 20 + + + + 1 + + + + + + + + + + + + 0 + 0 + + + + + 48 + 20 + + + + + 48 + 20 + + + + 9.2 + + + + + + + + 0 + 0 + + + + + 20 + 0 + + + + Tc + + + + + + + + 50 + false + + + + Show sc phase + + + true + + + + + + + + + + + + 0 + 0 + + + + + 32 + 24 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + 32 + 24 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + 32 + 24 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + 32 + 24 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + 32 + 24 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + 32 + 24 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + 32 + 24 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + 32 + 24 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + 32 + 24 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + 32 + 24 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + 32 + 24 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + 32 + 24 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + 32 + 24 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + 32 + 24 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + 32 + 24 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + 75 + true + + + + Live data + + + true + + + + + + + + + + 0 + 0 + + + + Replay speed + + + + + + + + 0 + 0 + + + + + 48 + 20 + + + + + 48 + 20 + + + + 1 + + + + + + + + 0 + 0 + + + + Saved seconds + + + + + + + + 48 + 0 + + + + + 48 + 20 + + + + 30 + + + + + + + + + + 0 + 0 + + + + + 75 + true + + + + Scaling + + + + + + + + 3 + 0 + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 2 + 0 + + + + + + + + + 0 + 0 + + + + + 50 + false + + + + Show gradient fit + + + true + + + + + + + + 0 + 0 + + + + + 90 + 25 + + + + + 90 + 25 + + + + Connect + + + + + + + + 0 + 0 + + + + Disable plots + + + + + + + + + + + + + 0 + 0 + 803 + 26 + + + + + File + + + + + + + + + + Make current values default + + + + + Reset default values + + + + + + PlotWidget + QWidget +
pyqtgraph
+ 1 +
+ + GLViewWidget + QOpenGLWidget +
'pyqtgraph.opengl'
+
+
+ + +
diff --git a/Legacy/TF_Control/design_files/BT_3D_Plot_design.py b/Legacy/TF_Control/design_files/BT_3D_Plot_design.py new file mode 100644 index 0000000..36d4850 --- /dev/null +++ b/Legacy/TF_Control/design_files/BT_3D_Plot_design.py @@ -0,0 +1,3781 @@ +# Form implementation generated from reading ui file 'BT_3D_Plot.ui' +# +# Created by: PyQt6 UI code generator 6.6.1 +# +# WARNING: Any manual changes made to this file will be lost when pyuic6 is +# run again. Do not edit this file unless you know what you are doing. + + +from PyQt6 import QtCore, QtGui, QtWidgets + + +class Ui_MainWindow(object): + def setupUi(self, MainWindow): + MainWindow.setObjectName("MainWindow") + MainWindow.resize(803, 597) + self.centralwidget = QtWidgets.QWidget(parent=MainWindow) + self.centralwidget.setObjectName("centralwidget") + self.gridLayout = QtWidgets.QGridLayout(self.centralwidget) + self.gridLayout.setObjectName("gridLayout") + self.scrollArea = QtWidgets.QScrollArea(parent=self.centralwidget) + self.scrollArea.setWidgetResizable(True) + self.scrollArea.setObjectName("scrollArea") + self.scrollAreaWidgetContents = QtWidgets.QWidget() + self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 779, 522)) + self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents") + self.gridLayout_2 = QtWidgets.QGridLayout(self.scrollAreaWidgetContents) + self.gridLayout_2.setObjectName("gridLayout_2") + self.Line_T_gradient = QtWidgets.QLineEdit(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.Line_T_gradient.sizePolicy().hasHeightForWidth()) + self.Line_T_gradient.setSizePolicy(sizePolicy) + self.Line_T_gradient.setMinimumSize(QtCore.QSize(48, 20)) + self.Line_T_gradient.setMaximumSize(QtCore.QSize(48, 20)) + self.Line_T_gradient.setText("") + self.Line_T_gradient.setObjectName("Line_T_gradient") + self.gridLayout_2.addWidget(self.Line_T_gradient, 8, 6, 1, 1) + self.line_Time_in_plot = QtWidgets.QLineEdit(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_Time_in_plot.sizePolicy().hasHeightForWidth()) + self.line_Time_in_plot.setSizePolicy(sizePolicy) + self.line_Time_in_plot.setText("") + self.line_Time_in_plot.setObjectName("line_Time_in_plot") + self.gridLayout_2.addWidget(self.line_Time_in_plot, 8, 4, 1, 1) + self.label_30 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_30.setObjectName("label_30") + self.gridLayout_2.addWidget(self.label_30, 8, 3, 1, 1) + self.label_29 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_29.sizePolicy().hasHeightForWidth()) + self.label_29.setSizePolicy(sizePolicy) + self.label_29.setObjectName("label_29") + self.gridLayout_2.addWidget(self.label_29, 8, 5, 1, 1) + self.Time_Slider = QtWidgets.QSlider(parent=self.scrollAreaWidgetContents) + self.Time_Slider.setEnabled(True) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.Time_Slider.sizePolicy().hasHeightForWidth()) + self.Time_Slider.setSizePolicy(sizePolicy) + self.Time_Slider.setMaximum(100) + self.Time_Slider.setProperty("value", 100) + self.Time_Slider.setOrientation(QtCore.Qt.Orientation.Horizontal) + self.Time_Slider.setObjectName("Time_Slider") + self.gridLayout_2.addWidget(self.Time_Slider, 9, 2, 1, 1) + self.Play_Pause = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.Play_Pause.sizePolicy().hasHeightForWidth()) + self.Play_Pause.setSizePolicy(sizePolicy) + self.Play_Pause.setObjectName("Play_Pause") + self.gridLayout_2.addWidget(self.Play_Pause, 9, 3, 1, 1) + self.label_21 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_21.sizePolicy().hasHeightForWidth()) + self.label_21.setSizePolicy(sizePolicy) + self.label_21.setObjectName("label_21") + self.gridLayout_2.addWidget(self.label_21, 2, 0, 1, 1) + spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding) + self.gridLayout_2.addItem(spacerItem, 7, 0, 1, 1) + self.verticalLayout_2 = QtWidgets.QVBoxLayout() + self.verticalLayout_2.setObjectName("verticalLayout_2") + self.T_1 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.T_1.sizePolicy().hasHeightForWidth()) + self.T_1.setSizePolicy(sizePolicy) + self.T_1.setMinimumSize(QtCore.QSize(49, 16)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.T_1.setPalette(palette) + self.T_1.setAutoFillBackground(True) + self.T_1.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.T_1.setObjectName("T_1") + self.verticalLayout_2.addWidget(self.T_1) + self.T_2 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.T_2.sizePolicy().hasHeightForWidth()) + self.T_2.setSizePolicy(sizePolicy) + self.T_2.setMinimumSize(QtCore.QSize(49, 16)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.T_2.setPalette(palette) + self.T_2.setAutoFillBackground(True) + self.T_2.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.T_2.setObjectName("T_2") + self.verticalLayout_2.addWidget(self.T_2) + self.T_3 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.T_3.sizePolicy().hasHeightForWidth()) + self.T_3.setSizePolicy(sizePolicy) + self.T_3.setMinimumSize(QtCore.QSize(49, 16)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.T_3.setPalette(palette) + self.T_3.setAutoFillBackground(True) + self.T_3.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.T_3.setObjectName("T_3") + self.verticalLayout_2.addWidget(self.T_3) + self.T_4 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.T_4.sizePolicy().hasHeightForWidth()) + self.T_4.setSizePolicy(sizePolicy) + self.T_4.setMinimumSize(QtCore.QSize(49, 16)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.T_4.setPalette(palette) + self.T_4.setAutoFillBackground(True) + self.T_4.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.T_4.setObjectName("T_4") + self.verticalLayout_2.addWidget(self.T_4) + self.T_5 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.T_5.sizePolicy().hasHeightForWidth()) + self.T_5.setSizePolicy(sizePolicy) + self.T_5.setMinimumSize(QtCore.QSize(49, 16)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.T_5.setPalette(palette) + self.T_5.setAutoFillBackground(True) + self.T_5.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.T_5.setObjectName("T_5") + self.verticalLayout_2.addWidget(self.T_5) + self.T_6 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.T_6.sizePolicy().hasHeightForWidth()) + self.T_6.setSizePolicy(sizePolicy) + self.T_6.setMinimumSize(QtCore.QSize(49, 16)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.T_6.setPalette(palette) + self.T_6.setAutoFillBackground(True) + self.T_6.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.T_6.setObjectName("T_6") + self.verticalLayout_2.addWidget(self.T_6) + self.T_7 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.T_7.sizePolicy().hasHeightForWidth()) + self.T_7.setSizePolicy(sizePolicy) + self.T_7.setMinimumSize(QtCore.QSize(49, 16)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.T_7.setPalette(palette) + self.T_7.setAutoFillBackground(True) + self.T_7.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.T_7.setObjectName("T_7") + self.verticalLayout_2.addWidget(self.T_7) + self.T_8 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.T_8.sizePolicy().hasHeightForWidth()) + self.T_8.setSizePolicy(sizePolicy) + self.T_8.setMinimumSize(QtCore.QSize(49, 16)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.T_8.setPalette(palette) + self.T_8.setAutoFillBackground(True) + self.T_8.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.T_8.setObjectName("T_8") + self.verticalLayout_2.addWidget(self.T_8) + self.gridLayout_2.addLayout(self.verticalLayout_2, 3, 0, 1, 1) + self.label_22 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_22.sizePolicy().hasHeightForWidth()) + self.label_22.setSizePolicy(sizePolicy) + self.label_22.setObjectName("label_22") + self.gridLayout_2.addWidget(self.label_22, 2, 1, 1, 1) + self.gridLayout_3 = QtWidgets.QGridLayout() + self.gridLayout_3.setObjectName("gridLayout_3") + self.label_26 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_26.sizePolicy().hasHeightForWidth()) + self.label_26.setSizePolicy(sizePolicy) + self.label_26.setObjectName("label_26") + self.gridLayout_3.addWidget(self.label_26, 0, 0, 1, 1) + self.T_scale_min = QtWidgets.QLineEdit(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.T_scale_min.sizePolicy().hasHeightForWidth()) + self.T_scale_min.setSizePolicy(sizePolicy) + self.T_scale_min.setMinimumSize(QtCore.QSize(48, 20)) + self.T_scale_min.setMaximumSize(QtCore.QSize(48, 20)) + self.T_scale_min.setObjectName("T_scale_min") + self.gridLayout_3.addWidget(self.T_scale_min, 0, 1, 1, 1) + self.T_scale_max = QtWidgets.QLineEdit(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.T_scale_max.sizePolicy().hasHeightForWidth()) + self.T_scale_max.setSizePolicy(sizePolicy) + self.T_scale_max.setMinimumSize(QtCore.QSize(48, 20)) + self.T_scale_max.setMaximumSize(QtCore.QSize(48, 20)) + self.T_scale_max.setObjectName("T_scale_max") + self.gridLayout_3.addWidget(self.T_scale_max, 0, 2, 1, 1) + self.label_27 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_27.sizePolicy().hasHeightForWidth()) + self.label_27.setSizePolicy(sizePolicy) + self.label_27.setObjectName("label_27") + self.gridLayout_3.addWidget(self.label_27, 1, 0, 1, 1) + self.B_scale_min = QtWidgets.QLineEdit(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.B_scale_min.sizePolicy().hasHeightForWidth()) + self.B_scale_min.setSizePolicy(sizePolicy) + self.B_scale_min.setMinimumSize(QtCore.QSize(48, 20)) + self.B_scale_min.setMaximumSize(QtCore.QSize(48, 20)) + self.B_scale_min.setObjectName("B_scale_min") + self.gridLayout_3.addWidget(self.B_scale_min, 1, 1, 1, 1) + self.B_scale_max = QtWidgets.QLineEdit(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.B_scale_max.sizePolicy().hasHeightForWidth()) + self.B_scale_max.setSizePolicy(sizePolicy) + self.B_scale_max.setMinimumSize(QtCore.QSize(48, 20)) + self.B_scale_max.setMaximumSize(QtCore.QSize(48, 20)) + self.B_scale_max.setObjectName("B_scale_max") + self.gridLayout_3.addWidget(self.B_scale_max, 1, 2, 1, 1) + self.gridLayout_2.addLayout(self.gridLayout_3, 5, 0, 1, 2) + self.gridLayout_5 = QtWidgets.QGridLayout() + self.gridLayout_5.setObjectName("gridLayout_5") + self.Tc = QtWidgets.QLineEdit(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.Tc.sizePolicy().hasHeightForWidth()) + self.Tc.setSizePolicy(sizePolicy) + self.Tc.setMinimumSize(QtCore.QSize(48, 20)) + self.Tc.setMaximumSize(QtCore.QSize(48, 20)) + self.Tc.setObjectName("Tc") + self.gridLayout_5.addWidget(self.Tc, 0, 1, 1, 1) + self.label_28 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_28.sizePolicy().hasHeightForWidth()) + self.label_28.setSizePolicy(sizePolicy) + self.label_28.setMinimumSize(QtCore.QSize(20, 0)) + self.label_28.setObjectName("label_28") + self.gridLayout_5.addWidget(self.label_28, 0, 0, 1, 1) + self.Show_sc_phase = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + font = QtGui.QFont() + font.setBold(False) + font.setWeight(50) + self.Show_sc_phase.setFont(font) + self.Show_sc_phase.setChecked(True) + self.Show_sc_phase.setObjectName("Show_sc_phase") + self.gridLayout_5.addWidget(self.Show_sc_phase, 0, 2, 1, 1) + self.gridLayout_2.addLayout(self.gridLayout_5, 6, 0, 1, 2) + self.gridLayout_4 = QtWidgets.QGridLayout() + self.gridLayout_4.setObjectName("gridLayout_4") + self.B_1 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.B_1.sizePolicy().hasHeightForWidth()) + self.B_1.setSizePolicy(sizePolicy) + self.B_1.setMinimumSize(QtCore.QSize(32, 24)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.B_1.setPalette(palette) + self.B_1.setAutoFillBackground(True) + self.B_1.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.B_1.setObjectName("B_1") + self.gridLayout_4.addWidget(self.B_1, 0, 0, 1, 1) + self.B_2 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.B_2.sizePolicy().hasHeightForWidth()) + self.B_2.setSizePolicy(sizePolicy) + self.B_2.setMinimumSize(QtCore.QSize(32, 24)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.B_2.setPalette(palette) + self.B_2.setAutoFillBackground(True) + self.B_2.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.B_2.setObjectName("B_2") + self.gridLayout_4.addWidget(self.B_2, 0, 1, 1, 1) + self.B_3 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.B_3.sizePolicy().hasHeightForWidth()) + self.B_3.setSizePolicy(sizePolicy) + self.B_3.setMinimumSize(QtCore.QSize(32, 24)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.B_3.setPalette(palette) + self.B_3.setAutoFillBackground(True) + self.B_3.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.B_3.setObjectName("B_3") + self.gridLayout_4.addWidget(self.B_3, 0, 2, 1, 1) + self.B_4 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.B_4.sizePolicy().hasHeightForWidth()) + self.B_4.setSizePolicy(sizePolicy) + self.B_4.setMinimumSize(QtCore.QSize(32, 24)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.B_4.setPalette(palette) + self.B_4.setAutoFillBackground(True) + self.B_4.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.B_4.setObjectName("B_4") + self.gridLayout_4.addWidget(self.B_4, 1, 0, 1, 1) + self.B_5 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.B_5.sizePolicy().hasHeightForWidth()) + self.B_5.setSizePolicy(sizePolicy) + self.B_5.setMinimumSize(QtCore.QSize(32, 24)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.B_5.setPalette(palette) + self.B_5.setAutoFillBackground(True) + self.B_5.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.B_5.setObjectName("B_5") + self.gridLayout_4.addWidget(self.B_5, 1, 1, 1, 1) + self.B_6 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.B_6.sizePolicy().hasHeightForWidth()) + self.B_6.setSizePolicy(sizePolicy) + self.B_6.setMinimumSize(QtCore.QSize(32, 24)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.B_6.setPalette(palette) + self.B_6.setAutoFillBackground(True) + self.B_6.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.B_6.setObjectName("B_6") + self.gridLayout_4.addWidget(self.B_6, 1, 2, 1, 1) + self.B_7 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.B_7.sizePolicy().hasHeightForWidth()) + self.B_7.setSizePolicy(sizePolicy) + self.B_7.setMinimumSize(QtCore.QSize(32, 24)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.B_7.setPalette(palette) + self.B_7.setAutoFillBackground(True) + self.B_7.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.B_7.setObjectName("B_7") + self.gridLayout_4.addWidget(self.B_7, 2, 0, 1, 1) + self.B_8 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.B_8.sizePolicy().hasHeightForWidth()) + self.B_8.setSizePolicy(sizePolicy) + self.B_8.setMinimumSize(QtCore.QSize(32, 24)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.B_8.setPalette(palette) + self.B_8.setAutoFillBackground(True) + self.B_8.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.B_8.setObjectName("B_8") + self.gridLayout_4.addWidget(self.B_8, 2, 1, 1, 1) + self.B_9 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.B_9.sizePolicy().hasHeightForWidth()) + self.B_9.setSizePolicy(sizePolicy) + self.B_9.setMinimumSize(QtCore.QSize(32, 24)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.B_9.setPalette(palette) + self.B_9.setAutoFillBackground(True) + self.B_9.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.B_9.setObjectName("B_9") + self.gridLayout_4.addWidget(self.B_9, 2, 2, 1, 1) + self.B_10 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.B_10.sizePolicy().hasHeightForWidth()) + self.B_10.setSizePolicy(sizePolicy) + self.B_10.setMinimumSize(QtCore.QSize(32, 24)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.B_10.setPalette(palette) + self.B_10.setAutoFillBackground(True) + self.B_10.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.B_10.setObjectName("B_10") + self.gridLayout_4.addWidget(self.B_10, 3, 0, 1, 1) + self.B_11 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.B_11.sizePolicy().hasHeightForWidth()) + self.B_11.setSizePolicy(sizePolicy) + self.B_11.setMinimumSize(QtCore.QSize(32, 24)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.B_11.setPalette(palette) + self.B_11.setAutoFillBackground(True) + self.B_11.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.B_11.setObjectName("B_11") + self.gridLayout_4.addWidget(self.B_11, 3, 1, 1, 1) + self.B_12 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.B_12.sizePolicy().hasHeightForWidth()) + self.B_12.setSizePolicy(sizePolicy) + self.B_12.setMinimumSize(QtCore.QSize(32, 24)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.B_12.setPalette(palette) + self.B_12.setAutoFillBackground(True) + self.B_12.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.B_12.setObjectName("B_12") + self.gridLayout_4.addWidget(self.B_12, 3, 2, 1, 1) + self.B_13 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.B_13.sizePolicy().hasHeightForWidth()) + self.B_13.setSizePolicy(sizePolicy) + self.B_13.setMinimumSize(QtCore.QSize(32, 24)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.B_13.setPalette(palette) + self.B_13.setAutoFillBackground(True) + self.B_13.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.B_13.setObjectName("B_13") + self.gridLayout_4.addWidget(self.B_13, 4, 0, 1, 1) + self.B_14 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.B_14.sizePolicy().hasHeightForWidth()) + self.B_14.setSizePolicy(sizePolicy) + self.B_14.setMinimumSize(QtCore.QSize(32, 24)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.B_14.setPalette(palette) + self.B_14.setAutoFillBackground(True) + self.B_14.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.B_14.setObjectName("B_14") + self.gridLayout_4.addWidget(self.B_14, 4, 1, 1, 1) + self.B_15 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.B_15.sizePolicy().hasHeightForWidth()) + self.B_15.setSizePolicy(sizePolicy) + self.B_15.setMinimumSize(QtCore.QSize(32, 24)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.B_15.setPalette(palette) + self.B_15.setAutoFillBackground(True) + self.B_15.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.B_15.setObjectName("B_15") + self.gridLayout_4.addWidget(self.B_15, 4, 2, 1, 1) + self.gridLayout_2.addLayout(self.gridLayout_4, 3, 1, 1, 1) + spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding) + self.gridLayout_2.addItem(spacerItem1, 8, 0, 2, 1) + self.checkBox_livedata = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + font = QtGui.QFont() + font.setBold(True) + font.setWeight(75) + self.checkBox_livedata.setFont(font) + self.checkBox_livedata.setChecked(True) + self.checkBox_livedata.setObjectName("checkBox_livedata") + self.gridLayout_2.addWidget(self.checkBox_livedata, 8, 2, 1, 1) + self.gridLayout_6 = QtWidgets.QGridLayout() + self.gridLayout_6.setObjectName("gridLayout_6") + self.label_23 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_23.sizePolicy().hasHeightForWidth()) + self.label_23.setSizePolicy(sizePolicy) + self.label_23.setObjectName("label_23") + self.gridLayout_6.addWidget(self.label_23, 0, 0, 1, 1) + self.Replay_speed = QtWidgets.QLineEdit(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.Replay_speed.sizePolicy().hasHeightForWidth()) + self.Replay_speed.setSizePolicy(sizePolicy) + self.Replay_speed.setMinimumSize(QtCore.QSize(48, 20)) + self.Replay_speed.setMaximumSize(QtCore.QSize(48, 20)) + self.Replay_speed.setObjectName("Replay_speed") + self.gridLayout_6.addWidget(self.Replay_speed, 0, 1, 1, 1) + self.label_24 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_24.sizePolicy().hasHeightForWidth()) + self.label_24.setSizePolicy(sizePolicy) + self.label_24.setObjectName("label_24") + self.gridLayout_6.addWidget(self.label_24, 1, 0, 1, 1) + self.Saved_seconds = QtWidgets.QLineEdit(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(48) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.Saved_seconds.sizePolicy().hasHeightForWidth()) + self.Saved_seconds.setSizePolicy(sizePolicy) + self.Saved_seconds.setMaximumSize(QtCore.QSize(48, 20)) + self.Saved_seconds.setObjectName("Saved_seconds") + self.gridLayout_6.addWidget(self.Saved_seconds, 1, 1, 1, 1) + self.gridLayout_2.addLayout(self.gridLayout_6, 9, 4, 1, 1) + self.label_25 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_25.sizePolicy().hasHeightForWidth()) + self.label_25.setSizePolicy(sizePolicy) + font = QtGui.QFont() + font.setBold(True) + font.setWeight(75) + self.label_25.setFont(font) + self.label_25.setObjectName("label_25") + self.gridLayout_2.addWidget(self.label_25, 4, 0, 1, 1) + self.openGLWidget = GLViewWidget(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(3) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.openGLWidget.sizePolicy().hasHeightForWidth()) + self.openGLWidget.setSizePolicy(sizePolicy) + self.openGLWidget.setObjectName("openGLWidget") + self.gridLayout_2.addWidget(self.openGLWidget, 0, 2, 8, 3) + spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum) + self.gridLayout_2.addItem(spacerItem2, 8, 7, 1, 1) + self.graphWidget = PlotWidget(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(2) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.graphWidget.sizePolicy().hasHeightForWidth()) + self.graphWidget.setSizePolicy(sizePolicy) + self.graphWidget.setObjectName("graphWidget") + self.gridLayout_2.addWidget(self.graphWidget, 0, 5, 8, 3) + self.Show_gradient_fit = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.Show_gradient_fit.sizePolicy().hasHeightForWidth()) + self.Show_gradient_fit.setSizePolicy(sizePolicy) + font = QtGui.QFont() + font.setBold(False) + font.setWeight(50) + self.Show_gradient_fit.setFont(font) + self.Show_gradient_fit.setChecked(True) + self.Show_gradient_fit.setObjectName("Show_gradient_fit") + self.gridLayout_2.addWidget(self.Show_gradient_fit, 9, 5, 1, 2) + self.button_connect = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.button_connect.sizePolicy().hasHeightForWidth()) + self.button_connect.setSizePolicy(sizePolicy) + self.button_connect.setMinimumSize(QtCore.QSize(90, 25)) + self.button_connect.setMaximumSize(QtCore.QSize(90, 25)) + self.button_connect.setObjectName("button_connect") + self.gridLayout_2.addWidget(self.button_connect, 0, 0, 1, 2) + self.checkBox_disableplots = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.checkBox_disableplots.sizePolicy().hasHeightForWidth()) + self.checkBox_disableplots.setSizePolicy(sizePolicy) + self.checkBox_disableplots.setObjectName("checkBox_disableplots") + self.gridLayout_2.addWidget(self.checkBox_disableplots, 1, 0, 1, 2) + self.scrollArea.setWidget(self.scrollAreaWidgetContents) + self.gridLayout.addWidget(self.scrollArea, 0, 0, 1, 1) + MainWindow.setCentralWidget(self.centralwidget) + self.menubar = QtWidgets.QMenuBar(parent=MainWindow) + self.menubar.setGeometry(QtCore.QRect(0, 0, 803, 26)) + self.menubar.setObjectName("menubar") + self.menuFile = QtWidgets.QMenu(parent=self.menubar) + self.menuFile.setObjectName("menuFile") + MainWindow.setMenuBar(self.menubar) + self.statusbar = QtWidgets.QStatusBar(parent=MainWindow) + self.statusbar.setObjectName("statusbar") + MainWindow.setStatusBar(self.statusbar) + self.actionSet_default = QtGui.QAction(parent=MainWindow) + self.actionSet_default.setObjectName("actionSet_default") + self.actionReset_default = QtGui.QAction(parent=MainWindow) + self.actionReset_default.setObjectName("actionReset_default") + self.menuFile.addAction(self.actionSet_default) + self.menuFile.addAction(self.actionReset_default) + self.menubar.addAction(self.menuFile.menuAction()) + + self.retranslateUi(MainWindow) + QtCore.QMetaObject.connectSlotsByName(MainWindow) + + def retranslateUi(self, MainWindow): + _translate = QtCore.QCoreApplication.translate + MainWindow.setWindowTitle(_translate("MainWindow", "3D_BT-Plot")) + self.label_30.setText(_translate("MainWindow", "Time in plot:")) + self.label_29.setText(_translate("MainWindow", "T gradient (K/cm)")) + self.Play_Pause.setText(_translate("MainWindow", "Play / Pause")) + self.label_21.setText(_translate("MainWindow", "T (K)")) + self.T_1.setText(_translate("MainWindow", "0")) + self.T_2.setText(_translate("MainWindow", "0")) + self.T_3.setText(_translate("MainWindow", "0")) + self.T_4.setText(_translate("MainWindow", "0")) + self.T_5.setText(_translate("MainWindow", "0")) + self.T_6.setText(_translate("MainWindow", "0")) + self.T_7.setText(_translate("MainWindow", "0")) + self.T_8.setText(_translate("MainWindow", "0")) + self.label_22.setText(_translate("MainWindow", "|B| (μT)")) + self.label_26.setText(_translate("MainWindow", "Tmin, Tmax (K)")) + self.T_scale_min.setText(_translate("MainWindow", "0")) + self.T_scale_max.setText(_translate("MainWindow", "20")) + self.label_27.setText(_translate("MainWindow", "Bmin, Bmax (μT)")) + self.B_scale_min.setText(_translate("MainWindow", "1")) + self.B_scale_max.setText(_translate("MainWindow", "1")) + self.Tc.setText(_translate("MainWindow", "9.2")) + self.label_28.setText(_translate("MainWindow", "Tc")) + self.Show_sc_phase.setText(_translate("MainWindow", "Show sc phase")) + self.B_1.setText(_translate("MainWindow", "0")) + self.B_2.setText(_translate("MainWindow", "0")) + self.B_3.setText(_translate("MainWindow", "0")) + self.B_4.setText(_translate("MainWindow", "0")) + self.B_5.setText(_translate("MainWindow", "0")) + self.B_6.setText(_translate("MainWindow", "0")) + self.B_7.setText(_translate("MainWindow", "0")) + self.B_8.setText(_translate("MainWindow", "0")) + self.B_9.setText(_translate("MainWindow", "0")) + self.B_10.setText(_translate("MainWindow", "0")) + self.B_11.setText(_translate("MainWindow", "0")) + self.B_12.setText(_translate("MainWindow", "0")) + self.B_13.setText(_translate("MainWindow", "0")) + self.B_14.setText(_translate("MainWindow", "0")) + self.B_15.setText(_translate("MainWindow", "0")) + self.checkBox_livedata.setText(_translate("MainWindow", "Live data")) + self.label_23.setText(_translate("MainWindow", "Replay speed")) + self.Replay_speed.setText(_translate("MainWindow", "1")) + self.label_24.setText(_translate("MainWindow", "Saved seconds")) + self.Saved_seconds.setText(_translate("MainWindow", "30")) + self.label_25.setText(_translate("MainWindow", "Scaling")) + self.Show_gradient_fit.setText(_translate("MainWindow", "Show gradient fit")) + self.button_connect.setText(_translate("MainWindow", "Connect")) + self.checkBox_disableplots.setText(_translate("MainWindow", "Disable plots")) + self.menuFile.setTitle(_translate("MainWindow", "File")) + self.actionSet_default.setText(_translate("MainWindow", "Make current values default")) + self.actionReset_default.setText(_translate("MainWindow", "Reset default values")) +from pyqtgraph.opengl import GLViewWidget +from pyqtgraph import PlotWidget diff --git a/Legacy/TF_Control/design_files/B_Field_Compensation.ui b/Legacy/TF_Control/design_files/B_Field_Compensation.ui new file mode 100644 index 0000000..09b798a --- /dev/null +++ b/Legacy/TF_Control/design_files/B_Field_Compensation.ui @@ -0,0 +1,2694 @@ + + + MainWindow + + + + 0 + 0 + 628 + 694 + + + + B-Field Compensation + + + + + + 310 + 10 + 291 + 151 + + + + + + + 10 + 20 + 151 + 19 + + + + + Comic Sans MS + 14 + 50 + false + false + + + + Set values :) + + + + + + 310 + 170 + 291 + 151 + + + + + + + 310 + 330 + 291 + 151 + + + + + + + 180 + 30 + 76 + 19 + + + + Deviation (%) + + + + + + 11 + 52 + 241 + 82 + + + + + + + B_x_set (µT) + + + + + + + + 0 + 0 + + + + + + + + B_y_set (µT) + + + + + + + + 0 + 0 + + + + + + + + B_z_set (µT) + + + + + + + + 0 + 0 + + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + + + + + + + + + + 10 + 430 + 131 + 41 + + + + + Comic Sans MS + 14 + 75 + true + + + + Set field + + + + + + 10 + 170 + 241 + 82 + + + + + + + Max. difference (µT) + + + + + + + + 0 + 0 + + + + + + + + + + + Max. #iterations + + + + + + + + 0 + 0 + + + + + + + + + + + B-Field equil. time (s) + + + + + + + + 0 + 0 + + + + + + + + + + + + + 10 + 270 + 151 + 19 + + + + + Comic Sans MS + 10 + 50 + false + false + + + + HHC parameters + + + + + + 10 + 480 + 241 + 21 + + + + + + + Iteration step + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + + + + + + + + + + 180 + 355 + 111 + 17 + + + + Use 2nd coil + + + + + + 10 + 304 + 161 + 111 + + + + + + + x parameter (µT/A) + + + + + + + + 0 + 0 + + + + + + + + + + + y parameter (µT/A) + + + + + + + + 0 + 0 + + + + + + + + + + + y2 parameter (µT/A) + + + + + + + + 0 + 0 + + + + + + + + + + + z parameter (µT/A) + + + + + + + + 0 + 0 + + + + + + + + + + + + + 10 + 520 + 211 + 31 + + + + + Comic Sans MS + 10 + 50 + false + false + + + + Temperature monitoring + + + + + + 0 + 520 + 511 + 111 + + + + QFrame::StyledPanel + + + QFrame::Plain + + + 4 + + + 4 + + + + + 280 + 70 + 111 + 17 + + + + Turn off + + + + + + 340 + 40 + 111 + 22 + + + + + No Sensor + + + + + LS336 CH A + + + + + LS336 CH B + + + + + LS336 CH C + + + + + LS336 CH D + + + + + + + 278 + 40 + 61 + 22 + + + + Sensor + + + + + + 10 + 40 + 251 + 51 + + + + + + + Temperature y2 coil (K) + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + + + + + + + + Max. temperature (K) + + + + + + + + 0 + 0 + + + + + + + + + + + + + + + 0 + 0 + 628 + 21 + + + + + File + + + + + + + + + + Make current values default + + + + + Reset default values + + + + + + PlotWidget + QWidget +
pyqtgraph
+ 1 +
+
+ + +
diff --git a/Legacy/TF_Control/design_files/B_Field_Compensation_design.py b/Legacy/TF_Control/design_files/B_Field_Compensation_design.py new file mode 100644 index 0000000..7e152d8 --- /dev/null +++ b/Legacy/TF_Control/design_files/B_Field_Compensation_design.py @@ -0,0 +1,1031 @@ +# Form implementation generated from reading ui file 'B_Field_Compensation.ui' +# +# Created by: PyQt6 UI code generator 6.6.1 +# +# WARNING: Any manual changes made to this file will be lost when pyuic6 is +# run again. Do not edit this file unless you know what you are doing. + + +from PyQt6 import QtCore, QtGui, QtWidgets + + +class Ui_MainWindow(object): + def setupUi(self, MainWindow): + MainWindow.setObjectName("MainWindow") + MainWindow.resize(628, 694) + self.centralwidget = QtWidgets.QWidget(parent=MainWindow) + self.centralwidget.setObjectName("centralwidget") + self.graphWidget_x = PlotWidget(parent=self.centralwidget) + self.graphWidget_x.setGeometry(QtCore.QRect(310, 10, 291, 151)) + self.graphWidget_x.setObjectName("graphWidget_x") + self.label_18 = QtWidgets.QLabel(parent=self.centralwidget) + self.label_18.setGeometry(QtCore.QRect(10, 20, 151, 19)) + font = QtGui.QFont() + font.setFamily("Comic Sans MS") + font.setPointSize(14) + font.setBold(False) + font.setItalic(False) + font.setWeight(50) + self.label_18.setFont(font) + self.label_18.setObjectName("label_18") + self.graphWidget_y = PlotWidget(parent=self.centralwidget) + self.graphWidget_y.setGeometry(QtCore.QRect(310, 170, 291, 151)) + self.graphWidget_y.setObjectName("graphWidget_y") + self.graphWidget_z = PlotWidget(parent=self.centralwidget) + self.graphWidget_z.setGeometry(QtCore.QRect(310, 330, 291, 151)) + self.graphWidget_z.setObjectName("graphWidget_z") + self.label_19 = QtWidgets.QLabel(parent=self.centralwidget) + self.label_19.setGeometry(QtCore.QRect(180, 30, 76, 19)) + self.label_19.setObjectName("label_19") + self.layoutWidget = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget.setGeometry(QtCore.QRect(11, 52, 241, 82)) + self.layoutWidget.setObjectName("layoutWidget") + self.gridLayout = QtWidgets.QGridLayout(self.layoutWidget) + self.gridLayout.setContentsMargins(0, 0, 0, 0) + self.gridLayout.setObjectName("gridLayout") + self.label_16 = QtWidgets.QLabel(parent=self.layoutWidget) + self.label_16.setObjectName("label_16") + self.gridLayout.addWidget(self.label_16, 0, 0, 1, 1) + self.line_B_x_set = QtWidgets.QLineEdit(parent=self.layoutWidget) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_B_x_set.sizePolicy().hasHeightForWidth()) + self.line_B_x_set.setSizePolicy(sizePolicy) + self.line_B_x_set.setObjectName("line_B_x_set") + self.gridLayout.addWidget(self.line_B_x_set, 0, 1, 1, 1) + self.label_17 = QtWidgets.QLabel(parent=self.layoutWidget) + self.label_17.setObjectName("label_17") + self.gridLayout.addWidget(self.label_17, 1, 0, 1, 1) + self.line_B_y_set = QtWidgets.QLineEdit(parent=self.layoutWidget) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_B_y_set.sizePolicy().hasHeightForWidth()) + self.line_B_y_set.setSizePolicy(sizePolicy) + self.line_B_y_set.setObjectName("line_B_y_set") + self.gridLayout.addWidget(self.line_B_y_set, 1, 1, 1, 1) + self.label_21 = QtWidgets.QLabel(parent=self.layoutWidget) + self.label_21.setObjectName("label_21") + self.gridLayout.addWidget(self.label_21, 2, 0, 1, 1) + self.line_B_z_set = QtWidgets.QLineEdit(parent=self.layoutWidget) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_B_z_set.sizePolicy().hasHeightForWidth()) + self.line_B_z_set.setSizePolicy(sizePolicy) + self.line_B_z_set.setObjectName("line_B_z_set") + self.gridLayout.addWidget(self.line_B_z_set, 2, 1, 1, 1) + self.line_B_x_dev = QtWidgets.QLabel(parent=self.layoutWidget) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.line_B_x_dev.setPalette(palette) + self.line_B_x_dev.setAutoFillBackground(True) + self.line_B_x_dev.setText("") + self.line_B_x_dev.setObjectName("line_B_x_dev") + self.gridLayout.addWidget(self.line_B_x_dev, 0, 2, 1, 1) + self.line_B_y_dev = QtWidgets.QLabel(parent=self.layoutWidget) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.line_B_y_dev.setPalette(palette) + self.line_B_y_dev.setAutoFillBackground(True) + self.line_B_y_dev.setText("") + self.line_B_y_dev.setObjectName("line_B_y_dev") + self.gridLayout.addWidget(self.line_B_y_dev, 1, 2, 1, 1) + self.line_B_z_dev = QtWidgets.QLabel(parent=self.layoutWidget) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.line_B_z_dev.setPalette(palette) + self.line_B_z_dev.setAutoFillBackground(True) + self.line_B_z_dev.setText("") + self.line_B_z_dev.setObjectName("line_B_z_dev") + self.gridLayout.addWidget(self.line_B_z_dev, 2, 2, 1, 1) + self.Button_Set_Field = QtWidgets.QPushButton(parent=self.centralwidget) + self.Button_Set_Field.setGeometry(QtCore.QRect(10, 430, 131, 41)) + font = QtGui.QFont() + font.setFamily("Comic Sans MS") + font.setPointSize(14) + font.setBold(True) + font.setWeight(75) + self.Button_Set_Field.setFont(font) + self.Button_Set_Field.setObjectName("Button_Set_Field") + self.layoutWidget1 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget1.setGeometry(QtCore.QRect(10, 170, 241, 82)) + self.layoutWidget1.setObjectName("layoutWidget1") + self.gridLayout_2 = QtWidgets.QGridLayout(self.layoutWidget1) + self.gridLayout_2.setContentsMargins(0, 0, 0, 0) + self.gridLayout_2.setObjectName("gridLayout_2") + self.label_22 = QtWidgets.QLabel(parent=self.layoutWidget1) + self.label_22.setObjectName("label_22") + self.gridLayout_2.addWidget(self.label_22, 0, 0, 1, 1) + self.line_Max_Difference = QtWidgets.QLineEdit(parent=self.layoutWidget1) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_Max_Difference.sizePolicy().hasHeightForWidth()) + self.line_Max_Difference.setSizePolicy(sizePolicy) + self.line_Max_Difference.setText("") + self.line_Max_Difference.setObjectName("line_Max_Difference") + self.gridLayout_2.addWidget(self.line_Max_Difference, 0, 1, 1, 1) + self.label_23 = QtWidgets.QLabel(parent=self.layoutWidget1) + self.label_23.setObjectName("label_23") + self.gridLayout_2.addWidget(self.label_23, 1, 0, 1, 1) + self.line_Max_iterations = QtWidgets.QLineEdit(parent=self.layoutWidget1) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_Max_iterations.sizePolicy().hasHeightForWidth()) + self.line_Max_iterations.setSizePolicy(sizePolicy) + self.line_Max_iterations.setText("") + self.line_Max_iterations.setObjectName("line_Max_iterations") + self.gridLayout_2.addWidget(self.line_Max_iterations, 1, 1, 1, 1) + self.label_24 = QtWidgets.QLabel(parent=self.layoutWidget1) + self.label_24.setObjectName("label_24") + self.gridLayout_2.addWidget(self.label_24, 2, 0, 1, 1) + self.line_B_equil_time = QtWidgets.QLineEdit(parent=self.layoutWidget1) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_B_equil_time.sizePolicy().hasHeightForWidth()) + self.line_B_equil_time.setSizePolicy(sizePolicy) + self.line_B_equil_time.setText("") + self.line_B_equil_time.setObjectName("line_B_equil_time") + self.gridLayout_2.addWidget(self.line_B_equil_time, 2, 1, 1, 1) + self.label_28 = QtWidgets.QLabel(parent=self.centralwidget) + self.label_28.setGeometry(QtCore.QRect(10, 270, 151, 19)) + font = QtGui.QFont() + font.setFamily("Comic Sans MS") + font.setPointSize(10) + font.setBold(False) + font.setItalic(False) + font.setWeight(50) + self.label_28.setFont(font) + self.label_28.setObjectName("label_28") + self.layoutWidget2 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget2.setGeometry(QtCore.QRect(10, 480, 241, 21)) + self.layoutWidget2.setObjectName("layoutWidget2") + self.gridLayout_3 = QtWidgets.QGridLayout(self.layoutWidget2) + self.gridLayout_3.setContentsMargins(0, 0, 0, 0) + self.gridLayout_3.setObjectName("gridLayout_3") + self.label_20 = QtWidgets.QLabel(parent=self.layoutWidget2) + self.label_20.setObjectName("label_20") + self.gridLayout_3.addWidget(self.label_20, 0, 0, 1, 1) + self.line_iteration_step = QtWidgets.QLabel(parent=self.layoutWidget2) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.line_iteration_step.setPalette(palette) + self.line_iteration_step.setAutoFillBackground(True) + self.line_iteration_step.setText("") + self.line_iteration_step.setObjectName("line_iteration_step") + self.gridLayout_3.addWidget(self.line_iteration_step, 0, 1, 1, 1) + self.checkBox_y2_coil = QtWidgets.QCheckBox(parent=self.centralwidget) + self.checkBox_y2_coil.setGeometry(QtCore.QRect(180, 355, 111, 17)) + self.checkBox_y2_coil.setObjectName("checkBox_y2_coil") + self.layoutWidget3 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget3.setGeometry(QtCore.QRect(10, 304, 161, 111)) + self.layoutWidget3.setObjectName("layoutWidget3") + self.gridLayout_4 = QtWidgets.QGridLayout(self.layoutWidget3) + self.gridLayout_4.setContentsMargins(0, 0, 0, 0) + self.gridLayout_4.setObjectName("gridLayout_4") + self.label_25 = QtWidgets.QLabel(parent=self.layoutWidget3) + self.label_25.setObjectName("label_25") + self.gridLayout_4.addWidget(self.label_25, 0, 0, 1, 1) + self.line_HHC_param_x = QtWidgets.QLineEdit(parent=self.layoutWidget3) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_HHC_param_x.sizePolicy().hasHeightForWidth()) + self.line_HHC_param_x.setSizePolicy(sizePolicy) + self.line_HHC_param_x.setText("") + self.line_HHC_param_x.setObjectName("line_HHC_param_x") + self.gridLayout_4.addWidget(self.line_HHC_param_x, 0, 1, 1, 1) + self.label_26 = QtWidgets.QLabel(parent=self.layoutWidget3) + self.label_26.setObjectName("label_26") + self.gridLayout_4.addWidget(self.label_26, 1, 0, 1, 1) + self.line_HHC_param_y = QtWidgets.QLineEdit(parent=self.layoutWidget3) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_HHC_param_y.sizePolicy().hasHeightForWidth()) + self.line_HHC_param_y.setSizePolicy(sizePolicy) + self.line_HHC_param_y.setText("") + self.line_HHC_param_y.setObjectName("line_HHC_param_y") + self.gridLayout_4.addWidget(self.line_HHC_param_y, 1, 1, 1, 1) + self.label_29 = QtWidgets.QLabel(parent=self.layoutWidget3) + self.label_29.setObjectName("label_29") + self.gridLayout_4.addWidget(self.label_29, 2, 0, 1, 1) + self.line_HHC_param_y2 = QtWidgets.QLineEdit(parent=self.layoutWidget3) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_HHC_param_y2.sizePolicy().hasHeightForWidth()) + self.line_HHC_param_y2.setSizePolicy(sizePolicy) + self.line_HHC_param_y2.setText("") + self.line_HHC_param_y2.setObjectName("line_HHC_param_y2") + self.gridLayout_4.addWidget(self.line_HHC_param_y2, 2, 1, 1, 1) + self.label_27 = QtWidgets.QLabel(parent=self.layoutWidget3) + self.label_27.setObjectName("label_27") + self.gridLayout_4.addWidget(self.label_27, 3, 0, 1, 1) + self.line_HHC_param_z = QtWidgets.QLineEdit(parent=self.layoutWidget3) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_HHC_param_z.sizePolicy().hasHeightForWidth()) + self.line_HHC_param_z.setSizePolicy(sizePolicy) + self.line_HHC_param_z.setText("") + self.line_HHC_param_z.setObjectName("line_HHC_param_z") + self.gridLayout_4.addWidget(self.line_HHC_param_z, 3, 1, 1, 1) + self.label_30 = QtWidgets.QLabel(parent=self.centralwidget) + self.label_30.setGeometry(QtCore.QRect(10, 520, 211, 31)) + font = QtGui.QFont() + font.setFamily("Comic Sans MS") + font.setPointSize(10) + font.setBold(False) + font.setItalic(False) + font.setWeight(50) + self.label_30.setFont(font) + self.label_30.setObjectName("label_30") + self.frame = QtWidgets.QFrame(parent=self.centralwidget) + self.frame.setGeometry(QtCore.QRect(0, 520, 511, 111)) + self.frame.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel) + self.frame.setFrameShadow(QtWidgets.QFrame.Shadow.Plain) + self.frame.setLineWidth(4) + self.frame.setMidLineWidth(4) + self.frame.setObjectName("frame") + self.checkBox_Turn_Off_Coils = QtWidgets.QCheckBox(parent=self.frame) + self.checkBox_Turn_Off_Coils.setGeometry(QtCore.QRect(280, 70, 111, 17)) + self.checkBox_Turn_Off_Coils.setObjectName("checkBox_Turn_Off_Coils") + self.comboBox_Temp_Sensor = QtWidgets.QComboBox(parent=self.frame) + self.comboBox_Temp_Sensor.setGeometry(QtCore.QRect(340, 40, 111, 22)) + self.comboBox_Temp_Sensor.setObjectName("comboBox_Temp_Sensor") + self.comboBox_Temp_Sensor.addItem("") + self.comboBox_Temp_Sensor.addItem("") + self.comboBox_Temp_Sensor.addItem("") + self.comboBox_Temp_Sensor.addItem("") + self.comboBox_Temp_Sensor.addItem("") + self.label_32 = QtWidgets.QLabel(parent=self.frame) + self.label_32.setGeometry(QtCore.QRect(278, 40, 61, 22)) + self.label_32.setObjectName("label_32") + self.widget = QtWidgets.QWidget(parent=self.frame) + self.widget.setGeometry(QtCore.QRect(10, 40, 251, 51)) + self.widget.setObjectName("widget") + self.gridLayout_5 = QtWidgets.QGridLayout(self.widget) + self.gridLayout_5.setContentsMargins(0, 0, 0, 0) + self.gridLayout_5.setObjectName("gridLayout_5") + self.label_31 = QtWidgets.QLabel(parent=self.widget) + self.label_31.setObjectName("label_31") + self.gridLayout_5.addWidget(self.label_31, 0, 0, 1, 1) + self.line_coil_temperature = QtWidgets.QLabel(parent=self.widget) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.line_coil_temperature.setPalette(palette) + self.line_coil_temperature.setAutoFillBackground(True) + self.line_coil_temperature.setText("") + self.line_coil_temperature.setObjectName("line_coil_temperature") + self.gridLayout_5.addWidget(self.line_coil_temperature, 0, 1, 1, 1) + self.label_33 = QtWidgets.QLabel(parent=self.widget) + self.label_33.setObjectName("label_33") + self.gridLayout_5.addWidget(self.label_33, 1, 0, 1, 1) + self.line_Max_Temp = QtWidgets.QLineEdit(parent=self.widget) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_Max_Temp.sizePolicy().hasHeightForWidth()) + self.line_Max_Temp.setSizePolicy(sizePolicy) + self.line_Max_Temp.setText("") + self.line_Max_Temp.setObjectName("line_Max_Temp") + self.gridLayout_5.addWidget(self.line_Max_Temp, 1, 1, 1, 1) + MainWindow.setCentralWidget(self.centralwidget) + self.menubar = QtWidgets.QMenuBar(parent=MainWindow) + self.menubar.setGeometry(QtCore.QRect(0, 0, 628, 21)) + self.menubar.setObjectName("menubar") + self.menuFile = QtWidgets.QMenu(parent=self.menubar) + self.menuFile.setObjectName("menuFile") + MainWindow.setMenuBar(self.menubar) + self.statusbar = QtWidgets.QStatusBar(parent=MainWindow) + self.statusbar.setObjectName("statusbar") + MainWindow.setStatusBar(self.statusbar) + self.actionSet_default = QtGui.QAction(parent=MainWindow) + self.actionSet_default.setObjectName("actionSet_default") + self.actionReset_default = QtGui.QAction(parent=MainWindow) + self.actionReset_default.setObjectName("actionReset_default") + self.menuFile.addAction(self.actionSet_default) + self.menuFile.addAction(self.actionReset_default) + self.menubar.addAction(self.menuFile.menuAction()) + + self.retranslateUi(MainWindow) + QtCore.QMetaObject.connectSlotsByName(MainWindow) + + def retranslateUi(self, MainWindow): + _translate = QtCore.QCoreApplication.translate + MainWindow.setWindowTitle(_translate("MainWindow", "B-Field Compensation")) + self.label_18.setText(_translate("MainWindow", "Set values :)")) + self.label_19.setText(_translate("MainWindow", "Deviation (%)")) + self.label_16.setText(_translate("MainWindow", "B_x_set (µT)")) + self.label_17.setText(_translate("MainWindow", "B_y_set (µT)")) + self.label_21.setText(_translate("MainWindow", "B_z_set (µT)")) + self.Button_Set_Field.setText(_translate("MainWindow", "Set field")) + self.label_22.setText(_translate("MainWindow", "Max. difference (µT)")) + self.label_23.setText(_translate("MainWindow", "Max. #iterations")) + self.label_24.setText(_translate("MainWindow", "B-Field equil. time (s)")) + self.label_28.setText(_translate("MainWindow", "HHC parameters")) + self.label_20.setText(_translate("MainWindow", "Iteration step")) + self.checkBox_y2_coil.setText(_translate("MainWindow", "Use 2nd coil")) + self.label_25.setText(_translate("MainWindow", "x parameter (µT/A)")) + self.label_26.setText(_translate("MainWindow", "y parameter (µT/A)")) + self.label_29.setText(_translate("MainWindow", "y2 parameter (µT/A)")) + self.label_27.setText(_translate("MainWindow", "z parameter (µT/A)")) + self.label_30.setText(_translate("MainWindow", "Temperature monitoring")) + self.checkBox_Turn_Off_Coils.setText(_translate("MainWindow", "Turn off")) + self.comboBox_Temp_Sensor.setItemText(0, _translate("MainWindow", "No Sensor")) + self.comboBox_Temp_Sensor.setItemText(1, _translate("MainWindow", "LS336 CH A")) + self.comboBox_Temp_Sensor.setItemText(2, _translate("MainWindow", "LS336 CH B")) + self.comboBox_Temp_Sensor.setItemText(3, _translate("MainWindow", "LS336 CH C")) + self.comboBox_Temp_Sensor.setItemText(4, _translate("MainWindow", "LS336 CH D")) + self.label_32.setText(_translate("MainWindow", "Sensor")) + self.label_31.setText(_translate("MainWindow", "Temperature y2 coil (K)")) + self.label_33.setText(_translate("MainWindow", "Max. temperature (K)")) + self.menuFile.setTitle(_translate("MainWindow", "File")) + self.actionSet_default.setText(_translate("MainWindow", "Make current values default")) + self.actionReset_default.setText(_translate("MainWindow", "Reset default values")) +from pyqtgraph import PlotWidget + + +if __name__ == "__main__": + import sys + app = QtWidgets.QApplication(sys.argv) + MainWindow = QtWidgets.QMainWindow() + ui = Ui_MainWindow() + ui.setupUi(MainWindow) + MainWindow.show() + sys.exit(app.exec()) diff --git a/Legacy/TF_Control/design_files/Main.ui b/Legacy/TF_Control/design_files/Main.ui new file mode 100644 index 0000000..76ad917 --- /dev/null +++ b/Legacy/TF_Control/design_files/Main.ui @@ -0,0 +1,20310 @@ + + + MainWindow + + + + 0 + 0 + 1742 + 1237 + + + + + + + + + 0 + 0 + 0 + + + + + + + 240 + 244 + 249 + + + + + + + 255 + 255 + 255 + + + + + + + 247 + 249 + 252 + + + + + + + 120 + 122 + 124 + + + + + + + 160 + 163 + 166 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 240 + 244 + 249 + + + + + + + 0 + 0 + 0 + + + + + + + 247 + 249 + 252 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 240 + 244 + 249 + + + + + + + 255 + 255 + 255 + + + + + + + 247 + 249 + 252 + + + + + + + 120 + 122 + 124 + + + + + + + 160 + 163 + 166 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 240 + 244 + 249 + + + + + + + 0 + 0 + 0 + + + + + + + 247 + 249 + 252 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 120 + 122 + 124 + + + + + + + 240 + 244 + 249 + + + + + + + 255 + 255 + 255 + + + + + + + 247 + 249 + 252 + + + + + + + 120 + 122 + 124 + + + + + + + 160 + 163 + 166 + + + + + + + 120 + 122 + 124 + + + + + + + 255 + 255 + 255 + + + + + + + 120 + 122 + 124 + + + + + + + 240 + 244 + 249 + + + + + + + 240 + 244 + 249 + + + + + + + 0 + 0 + 0 + + + + + + + 240 + 244 + 249 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 10 + + + + MainWindow + + + true + + + + + 1 + + + 1 + + + 1 + + + 1 + + + + + true + + + + + 0 + 0 + 2075 + 1261 + + + + + + + + + + + + 0 + 0 + + + + + 35 + 20 + + + + + 30 + 100 + + + + true + + + QAbstractItemView::MultiSelection + + + + X + + + + + Y + + + + + Z + + + + + Mag + + + + + + + + + + + + + 0 + 0 + + + + + 35 + 20 + + + + + 30 + 16777215 + + + + true + + + QAbstractItemView::MultiSelection + + + + 1 + + + + false + false + true + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + Bot + + + + + Top + + + + + Gas + + + + + + + + + + + 0 + 0 + + + + + 431 + 281 + + + + + + + + + + true + + + + 0 + 0 + + + + + 40 + 0 + + + + Reset + + + + + + + true + + + + 0 + 0 + + + + + 40 + 0 + + + + imc + + + + + + + + 0 + 0 + + + + set + + + + + + + + 0 + 0 + + + + T Top + + + + + + + + 14 + 75 + true + + + + Temperature Control + + + + + + + true + + + + 0 + 0 + + + + + 40 + 0 + + + + Start Ramp + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + true + + + + 0 + 0 + + + + + 40 + 0 + + + + Stop Ramp + + + + + + + + 0 + 0 + + + + is + + + + + + + true + + + + 0 + 0 + + + + + 40 + 0 + + + + on/OFF + + + + + + + 3 + + + 320.000000000000000 + + + 0.100000000000000 + + + + + + + + 0 + 0 + + + + reset + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + true + + + + 0 + 0 + + + + + 40 + 0 + + + + LS218 + + + + + + + + 0 + 0 + + + + Ramprate + + + + + + + + 0 + 0 + + + + T Bottom + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + dT/dt [K/s] + + + + + + + 3 + + + 320.000000000000000 + + + 0.100000000000000 + + + + + + + true + + + 3 + + + 0.100000000000000 + + + + + + + + 0 + 0 + + + + delta t [s] + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + 3 + + + 0.100000000000000 + + + + + + + + + + 0 + 0 + + + + CH 5 + + + + + + + + 0 + 0 + + + + + 40 + 20 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + CH 6 + + + + + + + + 0 + 0 + + + + + 40 + 20 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + CH 7 + + + + + + + + 0 + 0 + + + + + 40 + 20 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + CH 8 + + + + + + + + 0 + 0 + + + + + 40 + 20 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + 0.100000000000000 + + + + + + + Qt::Vertical + + + + 0 + 40 + + + + + + + + + + + + + 0 + 0 + + + + CH 1 + + + + + + + + 0 + 0 + + + + + 40 + 20 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + CH 2 + + + + + + + + 0 + 0 + + + + + 40 + 20 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + CH 3 + + + + + + + + 0 + 0 + + + + + 40 + 20 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + CH 4 + + + + + + + + 0 + 0 + + + + + 40 + 20 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + T_c [K] + + + + + + + Qt::Vertical + + + + 0 + 40 + + + + + + + + + + CH 2 + + + + + + + CH 5 + + + + + + + + + + 0 + 0 + + + + CH A + + + + + + + + 0 + 0 + + + + + 40 + 20 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + CH B + + + + + + + + 0 + 0 + + + + + 40 + 20 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + CH C + + + + + + + + 0 + 0 + + + + + 40 + 20 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + CH D + + + + + + + + 0 + 0 + + + + + 40 + 20 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + Autoscale + + + true + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + CH 3 + + + + + + + CH 4 + + + + + + + CH 6 + + + + + + + CH 1 + + + + + + + CH 8 + + + + + + + + 0 + 0 + + + + Status + + + + + + + CH 7 + + + + + + + + 0 + 0 + + + + + 40 + 20 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + + 0 + 0 + + + + + 431 + 281 + + + + + + + + + + 0.100000000000000 + + + 1.000000000000000 + + + + + + + + 0 + 0 + + + + Enable AMR Calib + + + + + + + + 0 + 0 + + + + Buffer Size + + + + + + + true + + + 100 + + + 99999 + + + 36000 + + + + + + + + + + + + + + Resize + + + + + + + + 0 + 0 + + + + test.txt + + + + + + + + 0 + 0 + + + + + + + + + 0 + 0 + + + + + + + + + 0 + 0 + + + + Timing Main [s] + + + + + + + 0.100000000000000 + + + 0.100000000000000 + + + 0.100000000000000 + + + + + + + + 0 + 0 + + + + Disable all Plots + + + + + + + 10000 + + + 200 + + + + + + + + 0 + 0 + + + + Points to plot + + + + + + + + 0 + 0 + + + + Path Monitoring + + + + + + + + 0 + 0 + + + + + 14 + 75 + true + + + + System + + + + + + + + 0 + 0 + + + + Path Points + + + + + + + Qt::Vertical + + + + 20 + 5 + + + + + + + + Qt::Vertical + + + + 20 + 5 + + + + + + + + Qt::Vertical + + + + 20 + 0 + + + + + + + + false + + + + + + + + + + + 0 + 0 + + + + Timing Monitoring [s] + + + + + + + + 0 + 0 + + + + Path AMR Calib + + + + + + + Monitoring + + + + + + + + + + + + 0 + 0 + + + + Max Power [W] + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + 0 + 0 + + + + R heater [Ohm] + + + + + + + + 0 + 0 + + + + Bottom Cernox + + + + + + + 7 + + + + + + + + 0 + 0 + + + + Top Cernox + + + + + + + + 0 + 0 + + + + + 14 + 75 + true + + + + Heater Setup + + + + + + + 7 + + + + + + + 3 + + + + + + + + 0 + 0 + + + + Channel + + + + + + + 3 + + + + + + + Autoscale + + + true + + + + + + + 3 + + + + + + + + 0 + 0 + + + + PID Bot + + + + + + + 3 + + + + + + + + 0 + 0 + + + + PID Top + + + + + + + 3 + + + + + + + + + + + 0 + 0 + + + + P + + + + + + + + 0 + 0 + + + + D + + + + + + + + 0 + 0 + + + + I + + + + + + + 3 + + + + + + + 15.000000000000000 + + + + + + + 15.000000000000000 + + + + + + + + 0 + 0 + + + + Power [W] + + + + + + + + 0 + 0 + + + + + 40 + 20 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + 40 + 20 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + 2 + + + + + + 0 + 0 + + + + + 0 + 2 + + + + AMR Flip + + + + + + + + 0 + 0 + + + + Relais Fan + + + + + + + + 0 + 0 + + + + Turn LED on + + + + + + + + 0 + 0 + + + + + 13 + 8 + + + + + + + + + 0 + 0 + 0 + + + + + + + 51 + 160 + 44 + + + + + + + 76 + 240 + 66 + + + + + + + 63 + 200 + 55 + + + + + + + 25 + 80 + 22 + + + + + + + 34 + 107 + 29 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 51 + 160 + 44 + + + + + + + 0 + 0 + 0 + + + + + + + 153 + 207 + 149 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 51 + 160 + 44 + + + + + + + 76 + 240 + 66 + + + + + + + 63 + 200 + 55 + + + + + + + 25 + 80 + 22 + + + + + + + 34 + 107 + 29 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 51 + 160 + 44 + + + + + + + 0 + 0 + 0 + + + + + + + 153 + 207 + 149 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 25 + 80 + 22 + + + + + + + 51 + 160 + 44 + + + + + + + 76 + 240 + 66 + + + + + + + 63 + 200 + 55 + + + + + + + 25 + 80 + 22 + + + + + + + 34 + 107 + 29 + + + + + + + 25 + 80 + 22 + + + + + + + 255 + 255 + 255 + + + + + + + 25 + 80 + 22 + + + + + + + 51 + 160 + 44 + + + + + + + 51 + 160 + 44 + + + + + + + 0 + 0 + 0 + + + + + + + 51 + 160 + 44 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + + + + + + + + + 0 + 0 + + + + + 0 + 2 + + + + + 8 + + + + 5 + + + + + + + + 0 + 0 + + + + + 13 + 8 + + + + + + + + + 0 + 0 + 0 + + + + + + + 251 + 154 + 153 + + + + + + + 255 + 255 + 255 + + + + + + + 253 + 204 + 204 + + + + + + + 125 + 77 + 76 + + + + + + + 167 + 103 + 102 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 251 + 154 + 153 + + + + + + + 0 + 0 + 0 + + + + + + + 253 + 204 + 204 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 251 + 154 + 153 + + + + + + + 255 + 255 + 255 + + + + + + + 253 + 204 + 204 + + + + + + + 125 + 77 + 76 + + + + + + + 167 + 103 + 102 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 251 + 154 + 153 + + + + + + + 0 + 0 + 0 + + + + + + + 253 + 204 + 204 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 125 + 77 + 76 + + + + + + + 251 + 154 + 153 + + + + + + + 255 + 255 + 255 + + + + + + + 253 + 204 + 204 + + + + + + + 125 + 77 + 76 + + + + + + + 167 + 103 + 102 + + + + + + + 125 + 77 + 76 + + + + + + + 255 + 255 + 255 + + + + + + + 125 + 77 + 76 + + + + + + + 251 + 154 + 153 + + + + + + + 251 + 154 + 153 + + + + + + + 0 + 0 + 0 + + + + + + + 251 + 154 + 153 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + + + + + + + + + 0 + 0 + + + + + 13 + 8 + + + + + + + + + 0 + 0 + 0 + + + + + + + 202 + 178 + 214 + + + + + + + 255 + 255 + 255 + + + + + + + 228 + 216 + 234 + + + + + + + 101 + 89 + 107 + + + + + + + 135 + 119 + 143 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 202 + 178 + 214 + + + + + + + 0 + 0 + 0 + + + + + + + 228 + 216 + 234 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 202 + 178 + 214 + + + + + + + 255 + 255 + 255 + + + + + + + 228 + 216 + 234 + + + + + + + 101 + 89 + 107 + + + + + + + 135 + 119 + 143 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 202 + 178 + 214 + + + + + + + 0 + 0 + 0 + + + + + + + 228 + 216 + 234 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 101 + 89 + 107 + + + + + + + 202 + 178 + 214 + + + + + + + 255 + 255 + 255 + + + + + + + 228 + 216 + 234 + + + + + + + 101 + 89 + 107 + + + + + + + 135 + 119 + 143 + + + + + + + 101 + 89 + 107 + + + + + + + 255 + 255 + 255 + + + + + + + 101 + 89 + 107 + + + + + + + 202 + 178 + 214 + + + + + + + 202 + 178 + 214 + + + + + + + 0 + 0 + 0 + + + + + + + 202 + 178 + 214 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + + + + + + + + + 0 + 0 + + + + + 0 + 2 + + + + + 8 + + + + 10 + + + + + + + + 0 + 0 + + + + + 13 + 8 + + + + + + + + + 0 + 0 + 0 + + + + + + + 106 + 61 + 154 + + + + + + + 159 + 91 + 231 + + + + + + + 132 + 76 + 192 + + + + + + + 53 + 30 + 77 + + + + + + + 70 + 40 + 103 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 106 + 61 + 154 + + + + + + + 0 + 0 + 0 + + + + + + + 180 + 158 + 204 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 106 + 61 + 154 + + + + + + + 159 + 91 + 231 + + + + + + + 132 + 76 + 192 + + + + + + + 53 + 30 + 77 + + + + + + + 70 + 40 + 103 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 106 + 61 + 154 + + + + + + + 0 + 0 + 0 + + + + + + + 180 + 158 + 204 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 53 + 30 + 77 + + + + + + + 106 + 61 + 154 + + + + + + + 159 + 91 + 231 + + + + + + + 132 + 76 + 192 + + + + + + + 53 + 30 + 77 + + + + + + + 70 + 40 + 103 + + + + + + + 53 + 30 + 77 + + + + + + + 255 + 255 + 255 + + + + + + + 53 + 30 + 77 + + + + + + + 106 + 61 + 154 + + + + + + + 106 + 61 + 154 + + + + + + + 0 + 0 + 0 + + + + + + + 106 + 61 + 154 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + + + + + + + + true + + + + + + + + + + + 0 + 0 + + + + + 0 + 2 + + + + + 8 + + + + 1 + + + + + + + + 0 + 0 + + + + + 0 + 2 + + + + + 8 + + + + 6 + + + + + + + + 0 + 0 + + + + + 13 + 8 + + + + + + + + + 0 + 0 + 0 + + + + + + + 166 + 206 + 227 + + + + + + + 255 + 255 + 255 + + + + + + + 210 + 230 + 241 + + + + + + + 83 + 103 + 113 + + + + + + + 111 + 137 + 151 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 166 + 206 + 227 + + + + + + + 0 + 0 + 0 + + + + + + + 210 + 230 + 241 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 166 + 206 + 227 + + + + + + + 255 + 255 + 255 + + + + + + + 210 + 230 + 241 + + + + + + + 83 + 103 + 113 + + + + + + + 111 + 137 + 151 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 166 + 206 + 227 + + + + + + + 0 + 0 + 0 + + + + + + + 210 + 230 + 241 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 83 + 103 + 113 + + + + + + + 166 + 206 + 227 + + + + + + + 255 + 255 + 255 + + + + + + + 210 + 230 + 241 + + + + + + + 83 + 103 + 113 + + + + + + + 111 + 137 + 151 + + + + + + + 83 + 103 + 113 + + + + + + + 255 + 255 + 255 + + + + + + + 83 + 103 + 113 + + + + + + + 166 + 206 + 227 + + + + + + + 166 + 206 + 227 + + + + + + + 0 + 0 + 0 + + + + + + + 166 + 206 + 227 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + + + + + + + + + 0 + 0 + + + + + 0 + 2 + + + + + 8 + + + + 11 + + + + + + + + 0 + 0 + + + + + 13 + 8 + + + + + + + + + 0 + 0 + 0 + + + + + + + 231 + 41 + 138 + + + + + + + 255 + 137 + 197 + + + + + + + 243 + 89 + 167 + + + + + + + 115 + 20 + 69 + + + + + + + 154 + 27 + 92 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 231 + 41 + 138 + + + + + + + 0 + 0 + 0 + + + + + + + 243 + 148 + 196 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 231 + 41 + 138 + + + + + + + 255 + 137 + 197 + + + + + + + 243 + 89 + 167 + + + + + + + 115 + 20 + 69 + + + + + + + 154 + 27 + 92 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 231 + 41 + 138 + + + + + + + 0 + 0 + 0 + + + + + + + 243 + 148 + 196 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 115 + 20 + 69 + + + + + + + 231 + 41 + 138 + + + + + + + 255 + 137 + 197 + + + + + + + 243 + 89 + 167 + + + + + + + 115 + 20 + 69 + + + + + + + 154 + 27 + 92 + + + + + + + 115 + 20 + 69 + + + + + + + 255 + 255 + 255 + + + + + + + 115 + 20 + 69 + + + + + + + 231 + 41 + 138 + + + + + + + 231 + 41 + 138 + + + + + + + 0 + 0 + 0 + + + + + + + 231 + 41 + 138 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + + + + + + + + + 0 + 0 + + + + + 13 + 8 + + + + + + + + + 0 + 0 + 0 + + + + + + + 227 + 26 + 28 + + + + + + + 255 + 115 + 116 + + + + + + + 241 + 70 + 72 + + + + + + + 113 + 13 + 14 + + + + + + + 151 + 17 + 18 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 227 + 26 + 28 + + + + + + + 0 + 0 + 0 + + + + + + + 241 + 140 + 141 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 227 + 26 + 28 + + + + + + + 255 + 115 + 116 + + + + + + + 241 + 70 + 72 + + + + + + + 113 + 13 + 14 + + + + + + + 151 + 17 + 18 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 227 + 26 + 28 + + + + + + + 0 + 0 + 0 + + + + + + + 241 + 140 + 141 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 113 + 13 + 14 + + + + + + + 227 + 26 + 28 + + + + + + + 255 + 115 + 116 + + + + + + + 241 + 70 + 72 + + + + + + + 113 + 13 + 14 + + + + + + + 151 + 17 + 18 + + + + + + + 113 + 13 + 14 + + + + + + + 255 + 255 + 255 + + + + + + + 113 + 13 + 14 + + + + + + + 227 + 26 + 28 + + + + + + + 227 + 26 + 28 + + + + + + + 0 + 0 + 0 + + + + + + + 227 + 26 + 28 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + + + + + + + + + 0 + 0 + + + + + 13 + 8 + + + + + + + + + 0 + 0 + 0 + + + + + + + 177 + 89 + 40 + + + + + + + 255 + 135 + 68 + + + + + + + 216 + 112 + 54 + + + + + + + 88 + 44 + 20 + + + + + + + 118 + 59 + 26 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 177 + 89 + 40 + + + + + + + 0 + 0 + 0 + + + + + + + 216 + 172 + 147 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 177 + 89 + 40 + + + + + + + 255 + 135 + 68 + + + + + + + 216 + 112 + 54 + + + + + + + 88 + 44 + 20 + + + + + + + 118 + 59 + 26 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 177 + 89 + 40 + + + + + + + 0 + 0 + 0 + + + + + + + 216 + 172 + 147 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 88 + 44 + 20 + + + + + + + 177 + 89 + 40 + + + + + + + 255 + 135 + 68 + + + + + + + 216 + 112 + 54 + + + + + + + 88 + 44 + 20 + + + + + + + 118 + 59 + 26 + + + + + + + 88 + 44 + 20 + + + + + + + 255 + 255 + 255 + + + + + + + 88 + 44 + 20 + + + + + + + 177 + 89 + 40 + + + + + + + 177 + 89 + 40 + + + + + + + 0 + 0 + 0 + + + + + + + 177 + 89 + 40 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + + + + + + + + + 0 + 0 + + + + + 0 + 2 + + + + + 8 + + + + 13 + + + + + + + + 0 + 0 + + + + + 13 + 8 + + + + + + + + + 0 + 0 + 0 + + + + + + + 253 + 191 + 111 + + + + + + + 255 + 247 + 237 + + + + + + + 254 + 219 + 174 + + + + + + + 126 + 95 + 55 + + + + + + + 169 + 127 + 74 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 253 + 191 + 111 + + + + + + + 0 + 0 + 0 + + + + + + + 254 + 223 + 183 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 253 + 191 + 111 + + + + + + + 255 + 247 + 237 + + + + + + + 254 + 219 + 174 + + + + + + + 126 + 95 + 55 + + + + + + + 169 + 127 + 74 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 253 + 191 + 111 + + + + + + + 0 + 0 + 0 + + + + + + + 254 + 223 + 183 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 126 + 95 + 55 + + + + + + + 253 + 191 + 111 + + + + + + + 255 + 247 + 237 + + + + + + + 254 + 219 + 174 + + + + + + + 126 + 95 + 55 + + + + + + + 169 + 127 + 74 + + + + + + + 126 + 95 + 55 + + + + + + + 255 + 255 + 255 + + + + + + + 126 + 95 + 55 + + + + + + + 253 + 191 + 111 + + + + + + + 253 + 191 + 111 + + + + + + + 0 + 0 + 0 + + + + + + + 253 + 191 + 111 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + + + + + + + + + 0 + 0 + + + + + 0 + 2 + + + + + 8 + + + + 9 + + + + + + + + 0 + 0 + + + + + 13 + 8 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 127 + 0 + + + + + + + 255 + 191 + 127 + + + + + + + 255 + 159 + 63 + + + + + + + 127 + 63 + 0 + + + + + + + 170 + 84 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 127 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 191 + 127 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 127 + 0 + + + + + + + 255 + 191 + 127 + + + + + + + 255 + 159 + 63 + + + + + + + 127 + 63 + 0 + + + + + + + 170 + 84 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 127 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 191 + 127 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 63 + 0 + + + + + + + 255 + 127 + 0 + + + + + + + 255 + 191 + 127 + + + + + + + 255 + 159 + 63 + + + + + + + 127 + 63 + 0 + + + + + + + 170 + 84 + 0 + + + + + + + 127 + 63 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 63 + 0 + + + + + + + 255 + 127 + 0 + + + + + + + 255 + 127 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 127 + 0 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + + + + + + + + + 0 + 0 + + + + + 0 + 2 + + + + + 8 + + + + 12 + + + + + + + + 0 + 0 + + + + + 0 + 2 + + + + + 8 + + + + 3 + + + + + + + + 0 + 0 + + + + + 0 + 2 + + + + + 8 + + + + 4 + + + + + + + + 0 + 0 + + + + + 13 + 8 + + + + + + + + + 0 + 0 + 0 + + + + + + + 178 + 223 + 138 + + + + + + + 246 + 255 + 238 + + + + + + + 212 + 239 + 188 + + + + + + + 89 + 111 + 69 + + + + + + + 119 + 149 + 92 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 178 + 223 + 138 + + + + + + + 0 + 0 + 0 + + + + + + + 216 + 239 + 196 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 178 + 223 + 138 + + + + + + + 246 + 255 + 238 + + + + + + + 212 + 239 + 188 + + + + + + + 89 + 111 + 69 + + + + + + + 119 + 149 + 92 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 178 + 223 + 138 + + + + + + + 0 + 0 + 0 + + + + + + + 216 + 239 + 196 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 89 + 111 + 69 + + + + + + + 178 + 223 + 138 + + + + + + + 246 + 255 + 238 + + + + + + + 212 + 239 + 188 + + + + + + + 89 + 111 + 69 + + + + + + + 119 + 149 + 92 + + + + + + + 89 + 111 + 69 + + + + + + + 255 + 255 + 255 + + + + + + + 89 + 111 + 69 + + + + + + + 178 + 223 + 138 + + + + + + + 178 + 223 + 138 + + + + + + + 0 + 0 + 0 + + + + + + + 178 + 223 + 138 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + + + + + + + + + 0 + 0 + + + + + 0 + 2 + + + + + 8 + + + + 2 + + + + + + + + 0 + 0 + + + + + 0 + 2 + + + + + 8 + + + + 7 + + + + + + + + 0 + 0 + + + + + 13 + 8 + + + + + + + + + 0 + 0 + 0 + + + + + + + 31 + 120 + 180 + + + + + + + 59 + 176 + 255 + + + + + + + 45 + 148 + 217 + + + + + + + 15 + 60 + 90 + + + + + + + 20 + 80 + 120 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 31 + 120 + 180 + + + + + + + 0 + 0 + 0 + + + + + + + 143 + 187 + 217 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 31 + 120 + 180 + + + + + + + 59 + 176 + 255 + + + + + + + 45 + 148 + 217 + + + + + + + 15 + 60 + 90 + + + + + + + 20 + 80 + 120 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 31 + 120 + 180 + + + + + + + 0 + 0 + 0 + + + + + + + 143 + 187 + 217 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 15 + 60 + 90 + + + + + + + 31 + 120 + 180 + + + + + + + 59 + 176 + 255 + + + + + + + 45 + 148 + 217 + + + + + + + 15 + 60 + 90 + + + + + + + 20 + 80 + 120 + + + + + + + 15 + 60 + 90 + + + + + + + 255 + 255 + 255 + + + + + + + 15 + 60 + 90 + + + + + + + 31 + 120 + 180 + + + + + + + 31 + 120 + 180 + + + + + + + 0 + 0 + 0 + + + + + + + 31 + 120 + 180 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + + + + + + + + + 0 + 0 + + + + + 0 + 2 + + + + + 8 + + + + 8 + + + + + + + + + + + + + + + 0 + 0 + + + + + 0 + 2 + + + + + 8 + + + + 14 + + + + + + + + 0 + 0 + + + + + 13 + 8 + + + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + + + + + + + + + 0 + 0 + + + + + 13 + 8 + + + + + + + + + 0 + 0 + 0 + + + + + + + 217 + 217 + 217 + + + + + + + 255 + 255 + 255 + + + + + + + 236 + 236 + 236 + + + + + + + 108 + 108 + 108 + + + + + + + 145 + 145 + 145 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 217 + 217 + 217 + + + + + + + 0 + 0 + 0 + + + + + + + 236 + 236 + 236 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 217 + 217 + 217 + + + + + + + 255 + 255 + 255 + + + + + + + 236 + 236 + 236 + + + + + + + 108 + 108 + 108 + + + + + + + 145 + 145 + 145 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 217 + 217 + 217 + + + + + + + 0 + 0 + 0 + + + + + + + 236 + 236 + 236 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 108 + 108 + 108 + + + + + + + 217 + 217 + 217 + + + + + + + 255 + 255 + 255 + + + + + + + 236 + 236 + 236 + + + + + + + 108 + 108 + 108 + + + + + + + 145 + 145 + 145 + + + + + + + 108 + 108 + 108 + + + + + + + 255 + 255 + 255 + + + + + + + 108 + 108 + 108 + + + + + + + 217 + 217 + 217 + + + + + + + 217 + 217 + 217 + + + + + + + 0 + 0 + 0 + + + + + + + 217 + 217 + 217 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + + + + + + + + + 0 + 0 + + + + + 13 + 8 + + + + + + + + + 255 + 255 + 255 + + + + + + + 1 + 108 + 89 + + + + + + + 1 + 162 + 134 + + + + + + + 1 + 135 + 111 + + + + + + + 0 + 54 + 44 + + + + + + + 0 + 72 + 59 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 1 + 108 + 89 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 54 + 44 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 255 + 255 + 255 + + + + + + + 1 + 108 + 89 + + + + + + + 1 + 162 + 134 + + + + + + + 1 + 135 + 111 + + + + + + + 0 + 54 + 44 + + + + + + + 0 + 72 + 59 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 1 + 108 + 89 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 54 + 44 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 54 + 44 + + + + + + + 1 + 108 + 89 + + + + + + + 1 + 162 + 134 + + + + + + + 1 + 135 + 111 + + + + + + + 0 + 54 + 44 + + + + + + + 0 + 72 + 59 + + + + + + + 0 + 54 + 44 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 54 + 44 + + + + + + + 1 + 108 + 89 + + + + + + + 1 + 108 + 89 + + + + + + + 0 + 0 + 0 + + + + + + + 1 + 108 + 89 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + + + + + + + + + 0 + 0 + + + + + 0 + 2 + + + + + 8 + + + + 15 + + + + + + + + 0 + 0 + + + + AMR Supply + + + + + + + Qt::Horizontal + + + + 40 + 0 + + + + + + + + + + + + + + + + 0 + 2 + + + + + + + + + + + + + + 0 + 0 + + + + R [Ohm] + + + + + + + 0.100000000000000 + + + 1.000000000000000 + + + + + + + + 0 + 0 + + + + P set [W] + + + + + + + 0.000000000000000 + + + 1.000000000000000 + + + + + + + + 0 + 0 + + + + P is [W] + + + + + + + + 0 + 0 + + + + + 30 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + On/Off + + + + + + + + + + + + + + Measure R + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + 0 + 0 + + + + He Heater + + + + + + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 20 + + + + QFrame::Sunken + + + 10 + + + Qt::Vertical + + + + + + + + + + 0 + 0 + + + + + 431 + 281 + + + + + + + + + + + 0 + 0 + + + + + 14 + 75 + true + + + + Magnetic Field Control + + + + + + + + + Set field + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + B_y [µT] + + + + + + + -250.000000000000000 + + + 250.000000000000000 + + + + + + + -250.000000000000000 + + + 250.000000000000000 + + + + + + + B_x [µT] + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + Fluxgate Data + + + + + + + B_z [µT] + + + + + + + -250.000000000000000 + + + 250.000000000000000 + + + + + + + Current Value + + + + + + + Autoscale + + + true + + + + + + + Set Value + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + + + + + 0 + 0 + + + + + 14 + 75 + true + + + + Stored coil currents + + + + + + + + + + 0 + 0 + + + + + 40 + 0 + + + + Get I + + + + + + + + + + + + + + 3 + + + + + + + 3 + + + + + + + + + + + + + + + 0 + 0 + + + + + 40 + 0 + + + + Set I + + + + + + + Field 2 + + + + + + + + + + + + + + + + + + + + + true + + + + 0 + 0 + + + + + 40 + 0 + + + + Get I + + + + + + + + 0 + 0 + + + + + 40 + 0 + + + + Set I + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + Field 1 + + + + + + + 0-Field + + + + + + + 3 + + + + + + + Autoscale + + + true + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + I_y [A] + + + + + + + 3 + + + + + + + I_x [A] + + + + + + + 3 + + + + + + + 3 + + + + + + + I_z [A] + + + + + + + + 0 + 0 + + + + Set I + + + + + + + 3 + + + + + + + 3 + + + + + + + + 0 + 0 + + + + Get I + + + + + + + Coils Off + + + + + + + I_y2 [A] + + + + + + + 3 + + + + + + + false + + + + + + + + + + 3 + + + + + + + false + + + + + + + + + + 3 + + + + + + + false + + + + + + + + + + + + + + + 0 + 0 + + + + + 30 + 20 + + + + + 30 + 16777215 + + + + true + + + QAbstractItemView::MultiSelection + + + + 1 + + + + false + false + true + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + 9 + + + + + 10 + + + + + 11 + + + + + 12 + + + + + 13 + + + + + 14 + + + + + 15 + + + + + + + + + 0 + 0 + + + + + 30 + 20 + + + + + 30 + 16777215 + + + + true + + + QAbstractItemView::MultiSelection + + + + 1 + + + + false + false + true + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + 9 + + + + + 10 + + + + + 11 + + + + + 12 + + + + + 13 + + + + + 14 + + + + + 15 + + + + + + + + + 0 + 0 + + + + + 30 + 20 + + + + + 30 + 16777215 + + + + true + + + QAbstractItemView::MultiSelection + + + + 1 + + + + false + false + true + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + 9 + + + + + 10 + + + + + 11 + + + + + 12 + + + + + 13 + + + + + 14 + + + + + 15 + + + + + + + + + + + 0 + 0 + + + + + 14 + 75 + true + + + + Auxiliary Programs + + + + + + + false + + + + 0 + 0 + + + + + 40 + 0 + + + + BK 60 (1) + + + + + + + false + + + + 0 + 0 + + + + + 40 + 0 + + + + BK 70 (2) + + + + + + + false + + + + 0 + 0 + + + + + 40 + 0 + + + + BK 70 (1) + + + + + + + false + + + + 0 + 0 + + + + + 40 + 0 + + + + BK 30 + + + + + + + false + + + + 0 + 0 + + + + + 40 + 0 + + + + BK 60 (2) + + + + + + + false + + + + 0 + 0 + + + + + 40 + 0 + + + + Field Control + + + + + + + false + + + + 0 + 0 + + + + + 40 + 0 + + + + Keythley + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 20 + + + + + + + + false + + + + 0 + 0 + + + + + 40 + 0 + + + + AMR Calibration + + + + + + + false + + + + 0 + 0 + + + + + 40 + 0 + + + + Cernox Calibration + + + + + + + Autoscale + + + true + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + 0 + 0 + + + + + 431 + 281 + + + + + + + + + 0 + 0 + + + + + 431 + 281 + + + + + + + + + + + + + + + + 0 + 0 + 1742 + 26 + + + + + File + + + + + + + + + + Make current values default + + + + + Load default values + + + + + + PlotWidget + QWidget +
pyqtgraph
+ 1 +
+
+ + +
diff --git a/Legacy/TF_Control/design_files/Main_design.py b/Legacy/TF_Control/design_files/Main_design.py new file mode 100644 index 0000000..f5e18a4 --- /dev/null +++ b/Legacy/TF_Control/design_files/Main_design.py @@ -0,0 +1,7664 @@ +# Form implementation generated from reading ui file 'Main.ui' +# +# Created by: PyQt6 UI code generator 6.6.1 +# +# WARNING: Any manual changes made to this file will be lost when pyuic6 is +# run again. Do not edit this file unless you know what you are doing. + + +from PyQt6 import QtCore, QtGui, QtWidgets + + +class Ui_MainWindow(object): + def setupUi(self, MainWindow): + MainWindow.setObjectName("MainWindow") + MainWindow.resize(1742, 1237) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(240, 244, 249)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(247, 249, 252)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(120, 122, 124)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(160, 163, 166)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(240, 244, 249)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(247, 249, 252)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(240, 244, 249)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(247, 249, 252)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(120, 122, 124)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(160, 163, 166)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(240, 244, 249)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(247, 249, 252)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(120, 122, 124)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(240, 244, 249)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(247, 249, 252)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(120, 122, 124)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(160, 163, 166)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(120, 122, 124)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(120, 122, 124)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(240, 244, 249)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(240, 244, 249)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(240, 244, 249)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + MainWindow.setPalette(palette) + font = QtGui.QFont() + font.setPointSize(10) + MainWindow.setFont(font) + MainWindow.setAutoFillBackground(True) + self.centralwidget = QtWidgets.QWidget(parent=MainWindow) + self.centralwidget.setObjectName("centralwidget") + self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.centralwidget) + self.horizontalLayout_2.setContentsMargins(1, 1, 1, 1) + self.horizontalLayout_2.setObjectName("horizontalLayout_2") + self.scrollArea = QtWidgets.QScrollArea(parent=self.centralwidget) + self.scrollArea.setWidgetResizable(True) + self.scrollArea.setObjectName("scrollArea") + self.scrollAreaWidgetContents = QtWidgets.QWidget() + self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 2075, 1261)) + self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents") + self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.scrollAreaWidgetContents) + self.horizontalLayout_3.setObjectName("horizontalLayout_3") + self.gridLayout = QtWidgets.QGridLayout() + self.gridLayout.setObjectName("gridLayout") + self.verticalLayout_3 = QtWidgets.QVBoxLayout() + self.verticalLayout_3.setObjectName("verticalLayout_3") + self.list_FG = QtWidgets.QListWidget(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Expanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.list_FG.sizePolicy().hasHeightForWidth()) + self.list_FG.setSizePolicy(sizePolicy) + self.list_FG.setMinimumSize(QtCore.QSize(35, 20)) + self.list_FG.setMaximumSize(QtCore.QSize(30, 100)) + self.list_FG.setAutoFillBackground(True) + self.list_FG.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.MultiSelection) + self.list_FG.setObjectName("list_FG") + item = QtWidgets.QListWidgetItem() + self.list_FG.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_FG.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_FG.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_FG.addItem(item) + self.verticalLayout_3.addWidget(self.list_FG) + self.gridLayout.addLayout(self.verticalLayout_3, 2, 1, 1, 1) + self.verticalLayout = QtWidgets.QVBoxLayout() + self.verticalLayout.setObjectName("verticalLayout") + self.list_T = QtWidgets.QListWidget(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Expanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.list_T.sizePolicy().hasHeightForWidth()) + self.list_T.setSizePolicy(sizePolicy) + self.list_T.setMinimumSize(QtCore.QSize(35, 20)) + self.list_T.setMaximumSize(QtCore.QSize(30, 16777215)) + self.list_T.setAutoFillBackground(True) + self.list_T.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.MultiSelection) + self.list_T.setObjectName("list_T") + item = QtWidgets.QListWidgetItem() + font = QtGui.QFont() + font.setUnderline(False) + font.setStrikeOut(False) + font.setKerning(True) + item.setFont(font) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.NoBrush) + item.setBackground(brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.NoBrush) + item.setForeground(brush) + self.list_T.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_T.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_T.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_T.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_T.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_T.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_T.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_T.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_T.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_T.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_T.addItem(item) + self.verticalLayout.addWidget(self.list_T) + self.gridLayout.addLayout(self.verticalLayout, 1, 1, 1, 1) + self.graphWidget_T = PlotWidget(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.graphWidget_T.sizePolicy().hasHeightForWidth()) + self.graphWidget_T.setSizePolicy(sizePolicy) + self.graphWidget_T.setMinimumSize(QtCore.QSize(431, 281)) + self.graphWidget_T.setObjectName("graphWidget_T") + self.gridLayout.addWidget(self.graphWidget_T, 1, 2, 1, 1) + self.gridLayout_12 = QtWidgets.QGridLayout() + self.gridLayout_12.setObjectName("gridLayout_12") + self.Button_reset_T_set = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + self.Button_reset_T_set.setEnabled(True) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.Button_reset_T_set.sizePolicy().hasHeightForWidth()) + self.Button_reset_T_set.setSizePolicy(sizePolicy) + self.Button_reset_T_set.setMinimumSize(QtCore.QSize(40, 0)) + self.Button_reset_T_set.setObjectName("Button_reset_T_set") + self.gridLayout_12.addWidget(self.Button_reset_T_set, 7, 3, 1, 1) + self.Button_imc = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + self.Button_imc.setEnabled(True) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.Button_imc.sizePolicy().hasHeightForWidth()) + self.Button_imc.setSizePolicy(sizePolicy) + self.Button_imc.setMinimumSize(QtCore.QSize(40, 0)) + self.Button_imc.setObjectName("Button_imc") + self.gridLayout_12.addWidget(self.Button_imc, 8, 3, 1, 1) + self.label_31 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_31.sizePolicy().hasHeightForWidth()) + self.label_31.setSizePolicy(sizePolicy) + self.label_31.setObjectName("label_31") + self.gridLayout_12.addWidget(self.label_31, 1, 2, 1, 1) + self.label_33 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_33.sizePolicy().hasHeightForWidth()) + self.label_33.setSizePolicy(sizePolicy) + self.label_33.setObjectName("label_33") + self.gridLayout_12.addWidget(self.label_33, 2, 0, 1, 1) + self.label_16 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + font = QtGui.QFont() + font.setPointSize(14) + font.setBold(True) + font.setWeight(75) + self.label_16.setFont(font) + self.label_16.setObjectName("label_16") + self.gridLayout_12.addWidget(self.label_16, 0, 0, 1, 4) + self.Button_start_ramp = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + self.Button_start_ramp.setEnabled(True) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.Button_start_ramp.sizePolicy().hasHeightForWidth()) + self.Button_start_ramp.setSizePolicy(sizePolicy) + self.Button_start_ramp.setMinimumSize(QtCore.QSize(40, 0)) + self.Button_start_ramp.setObjectName("Button_start_ramp") + self.gridLayout_12.addWidget(self.Button_start_ramp, 7, 1, 1, 1) + self.lab_T_bot = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.lab_T_bot.setPalette(palette) + self.lab_T_bot.setAutoFillBackground(True) + self.lab_T_bot.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.lab_T_bot.setObjectName("lab_T_bot") + self.gridLayout_12.addWidget(self.lab_T_bot, 3, 1, 1, 1) + self.Button_stop_ramp = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + self.Button_stop_ramp.setEnabled(True) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.Button_stop_ramp.sizePolicy().hasHeightForWidth()) + self.Button_stop_ramp.setSizePolicy(sizePolicy) + self.Button_stop_ramp.setMinimumSize(QtCore.QSize(40, 0)) + self.Button_stop_ramp.setObjectName("Button_stop_ramp") + self.gridLayout_12.addWidget(self.Button_stop_ramp, 7, 2, 1, 1) + self.label_30 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_30.sizePolicy().hasHeightForWidth()) + self.label_30.setSizePolicy(sizePolicy) + self.label_30.setObjectName("label_30") + self.gridLayout_12.addWidget(self.label_30, 1, 1, 1, 1) + self.Button_PID_on = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + self.Button_PID_on.setEnabled(True) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.Button_PID_on.sizePolicy().hasHeightForWidth()) + self.Button_PID_on.setSizePolicy(sizePolicy) + self.Button_PID_on.setMinimumSize(QtCore.QSize(40, 0)) + self.Button_PID_on.setObjectName("Button_PID_on") + self.gridLayout_12.addWidget(self.Button_PID_on, 8, 1, 1, 1) + self.dSB_T_reset_bot = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.dSB_T_reset_bot.setDecimals(3) + self.dSB_T_reset_bot.setMaximum(320.0) + self.dSB_T_reset_bot.setSingleStep(0.1) + self.dSB_T_reset_bot.setObjectName("dSB_T_reset_bot") + self.gridLayout_12.addWidget(self.dSB_T_reset_bot, 3, 3, 1, 1) + self.label_32 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_32.sizePolicy().hasHeightForWidth()) + self.label_32.setSizePolicy(sizePolicy) + self.label_32.setObjectName("label_32") + self.gridLayout_12.addWidget(self.label_32, 1, 3, 1, 1) + self.lab_T_top = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.lab_T_top.setPalette(palette) + self.lab_T_top.setAutoFillBackground(True) + self.lab_T_top.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.lab_T_top.setObjectName("lab_T_top") + self.gridLayout_12.addWidget(self.lab_T_top, 2, 1, 1, 1) + self.Button_LS = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + self.Button_LS.setEnabled(True) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.Button_LS.sizePolicy().hasHeightForWidth()) + self.Button_LS.setSizePolicy(sizePolicy) + self.Button_LS.setMinimumSize(QtCore.QSize(40, 0)) + self.Button_LS.setObjectName("Button_LS") + self.gridLayout_12.addWidget(self.Button_LS, 8, 2, 1, 1) + self.label_17 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_17.sizePolicy().hasHeightForWidth()) + self.label_17.setSizePolicy(sizePolicy) + self.label_17.setObjectName("label_17") + self.gridLayout_12.addWidget(self.label_17, 5, 0, 1, 1) + self.label_34 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_34.sizePolicy().hasHeightForWidth()) + self.label_34.setSizePolicy(sizePolicy) + self.label_34.setObjectName("label_34") + self.gridLayout_12.addWidget(self.label_34, 3, 0, 1, 1) + self.lab_T_set_bot = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.lab_T_set_bot.setPalette(palette) + self.lab_T_set_bot.setAutoFillBackground(True) + self.lab_T_set_bot.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.lab_T_set_bot.setObjectName("lab_T_set_bot") + self.gridLayout_12.addWidget(self.lab_T_set_bot, 3, 2, 1, 1) + self.label_19 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_19.sizePolicy().hasHeightForWidth()) + self.label_19.setSizePolicy(sizePolicy) + self.label_19.setObjectName("label_19") + self.gridLayout_12.addWidget(self.label_19, 4, 1, 1, 1) + self.dSB_T_reset_top = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.dSB_T_reset_top.setDecimals(3) + self.dSB_T_reset_top.setMaximum(320.0) + self.dSB_T_reset_top.setSingleStep(0.1) + self.dSB_T_reset_top.setObjectName("dSB_T_reset_top") + self.gridLayout_12.addWidget(self.dSB_T_reset_top, 2, 3, 1, 1) + self.dSB_ramprate_t_const = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.dSB_ramprate_t_const.setAutoFillBackground(True) + self.dSB_ramprate_t_const.setDecimals(3) + self.dSB_ramprate_t_const.setSingleStep(0.1) + self.dSB_ramprate_t_const.setObjectName("dSB_ramprate_t_const") + self.gridLayout_12.addWidget(self.dSB_ramprate_t_const, 5, 2, 1, 1) + self.label_20 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_20.sizePolicy().hasHeightForWidth()) + self.label_20.setSizePolicy(sizePolicy) + self.label_20.setObjectName("label_20") + self.gridLayout_12.addWidget(self.label_20, 4, 2, 1, 1) + self.lab_T_set_top = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.lab_T_set_top.setPalette(palette) + self.lab_T_set_top.setAutoFillBackground(True) + self.lab_T_set_top.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.lab_T_set_top.setObjectName("lab_T_set_top") + self.gridLayout_12.addWidget(self.lab_T_set_top, 2, 2, 1, 1) + self.dSB_ramprate = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.dSB_ramprate.setDecimals(3) + self.dSB_ramprate.setSingleStep(0.1) + self.dSB_ramprate.setObjectName("dSB_ramprate") + self.gridLayout_12.addWidget(self.dSB_ramprate, 5, 1, 1, 1) + self.formLayout_3 = QtWidgets.QFormLayout() + self.formLayout_3.setObjectName("formLayout_3") + self.label_92 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_92.sizePolicy().hasHeightForWidth()) + self.label_92.setSizePolicy(sizePolicy) + self.label_92.setObjectName("label_92") + self.formLayout_3.setWidget(0, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_92) + self.lab_T_5 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.lab_T_5.sizePolicy().hasHeightForWidth()) + self.lab_T_5.setSizePolicy(sizePolicy) + self.lab_T_5.setMinimumSize(QtCore.QSize(40, 20)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.lab_T_5.setPalette(palette) + self.lab_T_5.setAutoFillBackground(True) + self.lab_T_5.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.lab_T_5.setObjectName("lab_T_5") + self.formLayout_3.setWidget(0, QtWidgets.QFormLayout.ItemRole.FieldRole, self.lab_T_5) + self.label_93 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_93.sizePolicy().hasHeightForWidth()) + self.label_93.setSizePolicy(sizePolicy) + self.label_93.setObjectName("label_93") + self.formLayout_3.setWidget(1, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_93) + self.lab_T_6 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.lab_T_6.sizePolicy().hasHeightForWidth()) + self.lab_T_6.setSizePolicy(sizePolicy) + self.lab_T_6.setMinimumSize(QtCore.QSize(40, 20)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.lab_T_6.setPalette(palette) + self.lab_T_6.setAutoFillBackground(True) + self.lab_T_6.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.lab_T_6.setObjectName("lab_T_6") + self.formLayout_3.setWidget(1, QtWidgets.QFormLayout.ItemRole.FieldRole, self.lab_T_6) + self.label_95 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_95.sizePolicy().hasHeightForWidth()) + self.label_95.setSizePolicy(sizePolicy) + self.label_95.setObjectName("label_95") + self.formLayout_3.setWidget(2, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_95) + self.lab_T_7 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.lab_T_7.sizePolicy().hasHeightForWidth()) + self.lab_T_7.setSizePolicy(sizePolicy) + self.lab_T_7.setMinimumSize(QtCore.QSize(40, 20)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.lab_T_7.setPalette(palette) + self.lab_T_7.setAutoFillBackground(True) + self.lab_T_7.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.lab_T_7.setObjectName("lab_T_7") + self.formLayout_3.setWidget(2, QtWidgets.QFormLayout.ItemRole.FieldRole, self.lab_T_7) + self.label_94 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_94.sizePolicy().hasHeightForWidth()) + self.label_94.setSizePolicy(sizePolicy) + self.label_94.setObjectName("label_94") + self.formLayout_3.setWidget(3, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_94) + self.lab_T_8 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.lab_T_8.sizePolicy().hasHeightForWidth()) + self.lab_T_8.setSizePolicy(sizePolicy) + self.lab_T_8.setMinimumSize(QtCore.QSize(40, 20)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.lab_T_8.setPalette(palette) + self.lab_T_8.setAutoFillBackground(True) + self.lab_T_8.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.lab_T_8.setObjectName("lab_T_8") + self.formLayout_3.setWidget(3, QtWidgets.QFormLayout.ItemRole.FieldRole, self.lab_T_8) + self.dSB_T_c = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.dSB_T_c.setSingleStep(0.1) + self.dSB_T_c.setObjectName("dSB_T_c") + self.formLayout_3.setWidget(5, QtWidgets.QFormLayout.ItemRole.SpanningRole, self.dSB_T_c) + spacerItem = QtWidgets.QSpacerItem(0, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding) + self.formLayout_3.setItem(4, QtWidgets.QFormLayout.ItemRole.SpanningRole, spacerItem) + self.gridLayout_12.addLayout(self.formLayout_3, 9, 2, 9, 1) + self.formLayout_2 = QtWidgets.QFormLayout() + self.formLayout_2.setObjectName("formLayout_2") + self.label_88 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_88.sizePolicy().hasHeightForWidth()) + self.label_88.setSizePolicy(sizePolicy) + self.label_88.setObjectName("label_88") + self.formLayout_2.setWidget(0, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_88) + self.lab_T_1 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.lab_T_1.sizePolicy().hasHeightForWidth()) + self.lab_T_1.setSizePolicy(sizePolicy) + self.lab_T_1.setMinimumSize(QtCore.QSize(40, 20)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.lab_T_1.setPalette(palette) + self.lab_T_1.setAutoFillBackground(True) + self.lab_T_1.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.lab_T_1.setObjectName("lab_T_1") + self.formLayout_2.setWidget(0, QtWidgets.QFormLayout.ItemRole.FieldRole, self.lab_T_1) + self.label_89 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_89.sizePolicy().hasHeightForWidth()) + self.label_89.setSizePolicy(sizePolicy) + self.label_89.setObjectName("label_89") + self.formLayout_2.setWidget(1, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_89) + self.lab_T_2 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.lab_T_2.sizePolicy().hasHeightForWidth()) + self.lab_T_2.setSizePolicy(sizePolicy) + self.lab_T_2.setMinimumSize(QtCore.QSize(40, 20)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.lab_T_2.setPalette(palette) + self.lab_T_2.setAutoFillBackground(True) + self.lab_T_2.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.lab_T_2.setObjectName("lab_T_2") + self.formLayout_2.setWidget(1, QtWidgets.QFormLayout.ItemRole.FieldRole, self.lab_T_2) + self.label_90 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_90.sizePolicy().hasHeightForWidth()) + self.label_90.setSizePolicy(sizePolicy) + self.label_90.setObjectName("label_90") + self.formLayout_2.setWidget(2, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_90) + self.lab_T_3 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.lab_T_3.sizePolicy().hasHeightForWidth()) + self.lab_T_3.setSizePolicy(sizePolicy) + self.lab_T_3.setMinimumSize(QtCore.QSize(40, 20)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.lab_T_3.setPalette(palette) + self.lab_T_3.setAutoFillBackground(True) + self.lab_T_3.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.lab_T_3.setObjectName("lab_T_3") + self.formLayout_2.setWidget(2, QtWidgets.QFormLayout.ItemRole.FieldRole, self.lab_T_3) + self.label_91 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_91.sizePolicy().hasHeightForWidth()) + self.label_91.setSizePolicy(sizePolicy) + self.label_91.setObjectName("label_91") + self.formLayout_2.setWidget(3, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_91) + self.lab_T_4 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.lab_T_4.sizePolicy().hasHeightForWidth()) + self.lab_T_4.setSizePolicy(sizePolicy) + self.lab_T_4.setMinimumSize(QtCore.QSize(40, 20)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.lab_T_4.setPalette(palette) + self.lab_T_4.setAutoFillBackground(True) + self.lab_T_4.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.lab_T_4.setObjectName("lab_T_4") + self.formLayout_2.setWidget(3, QtWidgets.QFormLayout.ItemRole.FieldRole, self.lab_T_4) + self.label_100 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_100.sizePolicy().hasHeightForWidth()) + self.label_100.setSizePolicy(sizePolicy) + self.label_100.setObjectName("label_100") + self.formLayout_2.setWidget(5, QtWidgets.QFormLayout.ItemRole.SpanningRole, self.label_100) + spacerItem1 = QtWidgets.QSpacerItem(0, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding) + self.formLayout_2.setItem(4, QtWidgets.QFormLayout.ItemRole.SpanningRole, spacerItem1) + self.gridLayout_12.addLayout(self.formLayout_2, 9, 1, 9, 1) + self.checkBox_sens_ana_2 = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_sens_ana_2.setObjectName("checkBox_sens_ana_2") + self.gridLayout_12.addWidget(self.checkBox_sens_ana_2, 10, 0, 1, 1) + self.checkBox_sens_ana_5 = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_sens_ana_5.setObjectName("checkBox_sens_ana_5") + self.gridLayout_12.addWidget(self.checkBox_sens_ana_5, 13, 0, 1, 1) + self.formLayout_4 = QtWidgets.QFormLayout() + self.formLayout_4.setObjectName("formLayout_4") + self.label_96 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_96.sizePolicy().hasHeightForWidth()) + self.label_96.setSizePolicy(sizePolicy) + self.label_96.setObjectName("label_96") + self.formLayout_4.setWidget(0, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_96) + self.lab_T_9 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.lab_T_9.sizePolicy().hasHeightForWidth()) + self.lab_T_9.setSizePolicy(sizePolicy) + self.lab_T_9.setMinimumSize(QtCore.QSize(40, 20)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.lab_T_9.setPalette(palette) + self.lab_T_9.setAutoFillBackground(True) + self.lab_T_9.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.lab_T_9.setObjectName("lab_T_9") + self.formLayout_4.setWidget(0, QtWidgets.QFormLayout.ItemRole.FieldRole, self.lab_T_9) + self.label_97 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_97.sizePolicy().hasHeightForWidth()) + self.label_97.setSizePolicy(sizePolicy) + self.label_97.setObjectName("label_97") + self.formLayout_4.setWidget(1, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_97) + self.lab_T_10 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.lab_T_10.sizePolicy().hasHeightForWidth()) + self.lab_T_10.setSizePolicy(sizePolicy) + self.lab_T_10.setMinimumSize(QtCore.QSize(40, 20)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.lab_T_10.setPalette(palette) + self.lab_T_10.setAutoFillBackground(True) + self.lab_T_10.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.lab_T_10.setObjectName("lab_T_10") + self.formLayout_4.setWidget(1, QtWidgets.QFormLayout.ItemRole.FieldRole, self.lab_T_10) + self.label_99 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_99.sizePolicy().hasHeightForWidth()) + self.label_99.setSizePolicy(sizePolicy) + self.label_99.setObjectName("label_99") + self.formLayout_4.setWidget(2, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_99) + self.lab_T_11 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.lab_T_11.sizePolicy().hasHeightForWidth()) + self.lab_T_11.setSizePolicy(sizePolicy) + self.lab_T_11.setMinimumSize(QtCore.QSize(40, 20)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.lab_T_11.setPalette(palette) + self.lab_T_11.setAutoFillBackground(True) + self.lab_T_11.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.lab_T_11.setObjectName("lab_T_11") + self.formLayout_4.setWidget(2, QtWidgets.QFormLayout.ItemRole.FieldRole, self.lab_T_11) + self.label_98 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_98.sizePolicy().hasHeightForWidth()) + self.label_98.setSizePolicy(sizePolicy) + self.label_98.setObjectName("label_98") + self.formLayout_4.setWidget(3, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_98) + self.lab_T_12 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.lab_T_12.sizePolicy().hasHeightForWidth()) + self.lab_T_12.setSizePolicy(sizePolicy) + self.lab_T_12.setMinimumSize(QtCore.QSize(40, 20)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.lab_T_12.setPalette(palette) + self.lab_T_12.setAutoFillBackground(True) + self.lab_T_12.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.lab_T_12.setObjectName("lab_T_12") + self.formLayout_4.setWidget(3, QtWidgets.QFormLayout.ItemRole.FieldRole, self.lab_T_12) + self.checkBox_autoscale_T = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_autoscale_T.setChecked(True) + self.checkBox_autoscale_T.setObjectName("checkBox_autoscale_T") + self.formLayout_4.setWidget(5, QtWidgets.QFormLayout.ItemRole.SpanningRole, self.checkBox_autoscale_T) + spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding) + self.formLayout_4.setItem(4, QtWidgets.QFormLayout.ItemRole.SpanningRole, spacerItem2) + self.gridLayout_12.addLayout(self.formLayout_4, 9, 3, 9, 1) + self.checkBox_sens_ana_3 = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_sens_ana_3.setObjectName("checkBox_sens_ana_3") + self.gridLayout_12.addWidget(self.checkBox_sens_ana_3, 11, 0, 1, 1) + self.checkBox_sens_ana_4 = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_sens_ana_4.setObjectName("checkBox_sens_ana_4") + self.gridLayout_12.addWidget(self.checkBox_sens_ana_4, 12, 0, 1, 1) + self.checkBox_sens_ana_6 = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_sens_ana_6.setObjectName("checkBox_sens_ana_6") + self.gridLayout_12.addWidget(self.checkBox_sens_ana_6, 14, 0, 1, 1) + self.checkBox_sens_ana_1 = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_sens_ana_1.setObjectName("checkBox_sens_ana_1") + self.gridLayout_12.addWidget(self.checkBox_sens_ana_1, 9, 0, 1, 1) + self.checkBox_sens_ana_8 = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_sens_ana_8.setObjectName("checkBox_sens_ana_8") + self.gridLayout_12.addWidget(self.checkBox_sens_ana_8, 16, 0, 1, 1) + self.label_39 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_39.sizePolicy().hasHeightForWidth()) + self.label_39.setSizePolicy(sizePolicy) + self.label_39.setObjectName("label_39") + self.gridLayout_12.addWidget(self.label_39, 7, 0, 1, 1) + self.checkBox_sens_ana_7 = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_sens_ana_7.setObjectName("checkBox_sens_ana_7") + self.gridLayout_12.addWidget(self.checkBox_sens_ana_7, 15, 0, 1, 1) + self.lab_ramp_status = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.lab_ramp_status.sizePolicy().hasHeightForWidth()) + self.lab_ramp_status.setSizePolicy(sizePolicy) + self.lab_ramp_status.setMinimumSize(QtCore.QSize(40, 20)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.lab_ramp_status.setPalette(palette) + self.lab_ramp_status.setAutoFillBackground(True) + self.lab_ramp_status.setText("") + self.lab_ramp_status.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.lab_ramp_status.setObjectName("lab_ramp_status") + self.gridLayout_12.addWidget(self.lab_ramp_status, 8, 0, 1, 1) + self.gridLayout.addLayout(self.gridLayout_12, 1, 0, 1, 1) + self.graphWidget_Fluxgate = PlotWidget(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.graphWidget_Fluxgate.sizePolicy().hasHeightForWidth()) + self.graphWidget_Fluxgate.setSizePolicy(sizePolicy) + self.graphWidget_Fluxgate.setMinimumSize(QtCore.QSize(431, 281)) + self.graphWidget_Fluxgate.setObjectName("graphWidget_Fluxgate") + self.gridLayout.addWidget(self.graphWidget_Fluxgate, 2, 2, 1, 1) + self.gridLayout_11 = QtWidgets.QGridLayout() + self.gridLayout_11.setObjectName("gridLayout_11") + self.dSB_timing_monitoring = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.dSB_timing_monitoring.setMinimum(0.1) + self.dSB_timing_monitoring.setProperty("value", 1.0) + self.dSB_timing_monitoring.setObjectName("dSB_timing_monitoring") + self.gridLayout_11.addWidget(self.dSB_timing_monitoring, 2, 1, 1, 1) + self.label_24 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Minimum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_24.sizePolicy().hasHeightForWidth()) + self.label_24.setSizePolicy(sizePolicy) + self.label_24.setObjectName("label_24") + self.gridLayout_11.addWidget(self.label_24, 11, 0, 1, 1) + self.label_26 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Minimum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_26.sizePolicy().hasHeightForWidth()) + self.label_26.setSizePolicy(sizePolicy) + self.label_26.setObjectName("label_26") + self.gridLayout_11.addWidget(self.label_26, 8, 0, 1, 1) + self.SB_Buffer_Size = QtWidgets.QSpinBox(parent=self.scrollAreaWidgetContents) + self.SB_Buffer_Size.setEnabled(True) + self.SB_Buffer_Size.setMinimum(100) + self.SB_Buffer_Size.setMaximum(99999) + self.SB_Buffer_Size.setProperty("value", 36000) + self.SB_Buffer_Size.setObjectName("SB_Buffer_Size") + self.gridLayout_11.addWidget(self.SB_Buffer_Size, 8, 1, 1, 1) + self.checkBox_plots_disable = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_plots_disable.setText("") + self.checkBox_plots_disable.setObjectName("checkBox_plots_disable") + self.gridLayout_11.addWidget(self.checkBox_plots_disable, 7, 1, 1, 2) + self.Button_change_Buffer = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + self.Button_change_Buffer.setObjectName("Button_change_Buffer") + self.gridLayout_11.addWidget(self.Button_change_Buffer, 8, 2, 1, 1) + self.line_Path_Mon = QtWidgets.QLineEdit(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_Path_Mon.sizePolicy().hasHeightForWidth()) + self.line_Path_Mon.setSizePolicy(sizePolicy) + self.line_Path_Mon.setObjectName("line_Path_Mon") + self.gridLayout_11.addWidget(self.line_Path_Mon, 4, 1, 1, 2) + self.line_Path_points = QtWidgets.QLineEdit(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_Path_points.sizePolicy().hasHeightForWidth()) + self.line_Path_points.setSizePolicy(sizePolicy) + self.line_Path_points.setObjectName("line_Path_points") + self.gridLayout_11.addWidget(self.line_Path_points, 3, 1, 1, 2) + self.line_Path_AMR_calib = QtWidgets.QLineEdit(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_Path_AMR_calib.sizePolicy().hasHeightForWidth()) + self.line_Path_AMR_calib.setSizePolicy(sizePolicy) + self.line_Path_AMR_calib.setObjectName("line_Path_AMR_calib") + self.gridLayout_11.addWidget(self.line_Path_AMR_calib, 10, 1, 1, 2) + self.label_49 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Minimum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_49.sizePolicy().hasHeightForWidth()) + self.label_49.setSizePolicy(sizePolicy) + self.label_49.setObjectName("label_49") + self.gridLayout_11.addWidget(self.label_49, 1, 0, 1, 1) + self.dSB_timing_main = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.dSB_timing_main.setMinimum(0.1) + self.dSB_timing_main.setSingleStep(0.1) + self.dSB_timing_main.setProperty("value", 0.1) + self.dSB_timing_main.setObjectName("dSB_timing_main") + self.gridLayout_11.addWidget(self.dSB_timing_main, 1, 1, 1, 1) + self.label_85 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Minimum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_85.sizePolicy().hasHeightForWidth()) + self.label_85.setSizePolicy(sizePolicy) + self.label_85.setObjectName("label_85") + self.gridLayout_11.addWidget(self.label_85, 7, 0, 1, 1) + self.SB_plot_points = QtWidgets.QSpinBox(parent=self.scrollAreaWidgetContents) + self.SB_plot_points.setMaximum(10000) + self.SB_plot_points.setProperty("value", 200) + self.SB_plot_points.setObjectName("SB_plot_points") + self.gridLayout_11.addWidget(self.SB_plot_points, 6, 1, 1, 1) + self.label_84 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Minimum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_84.sizePolicy().hasHeightForWidth()) + self.label_84.setSizePolicy(sizePolicy) + self.label_84.setObjectName("label_84") + self.gridLayout_11.addWidget(self.label_84, 6, 0, 1, 1) + self.label_52 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Minimum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_52.sizePolicy().hasHeightForWidth()) + self.label_52.setSizePolicy(sizePolicy) + self.label_52.setObjectName("label_52") + self.gridLayout_11.addWidget(self.label_52, 4, 0, 1, 1) + self.label_48 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_48.sizePolicy().hasHeightForWidth()) + self.label_48.setSizePolicy(sizePolicy) + font = QtGui.QFont() + font.setPointSize(14) + font.setBold(True) + font.setWeight(75) + self.label_48.setFont(font) + self.label_48.setObjectName("label_48") + self.gridLayout_11.addWidget(self.label_48, 0, 0, 1, 1) + self.label_51 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Minimum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_51.sizePolicy().hasHeightForWidth()) + self.label_51.setSizePolicy(sizePolicy) + self.label_51.setObjectName("label_51") + self.gridLayout_11.addWidget(self.label_51, 3, 0, 1, 1) + spacerItem3 = QtWidgets.QSpacerItem(20, 5, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding) + self.gridLayout_11.addItem(spacerItem3, 9, 1, 1, 1) + spacerItem4 = QtWidgets.QSpacerItem(20, 5, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding) + self.gridLayout_11.addItem(spacerItem4, 5, 1, 1, 1) + spacerItem5 = QtWidgets.QSpacerItem(20, 0, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding) + self.gridLayout_11.addItem(spacerItem5, 12, 1, 1, 1) + self.checkBox_AMR_Calib = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_AMR_Calib.setEnabled(False) + self.checkBox_AMR_Calib.setText("") + self.checkBox_AMR_Calib.setObjectName("checkBox_AMR_Calib") + self.gridLayout_11.addWidget(self.checkBox_AMR_Calib, 11, 1, 1, 1) + self.label_50 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Minimum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_50.sizePolicy().hasHeightForWidth()) + self.label_50.setSizePolicy(sizePolicy) + self.label_50.setObjectName("label_50") + self.gridLayout_11.addWidget(self.label_50, 2, 0, 1, 1) + self.label_23 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Minimum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_23.sizePolicy().hasHeightForWidth()) + self.label_23.setSizePolicy(sizePolicy) + self.label_23.setObjectName("label_23") + self.gridLayout_11.addWidget(self.label_23, 10, 0, 1, 1) + self.checkBox_monitoring = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_monitoring.setObjectName("checkBox_monitoring") + self.gridLayout_11.addWidget(self.checkBox_monitoring, 2, 2, 1, 1) + self.gridLayout.addLayout(self.gridLayout_11, 0, 0, 1, 2) + self.gridLayout_9 = QtWidgets.QGridLayout() + self.gridLayout_9.setObjectName("gridLayout_9") + self.label_35 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_35.sizePolicy().hasHeightForWidth()) + self.label_35.setSizePolicy(sizePolicy) + self.label_35.setObjectName("label_35") + self.gridLayout_9.addWidget(self.label_35, 9, 0, 1, 1) + self.dSB_P_max_bot = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.dSB_P_max_bot.setObjectName("dSB_P_max_bot") + self.gridLayout_9.addWidget(self.dSB_P_max_bot, 9, 2, 1, 1) + spacerItem6 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding) + self.gridLayout_9.addItem(spacerItem6, 12, 2, 1, 1) + self.label_36 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_36.sizePolicy().hasHeightForWidth()) + self.label_36.setSizePolicy(sizePolicy) + self.label_36.setObjectName("label_36") + self.gridLayout_9.addWidget(self.label_36, 11, 0, 1, 1) + self.label_28 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_28.sizePolicy().hasHeightForWidth()) + self.label_28.setSizePolicy(sizePolicy) + self.label_28.setObjectName("label_28") + self.gridLayout_9.addWidget(self.label_28, 1, 2, 1, 1) + self.SB_T_channel_top = QtWidgets.QSpinBox(parent=self.scrollAreaWidgetContents) + self.SB_T_channel_top.setMaximum(7) + self.SB_T_channel_top.setObjectName("SB_T_channel_top") + self.gridLayout_9.addWidget(self.SB_T_channel_top, 2, 1, 1, 1) + self.label_22 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_22.sizePolicy().hasHeightForWidth()) + self.label_22.setSizePolicy(sizePolicy) + self.label_22.setObjectName("label_22") + self.gridLayout_9.addWidget(self.label_22, 1, 1, 1, 1) + self.label_47 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_47.sizePolicy().hasHeightForWidth()) + self.label_47.setSizePolicy(sizePolicy) + font = QtGui.QFont() + font.setPointSize(14) + font.setBold(True) + font.setWeight(75) + self.label_47.setFont(font) + self.label_47.setObjectName("label_47") + self.gridLayout_9.addWidget(self.label_47, 0, 0, 1, 2) + self.SB_T_channel_bot = QtWidgets.QSpinBox(parent=self.scrollAreaWidgetContents) + self.SB_T_channel_bot.setMaximum(7) + self.SB_T_channel_bot.setObjectName("SB_T_channel_bot") + self.gridLayout_9.addWidget(self.SB_T_channel_bot, 2, 2, 1, 1) + self.dSB_PID_I = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.dSB_PID_I.setDecimals(3) + self.dSB_PID_I.setObjectName("dSB_PID_I") + self.gridLayout_9.addWidget(self.dSB_PID_I, 7, 1, 1, 1) + self.label_21 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_21.sizePolicy().hasHeightForWidth()) + self.label_21.setSizePolicy(sizePolicy) + self.label_21.setObjectName("label_21") + self.gridLayout_9.addWidget(self.label_21, 2, 0, 1, 1) + self.dSB_PID_P_2 = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.dSB_PID_P_2.setDecimals(3) + self.dSB_PID_P_2.setObjectName("dSB_PID_P_2") + self.gridLayout_9.addWidget(self.dSB_PID_P_2, 6, 2, 1, 1) + self.checkBox_autoscale_FG = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_autoscale_FG.setChecked(True) + self.checkBox_autoscale_FG.setObjectName("checkBox_autoscale_FG") + self.gridLayout_9.addWidget(self.checkBox_autoscale_FG, 13, 2, 1, 1) + self.dSB_PID_D = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.dSB_PID_D.setDecimals(3) + self.dSB_PID_D.setObjectName("dSB_PID_D") + self.gridLayout_9.addWidget(self.dSB_PID_D, 8, 1, 1, 1) + self.label_18 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_18.sizePolicy().hasHeightForWidth()) + self.label_18.setSizePolicy(sizePolicy) + self.label_18.setObjectName("label_18") + self.gridLayout_9.addWidget(self.label_18, 5, 2, 1, 1) + self.dSB_PID_D_2 = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.dSB_PID_D_2.setDecimals(3) + self.dSB_PID_D_2.setObjectName("dSB_PID_D_2") + self.gridLayout_9.addWidget(self.dSB_PID_D_2, 8, 2, 1, 1) + self.label_15 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_15.sizePolicy().hasHeightForWidth()) + self.label_15.setSizePolicy(sizePolicy) + self.label_15.setObjectName("label_15") + self.gridLayout_9.addWidget(self.label_15, 5, 1, 1, 1) + self.dSB_PID_P = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.dSB_PID_P.setDecimals(3) + self.dSB_PID_P.setObjectName("dSB_PID_P") + self.gridLayout_9.addWidget(self.dSB_PID_P, 6, 1, 1, 1) + self.dSB_P_max_top = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.dSB_P_max_top.setObjectName("dSB_P_max_top") + self.gridLayout_9.addWidget(self.dSB_P_max_top, 9, 1, 1, 1) + self.label_25 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_25.sizePolicy().hasHeightForWidth()) + self.label_25.setSizePolicy(sizePolicy) + self.label_25.setObjectName("label_25") + self.gridLayout_9.addWidget(self.label_25, 6, 0, 1, 1) + self.label_29 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_29.sizePolicy().hasHeightForWidth()) + self.label_29.setSizePolicy(sizePolicy) + self.label_29.setObjectName("label_29") + self.gridLayout_9.addWidget(self.label_29, 8, 0, 1, 1) + self.label_27 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_27.sizePolicy().hasHeightForWidth()) + self.label_27.setSizePolicy(sizePolicy) + self.label_27.setObjectName("label_27") + self.gridLayout_9.addWidget(self.label_27, 7, 0, 1, 1) + self.dSB_PID_I_2 = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.dSB_PID_I_2.setDecimals(3) + self.dSB_PID_I_2.setObjectName("dSB_PID_I_2") + self.gridLayout_9.addWidget(self.dSB_PID_I_2, 7, 2, 1, 1) + self.dSB_R_bot = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.dSB_R_bot.setProperty("value", 15.0) + self.dSB_R_bot.setObjectName("dSB_R_bot") + self.gridLayout_9.addWidget(self.dSB_R_bot, 11, 2, 1, 1) + self.dSB_R_top = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.dSB_R_top.setProperty("value", 15.0) + self.dSB_R_top.setObjectName("dSB_R_top") + self.gridLayout_9.addWidget(self.dSB_R_top, 11, 1, 1, 1) + self.label_37 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_37.sizePolicy().hasHeightForWidth()) + self.label_37.setSizePolicy(sizePolicy) + self.label_37.setObjectName("label_37") + self.gridLayout_9.addWidget(self.label_37, 10, 0, 1, 1) + self.lab_P_top = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.lab_P_top.sizePolicy().hasHeightForWidth()) + self.lab_P_top.setSizePolicy(sizePolicy) + self.lab_P_top.setMinimumSize(QtCore.QSize(40, 20)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.lab_P_top.setPalette(palette) + self.lab_P_top.setAutoFillBackground(True) + self.lab_P_top.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.lab_P_top.setObjectName("lab_P_top") + self.gridLayout_9.addWidget(self.lab_P_top, 10, 1, 1, 1) + self.lab_P_bot = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.lab_P_bot.sizePolicy().hasHeightForWidth()) + self.lab_P_bot.setSizePolicy(sizePolicy) + self.lab_P_bot.setMinimumSize(QtCore.QSize(40, 20)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.lab_P_bot.setPalette(palette) + self.lab_P_bot.setAutoFillBackground(True) + self.lab_P_bot.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.lab_P_bot.setObjectName("lab_P_bot") + self.gridLayout_9.addWidget(self.lab_P_bot, 10, 2, 1, 1) + self.gridLayout.addLayout(self.gridLayout_9, 2, 0, 1, 1) + self.gridLayout_17 = QtWidgets.QGridLayout() + self.gridLayout_17.setVerticalSpacing(2) + self.gridLayout_17.setObjectName("gridLayout_17") + self.label_87 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Minimum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_87.sizePolicy().hasHeightForWidth()) + self.label_87.setSizePolicy(sizePolicy) + self.label_87.setMinimumSize(QtCore.QSize(0, 2)) + self.label_87.setObjectName("label_87") + self.gridLayout_17.addWidget(self.label_87, 3, 0, 1, 1) + self.label_46 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Minimum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_46.sizePolicy().hasHeightForWidth()) + self.label_46.setSizePolicy(sizePolicy) + self.label_46.setObjectName("label_46") + self.gridLayout_17.addWidget(self.label_46, 1, 0, 1, 1) + self.label_38 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Minimum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_38.sizePolicy().hasHeightForWidth()) + self.label_38.setSizePolicy(sizePolicy) + self.label_38.setObjectName("label_38") + self.gridLayout_17.addWidget(self.label_38, 0, 0, 1, 1) + self.label_67 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Ignored) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_67.sizePolicy().hasHeightForWidth()) + self.label_67.setSizePolicy(sizePolicy) + self.label_67.setMinimumSize(QtCore.QSize(13, 8)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(51, 160, 44)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(76, 240, 66)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(63, 200, 55)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(25, 80, 22)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(34, 107, 29)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(51, 160, 44)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(153, 207, 149)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(51, 160, 44)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(76, 240, 66)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(63, 200, 55)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(25, 80, 22)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(34, 107, 29)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(51, 160, 44)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(153, 207, 149)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(25, 80, 22)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(51, 160, 44)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(76, 240, 66)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(63, 200, 55)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(25, 80, 22)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(34, 107, 29)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(25, 80, 22)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(25, 80, 22)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(51, 160, 44)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(51, 160, 44)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(51, 160, 44)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.label_67.setPalette(palette) + self.label_67.setAutoFillBackground(True) + self.label_67.setText("") + self.label_67.setObjectName("label_67") + self.gridLayout_17.addWidget(self.label_67, 3, 5, 1, 1) + self.label_73 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_73.sizePolicy().hasHeightForWidth()) + self.label_73.setSizePolicy(sizePolicy) + self.label_73.setMinimumSize(QtCore.QSize(0, 2)) + font = QtGui.QFont() + font.setPointSize(8) + self.label_73.setFont(font) + self.label_73.setObjectName("label_73") + self.gridLayout_17.addWidget(self.label_73, 4, 4, 1, 1) + self.label_70 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Ignored) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_70.sizePolicy().hasHeightForWidth()) + self.label_70.setSizePolicy(sizePolicy) + self.label_70.setMinimumSize(QtCore.QSize(13, 8)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(251, 154, 153)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(253, 204, 204)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(125, 77, 76)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(167, 103, 102)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(251, 154, 153)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(253, 204, 204)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(251, 154, 153)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(253, 204, 204)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(125, 77, 76)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(167, 103, 102)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(251, 154, 153)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(253, 204, 204)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(125, 77, 76)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(251, 154, 153)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(253, 204, 204)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(125, 77, 76)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(167, 103, 102)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(125, 77, 76)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(125, 77, 76)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(251, 154, 153)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(251, 154, 153)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(251, 154, 153)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.label_70.setPalette(palette) + self.label_70.setAutoFillBackground(True) + self.label_70.setText("") + self.label_70.setObjectName("label_70") + self.gridLayout_17.addWidget(self.label_70, 4, 5, 1, 1) + self.label_61 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Ignored) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_61.sizePolicy().hasHeightForWidth()) + self.label_61.setSizePolicy(sizePolicy) + self.label_61.setMinimumSize(QtCore.QSize(13, 8)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(202, 178, 214)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(228, 216, 234)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(101, 89, 107)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(135, 119, 143)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(202, 178, 214)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(228, 216, 234)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(202, 178, 214)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(228, 216, 234)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(101, 89, 107)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(135, 119, 143)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(202, 178, 214)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(228, 216, 234)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(101, 89, 107)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(202, 178, 214)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(228, 216, 234)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(101, 89, 107)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(135, 119, 143)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(101, 89, 107)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(101, 89, 107)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(202, 178, 214)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(202, 178, 214)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(202, 178, 214)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.label_61.setPalette(palette) + self.label_61.setAutoFillBackground(True) + self.label_61.setText("") + self.label_61.setObjectName("label_61") + self.gridLayout_17.addWidget(self.label_61, 8, 5, 1, 1) + self.label_78 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_78.sizePolicy().hasHeightForWidth()) + self.label_78.setSizePolicy(sizePolicy) + self.label_78.setMinimumSize(QtCore.QSize(0, 2)) + font = QtGui.QFont() + font.setPointSize(8) + self.label_78.setFont(font) + self.label_78.setObjectName("label_78") + self.gridLayout_17.addWidget(self.label_78, 9, 4, 1, 1) + self.label_60 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Ignored) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_60.sizePolicy().hasHeightForWidth()) + self.label_60.setSizePolicy(sizePolicy) + self.label_60.setMinimumSize(QtCore.QSize(13, 8)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(106, 61, 154)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(159, 91, 231)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(132, 76, 192)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(53, 30, 77)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(70, 40, 103)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(106, 61, 154)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(180, 158, 204)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(106, 61, 154)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(159, 91, 231)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(132, 76, 192)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(53, 30, 77)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(70, 40, 103)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(106, 61, 154)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(180, 158, 204)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(53, 30, 77)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(106, 61, 154)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(159, 91, 231)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(132, 76, 192)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(53, 30, 77)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(70, 40, 103)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(53, 30, 77)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(53, 30, 77)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(106, 61, 154)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(106, 61, 154)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(106, 61, 154)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.label_60.setPalette(palette) + self.label_60.setAutoFillBackground(True) + self.label_60.setText("") + self.label_60.setObjectName("label_60") + self.gridLayout_17.addWidget(self.label_60, 9, 5, 1, 1) + self.checkBox_LED = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_LED.setEnabled(True) + self.checkBox_LED.setText("") + self.checkBox_LED.setObjectName("checkBox_LED") + self.gridLayout_17.addWidget(self.checkBox_LED, 0, 1, 1, 1) + self.label_54 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_54.sizePolicy().hasHeightForWidth()) + self.label_54.setSizePolicy(sizePolicy) + self.label_54.setMinimumSize(QtCore.QSize(0, 2)) + font = QtGui.QFont() + font.setPointSize(8) + self.label_54.setFont(font) + self.label_54.setObjectName("label_54") + self.gridLayout_17.addWidget(self.label_54, 0, 4, 1, 1) + self.label_74 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_74.sizePolicy().hasHeightForWidth()) + self.label_74.setSizePolicy(sizePolicy) + self.label_74.setMinimumSize(QtCore.QSize(0, 2)) + font = QtGui.QFont() + font.setPointSize(8) + self.label_74.setFont(font) + self.label_74.setObjectName("label_74") + self.gridLayout_17.addWidget(self.label_74, 5, 4, 1, 1) + self.label_69 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Ignored) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_69.sizePolicy().hasHeightForWidth()) + self.label_69.setSizePolicy(sizePolicy) + self.label_69.setMinimumSize(QtCore.QSize(13, 8)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(166, 206, 227)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(210, 230, 241)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(83, 103, 113)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(111, 137, 151)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(166, 206, 227)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(210, 230, 241)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(166, 206, 227)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(210, 230, 241)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(83, 103, 113)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(111, 137, 151)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(166, 206, 227)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(210, 230, 241)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(83, 103, 113)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(166, 206, 227)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(210, 230, 241)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(83, 103, 113)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(111, 137, 151)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(83, 103, 113)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(83, 103, 113)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(166, 206, 227)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(166, 206, 227)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(166, 206, 227)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.label_69.setPalette(palette) + self.label_69.setAutoFillBackground(True) + self.label_69.setText("") + self.label_69.setObjectName("label_69") + self.gridLayout_17.addWidget(self.label_69, 0, 5, 1, 1) + self.label_79 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_79.sizePolicy().hasHeightForWidth()) + self.label_79.setSizePolicy(sizePolicy) + self.label_79.setMinimumSize(QtCore.QSize(0, 2)) + font = QtGui.QFont() + font.setPointSize(8) + self.label_79.setFont(font) + self.label_79.setObjectName("label_79") + self.gridLayout_17.addWidget(self.label_79, 10, 4, 1, 1) + self.label_59 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Ignored) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_59.sizePolicy().hasHeightForWidth()) + self.label_59.setSizePolicy(sizePolicy) + self.label_59.setMinimumSize(QtCore.QSize(13, 8)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(231, 41, 138)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 137, 197)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(243, 89, 167)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(115, 20, 69)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(154, 27, 92)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(231, 41, 138)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(243, 148, 196)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(231, 41, 138)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 137, 197)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(243, 89, 167)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(115, 20, 69)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(154, 27, 92)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(231, 41, 138)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(243, 148, 196)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(115, 20, 69)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(231, 41, 138)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 137, 197)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(243, 89, 167)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(115, 20, 69)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(154, 27, 92)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(115, 20, 69)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(115, 20, 69)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(231, 41, 138)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(231, 41, 138)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(231, 41, 138)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.label_59.setPalette(palette) + self.label_59.setAutoFillBackground(True) + self.label_59.setText("") + self.label_59.setObjectName("label_59") + self.gridLayout_17.addWidget(self.label_59, 10, 5, 1, 1) + self.label_64 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Ignored) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_64.sizePolicy().hasHeightForWidth()) + self.label_64.setSizePolicy(sizePolicy) + self.label_64.setMinimumSize(QtCore.QSize(13, 8)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(227, 26, 28)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 115, 116)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(241, 70, 72)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(113, 13, 14)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(151, 17, 18)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(227, 26, 28)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(241, 140, 141)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(227, 26, 28)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 115, 116)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(241, 70, 72)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(113, 13, 14)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(151, 17, 18)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(227, 26, 28)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(241, 140, 141)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(113, 13, 14)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(227, 26, 28)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 115, 116)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(241, 70, 72)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(113, 13, 14)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(151, 17, 18)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(113, 13, 14)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(113, 13, 14)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(227, 26, 28)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(227, 26, 28)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(227, 26, 28)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.label_64.setPalette(palette) + self.label_64.setAutoFillBackground(True) + self.label_64.setText("") + self.label_64.setObjectName("label_64") + self.gridLayout_17.addWidget(self.label_64, 5, 5, 1, 1) + self.label_58 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Ignored) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_58.sizePolicy().hasHeightForWidth()) + self.label_58.setSizePolicy(sizePolicy) + self.label_58.setMinimumSize(QtCore.QSize(13, 8)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(177, 89, 40)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 135, 68)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(216, 112, 54)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(88, 44, 20)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(118, 59, 26)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(177, 89, 40)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(216, 172, 147)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(177, 89, 40)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 135, 68)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(216, 112, 54)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(88, 44, 20)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(118, 59, 26)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(177, 89, 40)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(216, 172, 147)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(88, 44, 20)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(177, 89, 40)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 135, 68)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(216, 112, 54)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(88, 44, 20)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(118, 59, 26)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(88, 44, 20)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(88, 44, 20)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(177, 89, 40)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(177, 89, 40)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(177, 89, 40)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.label_58.setPalette(palette) + self.label_58.setAutoFillBackground(True) + self.label_58.setText("") + self.label_58.setObjectName("label_58") + self.gridLayout_17.addWidget(self.label_58, 11, 5, 1, 1) + self.label_81 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_81.sizePolicy().hasHeightForWidth()) + self.label_81.setSizePolicy(sizePolicy) + self.label_81.setMinimumSize(QtCore.QSize(0, 2)) + font = QtGui.QFont() + font.setPointSize(8) + self.label_81.setFont(font) + self.label_81.setObjectName("label_81") + self.gridLayout_17.addWidget(self.label_81, 12, 4, 1, 1) + self.label_63 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Ignored) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_63.sizePolicy().hasHeightForWidth()) + self.label_63.setSizePolicy(sizePolicy) + self.label_63.setMinimumSize(QtCore.QSize(13, 8)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(253, 191, 111)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 247, 237)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(254, 219, 174)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(126, 95, 55)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(169, 127, 74)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(253, 191, 111)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(254, 223, 183)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(253, 191, 111)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 247, 237)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(254, 219, 174)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(126, 95, 55)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(169, 127, 74)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(253, 191, 111)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(254, 223, 183)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(126, 95, 55)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(253, 191, 111)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 247, 237)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(254, 219, 174)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(126, 95, 55)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(169, 127, 74)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(126, 95, 55)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(126, 95, 55)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(253, 191, 111)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(253, 191, 111)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(253, 191, 111)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.label_63.setPalette(palette) + self.label_63.setAutoFillBackground(True) + self.label_63.setText("") + self.label_63.setObjectName("label_63") + self.gridLayout_17.addWidget(self.label_63, 6, 5, 1, 1) + self.label_77 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_77.sizePolicy().hasHeightForWidth()) + self.label_77.setSizePolicy(sizePolicy) + self.label_77.setMinimumSize(QtCore.QSize(0, 2)) + font = QtGui.QFont() + font.setPointSize(8) + self.label_77.setFont(font) + self.label_77.setObjectName("label_77") + self.gridLayout_17.addWidget(self.label_77, 8, 4, 1, 1) + self.label_62 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Ignored) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_62.sizePolicy().hasHeightForWidth()) + self.label_62.setSizePolicy(sizePolicy) + self.label_62.setMinimumSize(QtCore.QSize(13, 8)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 127, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 191, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 159, 63)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 63, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 84, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 127, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 191, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 127, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 191, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 159, 63)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 63, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 84, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 127, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 191, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 63, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 127, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 191, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 159, 63)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 63, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 84, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 63, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 63, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 127, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 127, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 127, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.label_62.setPalette(palette) + self.label_62.setAutoFillBackground(True) + self.label_62.setText("") + self.label_62.setObjectName("label_62") + self.gridLayout_17.addWidget(self.label_62, 7, 5, 1, 1) + self.label_80 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_80.sizePolicy().hasHeightForWidth()) + self.label_80.setSizePolicy(sizePolicy) + self.label_80.setMinimumSize(QtCore.QSize(0, 2)) + font = QtGui.QFont() + font.setPointSize(8) + self.label_80.setFont(font) + self.label_80.setObjectName("label_80") + self.gridLayout_17.addWidget(self.label_80, 11, 4, 1, 1) + self.label_71 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_71.sizePolicy().hasHeightForWidth()) + self.label_71.setSizePolicy(sizePolicy) + self.label_71.setMinimumSize(QtCore.QSize(0, 2)) + font = QtGui.QFont() + font.setPointSize(8) + self.label_71.setFont(font) + self.label_71.setObjectName("label_71") + self.gridLayout_17.addWidget(self.label_71, 2, 4, 1, 1) + self.label_72 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_72.sizePolicy().hasHeightForWidth()) + self.label_72.setSizePolicy(sizePolicy) + self.label_72.setMinimumSize(QtCore.QSize(0, 2)) + font = QtGui.QFont() + font.setPointSize(8) + self.label_72.setFont(font) + self.label_72.setObjectName("label_72") + self.gridLayout_17.addWidget(self.label_72, 3, 4, 1, 1) + self.label_66 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Ignored) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_66.sizePolicy().hasHeightForWidth()) + self.label_66.setSizePolicy(sizePolicy) + self.label_66.setMinimumSize(QtCore.QSize(13, 8)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(178, 223, 138)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(246, 255, 238)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(212, 239, 188)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(89, 111, 69)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(119, 149, 92)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(178, 223, 138)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(216, 239, 196)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(178, 223, 138)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(246, 255, 238)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(212, 239, 188)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(89, 111, 69)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(119, 149, 92)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(178, 223, 138)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(216, 239, 196)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(89, 111, 69)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(178, 223, 138)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(246, 255, 238)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(212, 239, 188)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(89, 111, 69)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(119, 149, 92)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(89, 111, 69)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(89, 111, 69)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(178, 223, 138)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(178, 223, 138)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(178, 223, 138)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.label_66.setPalette(palette) + self.label_66.setAutoFillBackground(True) + self.label_66.setText("") + self.label_66.setObjectName("label_66") + self.gridLayout_17.addWidget(self.label_66, 2, 5, 1, 1) + self.label_65 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_65.sizePolicy().hasHeightForWidth()) + self.label_65.setSizePolicy(sizePolicy) + self.label_65.setMinimumSize(QtCore.QSize(0, 2)) + font = QtGui.QFont() + font.setPointSize(8) + self.label_65.setFont(font) + self.label_65.setObjectName("label_65") + self.gridLayout_17.addWidget(self.label_65, 1, 4, 1, 1) + self.label_75 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_75.sizePolicy().hasHeightForWidth()) + self.label_75.setSizePolicy(sizePolicy) + self.label_75.setMinimumSize(QtCore.QSize(0, 2)) + font = QtGui.QFont() + font.setPointSize(8) + self.label_75.setFont(font) + self.label_75.setObjectName("label_75") + self.gridLayout_17.addWidget(self.label_75, 6, 4, 1, 1) + self.label_68 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Ignored) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_68.sizePolicy().hasHeightForWidth()) + self.label_68.setSizePolicy(sizePolicy) + self.label_68.setMinimumSize(QtCore.QSize(13, 8)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(31, 120, 180)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(59, 176, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(45, 148, 217)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(15, 60, 90)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(20, 80, 120)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(31, 120, 180)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(143, 187, 217)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(31, 120, 180)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(59, 176, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(45, 148, 217)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(15, 60, 90)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(20, 80, 120)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(31, 120, 180)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(143, 187, 217)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(15, 60, 90)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(31, 120, 180)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(59, 176, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(45, 148, 217)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(15, 60, 90)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(20, 80, 120)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(15, 60, 90)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(15, 60, 90)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(31, 120, 180)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(31, 120, 180)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(31, 120, 180)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.label_68.setPalette(palette) + self.label_68.setAutoFillBackground(True) + self.label_68.setText("") + self.label_68.setObjectName("label_68") + self.gridLayout_17.addWidget(self.label_68, 1, 5, 1, 1) + self.label_76 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_76.sizePolicy().hasHeightForWidth()) + self.label_76.setSizePolicy(sizePolicy) + self.label_76.setMinimumSize(QtCore.QSize(0, 2)) + font = QtGui.QFont() + font.setPointSize(8) + self.label_76.setFont(font) + self.label_76.setObjectName("label_76") + self.gridLayout_17.addWidget(self.label_76, 7, 4, 1, 1) + self.checkBox_Relais_Fan = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_Relais_Fan.setText("") + self.checkBox_Relais_Fan.setObjectName("checkBox_Relais_Fan") + self.gridLayout_17.addWidget(self.checkBox_Relais_Fan, 1, 1, 1, 1) + self.label_82 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_82.sizePolicy().hasHeightForWidth()) + self.label_82.setSizePolicy(sizePolicy) + self.label_82.setMinimumSize(QtCore.QSize(0, 2)) + font = QtGui.QFont() + font.setPointSize(8) + self.label_82.setFont(font) + self.label_82.setObjectName("label_82") + self.gridLayout_17.addWidget(self.label_82, 13, 4, 1, 1) + self.label_55 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Ignored) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_55.sizePolicy().hasHeightForWidth()) + self.label_55.setSizePolicy(sizePolicy) + self.label_55.setMinimumSize(QtCore.QSize(13, 8)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.label_55.setPalette(palette) + self.label_55.setAutoFillBackground(True) + self.label_55.setText("") + self.label_55.setObjectName("label_55") + self.gridLayout_17.addWidget(self.label_55, 14, 5, 1, 1) + self.label_56 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Ignored) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_56.sizePolicy().hasHeightForWidth()) + self.label_56.setSizePolicy(sizePolicy) + self.label_56.setMinimumSize(QtCore.QSize(13, 8)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(217, 217, 217)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(236, 236, 236)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(108, 108, 108)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(145, 145, 145)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(217, 217, 217)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(236, 236, 236)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(217, 217, 217)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(236, 236, 236)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(108, 108, 108)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(145, 145, 145)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(217, 217, 217)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(236, 236, 236)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(108, 108, 108)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(217, 217, 217)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(236, 236, 236)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(108, 108, 108)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(145, 145, 145)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(108, 108, 108)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(108, 108, 108)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(217, 217, 217)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(217, 217, 217)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(217, 217, 217)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.label_56.setPalette(palette) + self.label_56.setAutoFillBackground(True) + self.label_56.setText("") + self.label_56.setObjectName("label_56") + self.gridLayout_17.addWidget(self.label_56, 13, 5, 1, 1) + self.label_57 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Ignored) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_57.sizePolicy().hasHeightForWidth()) + self.label_57.setSizePolicy(sizePolicy) + self.label_57.setMinimumSize(QtCore.QSize(13, 8)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(1, 108, 89)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(1, 162, 134)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(1, 135, 111)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 54, 44)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 72, 59)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(1, 108, 89)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 54, 44)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(1, 108, 89)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(1, 162, 134)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(1, 135, 111)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 54, 44)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 72, 59)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(1, 108, 89)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 54, 44)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 54, 44)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(1, 108, 89)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(1, 162, 134)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(1, 135, 111)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 54, 44)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 72, 59)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 54, 44)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 54, 44)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(1, 108, 89)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(1, 108, 89)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(1, 108, 89)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.label_57.setPalette(palette) + self.label_57.setAutoFillBackground(True) + self.label_57.setText("") + self.label_57.setObjectName("label_57") + self.gridLayout_17.addWidget(self.label_57, 12, 5, 1, 1) + self.label_83 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_83.sizePolicy().hasHeightForWidth()) + self.label_83.setSizePolicy(sizePolicy) + self.label_83.setMinimumSize(QtCore.QSize(0, 2)) + font = QtGui.QFont() + font.setPointSize(8) + self.label_83.setFont(font) + self.label_83.setObjectName("label_83") + self.gridLayout_17.addWidget(self.label_83, 14, 4, 1, 1) + self.label_86 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Minimum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_86.sizePolicy().hasHeightForWidth()) + self.label_86.setSizePolicy(sizePolicy) + self.label_86.setObjectName("label_86") + self.gridLayout_17.addWidget(self.label_86, 2, 0, 1, 1) + spacerItem7 = QtWidgets.QSpacerItem(40, 0, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum) + self.gridLayout_17.addItem(spacerItem7, 6, 1, 1, 1) + self.checkBox_AMR_supply = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_AMR_supply.setText("") + self.checkBox_AMR_supply.setObjectName("checkBox_AMR_supply") + self.gridLayout_17.addWidget(self.checkBox_AMR_supply, 2, 1, 1, 1) + self.checkBox_AMR_flip = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_AMR_flip.setMinimumSize(QtCore.QSize(0, 2)) + self.checkBox_AMR_flip.setText("") + self.checkBox_AMR_flip.setObjectName("checkBox_AMR_flip") + self.gridLayout_17.addWidget(self.checkBox_AMR_flip, 3, 1, 1, 1) + self.horizontalLayout = QtWidgets.QHBoxLayout() + self.horizontalLayout.setObjectName("horizontalLayout") + self.label_41 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Minimum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_41.sizePolicy().hasHeightForWidth()) + self.label_41.setSizePolicy(sizePolicy) + self.label_41.setObjectName("label_41") + self.horizontalLayout.addWidget(self.label_41) + self.dSB_He_heater_R = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.dSB_He_heater_R.setMinimum(0.1) + self.dSB_He_heater_R.setProperty("value", 1.0) + self.dSB_He_heater_R.setObjectName("dSB_He_heater_R") + self.horizontalLayout.addWidget(self.dSB_He_heater_R) + self.label_43 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Minimum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_43.sizePolicy().hasHeightForWidth()) + self.label_43.setSizePolicy(sizePolicy) + self.label_43.setObjectName("label_43") + self.horizontalLayout.addWidget(self.label_43) + self.dSB_He_heater_P_set = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.dSB_He_heater_P_set.setMinimum(0.0) + self.dSB_He_heater_P_set.setProperty("value", 1.0) + self.dSB_He_heater_P_set.setObjectName("dSB_He_heater_P_set") + self.horizontalLayout.addWidget(self.dSB_He_heater_P_set) + self.label_44 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Minimum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_44.sizePolicy().hasHeightForWidth()) + self.label_44.setSizePolicy(sizePolicy) + self.label_44.setObjectName("label_44") + self.horizontalLayout.addWidget(self.label_44) + self.lab_He_heater_P_is = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.lab_He_heater_P_is.sizePolicy().hasHeightForWidth()) + self.lab_He_heater_P_is.setSizePolicy(sizePolicy) + self.lab_He_heater_P_is.setMinimumSize(QtCore.QSize(30, 0)) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.lab_He_heater_P_is.setPalette(palette) + self.lab_He_heater_P_is.setAutoFillBackground(True) + self.lab_He_heater_P_is.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.lab_He_heater_P_is.setObjectName("lab_He_heater_P_is") + self.horizontalLayout.addWidget(self.lab_He_heater_P_is) + self.label_45 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Minimum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_45.sizePolicy().hasHeightForWidth()) + self.label_45.setSizePolicy(sizePolicy) + self.label_45.setObjectName("label_45") + self.horizontalLayout.addWidget(self.label_45) + self.checkBox_He_heater = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_He_heater.setText("") + self.checkBox_He_heater.setObjectName("checkBox_He_heater") + self.horizontalLayout.addWidget(self.checkBox_He_heater) + self.Button_he_heater_measure_R = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + self.Button_he_heater_measure_R.setObjectName("Button_he_heater_measure_R") + self.horizontalLayout.addWidget(self.Button_he_heater_measure_R) + spacerItem8 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum) + self.horizontalLayout.addItem(spacerItem8) + self.gridLayout_17.addLayout(self.horizontalLayout, 4, 1, 2, 1) + self.label_40 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Minimum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_40.sizePolicy().hasHeightForWidth()) + self.label_40.setSizePolicy(sizePolicy) + self.label_40.setObjectName("label_40") + self.gridLayout_17.addWidget(self.label_40, 4, 0, 2, 1) + self.gridLayout.addLayout(self.gridLayout_17, 0, 2, 1, 1) + self.horizontalLayout_3.addLayout(self.gridLayout) + self.line = QtWidgets.QFrame(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Minimum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line.sizePolicy().hasHeightForWidth()) + self.line.setSizePolicy(sizePolicy) + self.line.setMinimumSize(QtCore.QSize(0, 0)) + font = QtGui.QFont() + font.setPointSize(20) + self.line.setFont(font) + self.line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken) + self.line.setMidLineWidth(10) + self.line.setFrameShape(QtWidgets.QFrame.Shape.VLine) + self.line.setObjectName("line") + self.horizontalLayout_3.addWidget(self.line) + self.gridLayout_2 = QtWidgets.QGridLayout() + self.gridLayout_2.setObjectName("gridLayout_2") + self.graphWidget_AMR_x = PlotWidget(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.graphWidget_AMR_x.sizePolicy().hasHeightForWidth()) + self.graphWidget_AMR_x.setSizePolicy(sizePolicy) + self.graphWidget_AMR_x.setMinimumSize(QtCore.QSize(431, 281)) + self.graphWidget_AMR_x.setObjectName("graphWidget_AMR_x") + self.gridLayout_2.addWidget(self.graphWidget_AMR_x, 0, 2, 1, 1) + self.gridLayout_3 = QtWidgets.QGridLayout() + self.gridLayout_3.setObjectName("gridLayout_3") + self.label = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth()) + self.label.setSizePolicy(sizePolicy) + font = QtGui.QFont() + font.setPointSize(14) + font.setBold(True) + font.setWeight(75) + self.label.setFont(font) + self.label.setObjectName("label") + self.gridLayout_3.addWidget(self.label, 0, 0, 1, 1) + self.gridLayout_4 = QtWidgets.QGridLayout() + self.gridLayout_4.setObjectName("gridLayout_4") + self.Button_set_B = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + self.Button_set_B.setObjectName("Button_set_B") + self.gridLayout_4.addWidget(self.Button_set_B, 4, 2, 1, 1) + self.lab_Bz_is = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.lab_Bz_is.setPalette(palette) + self.lab_Bz_is.setAutoFillBackground(True) + self.lab_Bz_is.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.lab_Bz_is.setObjectName("lab_Bz_is") + self.gridLayout_4.addWidget(self.lab_Bz_is, 3, 1, 1, 1) + self.label_5 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_5.setObjectName("label_5") + self.gridLayout_4.addWidget(self.label_5, 2, 0, 1, 1) + self.dSB_Bz_set = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.dSB_Bz_set.setMinimum(-250.0) + self.dSB_Bz_set.setMaximum(250.0) + self.dSB_Bz_set.setObjectName("dSB_Bz_set") + self.gridLayout_4.addWidget(self.dSB_Bz_set, 3, 2, 1, 1) + self.dSB_By_set = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.dSB_By_set.setMinimum(-250.0) + self.dSB_By_set.setMaximum(250.0) + self.dSB_By_set.setObjectName("dSB_By_set") + self.gridLayout_4.addWidget(self.dSB_By_set, 2, 2, 1, 1) + self.label_6 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_6.setObjectName("label_6") + self.gridLayout_4.addWidget(self.label_6, 1, 0, 1, 1) + self.lab_By_is = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.lab_By_is.setPalette(palette) + self.lab_By_is.setAutoFillBackground(True) + self.lab_By_is.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.lab_By_is.setObjectName("lab_By_is") + self.gridLayout_4.addWidget(self.lab_By_is, 2, 1, 1, 1) + self.lab_Bx_is = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.lab_Bx_is.setPalette(palette) + self.lab_Bx_is.setAutoFillBackground(True) + self.lab_Bx_is.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.lab_Bx_is.setObjectName("lab_Bx_is") + self.gridLayout_4.addWidget(self.lab_Bx_is, 1, 1, 1, 1) + self.label_3 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_3.setObjectName("label_3") + self.gridLayout_4.addWidget(self.label_3, 0, 0, 1, 1) + self.label_7 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_7.setObjectName("label_7") + self.gridLayout_4.addWidget(self.label_7, 3, 0, 1, 1) + self.dSB_Bx_set = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.dSB_Bx_set.setMinimum(-250.0) + self.dSB_Bx_set.setMaximum(250.0) + self.dSB_Bx_set.setObjectName("dSB_Bx_set") + self.gridLayout_4.addWidget(self.dSB_Bx_set, 1, 2, 1, 1) + self.label_4 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_4.setObjectName("label_4") + self.gridLayout_4.addWidget(self.label_4, 0, 1, 1, 1) + self.checkBox_autoscale_AMR_x = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_autoscale_AMR_x.setChecked(True) + self.checkBox_autoscale_AMR_x.setObjectName("checkBox_autoscale_AMR_x") + self.gridLayout_4.addWidget(self.checkBox_autoscale_AMR_x, 6, 2, 1, 1) + self.label_2 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_2.setObjectName("label_2") + self.gridLayout_4.addWidget(self.label_2, 0, 2, 1, 1) + spacerItem9 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding) + self.gridLayout_4.addItem(spacerItem9, 5, 2, 1, 1) + self.gridLayout_3.addLayout(self.gridLayout_4, 1, 0, 1, 1) + self.gridLayout_2.addLayout(self.gridLayout_3, 0, 0, 1, 1) + self.gridLayout_5 = QtWidgets.QGridLayout() + self.gridLayout_5.setObjectName("gridLayout_5") + self.label_8 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_8.sizePolicy().hasHeightForWidth()) + self.label_8.setSizePolicy(sizePolicy) + font = QtGui.QFont() + font.setPointSize(14) + font.setBold(True) + font.setWeight(75) + self.label_8.setFont(font) + self.label_8.setObjectName("label_8") + self.gridLayout_5.addWidget(self.label_8, 0, 0, 1, 1) + self.gridLayout_6 = QtWidgets.QGridLayout() + self.gridLayout_6.setObjectName("gridLayout_6") + self.Button_get_I1 = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.Button_get_I1.sizePolicy().hasHeightForWidth()) + self.Button_get_I1.setSizePolicy(sizePolicy) + self.Button_get_I1.setMinimumSize(QtCore.QSize(40, 0)) + self.Button_get_I1.setObjectName("Button_get_I1") + self.gridLayout_6.addWidget(self.Button_get_I1, 10, 3, 1, 1) + self.checkBox_I1x = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_I1x.setText("") + self.checkBox_I1x.setObjectName("checkBox_I1x") + self.gridLayout_6.addWidget(self.checkBox_I1x, 1, 4, 1, 1) + self.dSB_Ix_set2 = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.dSB_Ix_set2.setDecimals(3) + self.dSB_Ix_set2.setObjectName("dSB_Ix_set2") + self.gridLayout_6.addWidget(self.dSB_Ix_set2, 1, 5, 1, 1) + self.dSB_Iz_set0 = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.dSB_Iz_set0.setDecimals(3) + self.dSB_Iz_set0.setObjectName("dSB_Iz_set0") + self.gridLayout_6.addWidget(self.dSB_Iz_set0, 4, 1, 1, 1) + self.checkBox_I0z = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_I0z.setText("") + self.checkBox_I0z.setObjectName("checkBox_I0z") + self.gridLayout_6.addWidget(self.checkBox_I0z, 4, 2, 1, 1) + self.Button_set_I0 = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.Button_set_I0.sizePolicy().hasHeightForWidth()) + self.Button_set_I0.setSizePolicy(sizePolicy) + self.Button_set_I0.setMinimumSize(QtCore.QSize(40, 0)) + self.Button_set_I0.setObjectName("Button_set_I0") + self.gridLayout_6.addWidget(self.Button_set_I0, 5, 1, 1, 1) + self.label_9 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_9.setObjectName("label_9") + self.gridLayout_6.addWidget(self.label_9, 0, 5, 1, 1) + self.checkBox_I0y = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_I0y.setText("") + self.checkBox_I0y.setObjectName("checkBox_I0y") + self.gridLayout_6.addWidget(self.checkBox_I0y, 2, 2, 1, 1) + self.checkBox_I0x = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_I0x.setText("") + self.checkBox_I0x.setObjectName("checkBox_I0x") + self.gridLayout_6.addWidget(self.checkBox_I0x, 1, 2, 1, 1) + self.Button_get_I0 = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + self.Button_get_I0.setEnabled(True) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.Button_get_I0.sizePolicy().hasHeightForWidth()) + self.Button_get_I0.setSizePolicy(sizePolicy) + self.Button_get_I0.setMinimumSize(QtCore.QSize(40, 0)) + self.Button_get_I0.setObjectName("Button_get_I0") + self.gridLayout_6.addWidget(self.Button_get_I0, 10, 1, 1, 1) + self.Button_set_I1 = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.Button_set_I1.sizePolicy().hasHeightForWidth()) + self.Button_set_I1.setSizePolicy(sizePolicy) + self.Button_set_I1.setMinimumSize(QtCore.QSize(40, 0)) + self.Button_set_I1.setObjectName("Button_set_I1") + self.gridLayout_6.addWidget(self.Button_set_I1, 5, 3, 1, 1) + self.checkBox_I2y = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_I2y.setText("") + self.checkBox_I2y.setObjectName("checkBox_I2y") + self.gridLayout_6.addWidget(self.checkBox_I2y, 2, 6, 1, 1) + self.checkBox_I1z = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_I1z.setText("") + self.checkBox_I1z.setObjectName("checkBox_I1z") + self.gridLayout_6.addWidget(self.checkBox_I1z, 4, 4, 1, 1) + self.checkBox_I2x = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_I2x.setText("") + self.checkBox_I2x.setObjectName("checkBox_I2x") + self.gridLayout_6.addWidget(self.checkBox_I2x, 1, 6, 1, 1) + self.checkBox_I2z = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_I2z.setText("") + self.checkBox_I2z.setObjectName("checkBox_I2z") + self.gridLayout_6.addWidget(self.checkBox_I2z, 4, 6, 1, 1) + self.checkBox_I1y = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_I1y.setText("") + self.checkBox_I1y.setObjectName("checkBox_I1y") + self.gridLayout_6.addWidget(self.checkBox_I1y, 2, 4, 1, 1) + self.dSB_Ix_set0 = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.dSB_Ix_set0.setDecimals(3) + self.dSB_Ix_set0.setObjectName("dSB_Ix_set0") + self.gridLayout_6.addWidget(self.dSB_Ix_set0, 1, 1, 1, 1) + self.label_11 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_11.setObjectName("label_11") + self.gridLayout_6.addWidget(self.label_11, 0, 3, 1, 1) + self.label_10 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_10.setObjectName("label_10") + self.gridLayout_6.addWidget(self.label_10, 0, 1, 1, 1) + self.dSB_Iz_set2 = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.dSB_Iz_set2.setDecimals(3) + self.dSB_Iz_set2.setObjectName("dSB_Iz_set2") + self.gridLayout_6.addWidget(self.dSB_Iz_set2, 4, 5, 1, 1) + self.checkBox_autoscale_AMR_y = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_autoscale_AMR_y.setChecked(True) + self.checkBox_autoscale_AMR_y.setObjectName("checkBox_autoscale_AMR_y") + self.gridLayout_6.addWidget(self.checkBox_autoscale_AMR_y, 11, 5, 1, 1) + spacerItem10 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding) + self.gridLayout_6.addItem(spacerItem10, 8, 5, 1, 1) + self.label_14 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_14.setObjectName("label_14") + self.gridLayout_6.addWidget(self.label_14, 2, 0, 1, 1) + self.dSB_Iy_set1 = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.dSB_Iy_set1.setDecimals(3) + self.dSB_Iy_set1.setObjectName("dSB_Iy_set1") + self.gridLayout_6.addWidget(self.dSB_Iy_set1, 2, 3, 1, 1) + self.label_13 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_13.setObjectName("label_13") + self.gridLayout_6.addWidget(self.label_13, 1, 0, 1, 1) + self.dSB_Iy_set0 = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.dSB_Iy_set0.setDecimals(3) + self.dSB_Iy_set0.setObjectName("dSB_Iy_set0") + self.gridLayout_6.addWidget(self.dSB_Iy_set0, 2, 1, 1, 1) + self.dSB_Iy_set2 = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.dSB_Iy_set2.setDecimals(3) + self.dSB_Iy_set2.setObjectName("dSB_Iy_set2") + self.gridLayout_6.addWidget(self.dSB_Iy_set2, 2, 5, 1, 1) + self.label_12 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_12.setObjectName("label_12") + self.gridLayout_6.addWidget(self.label_12, 4, 0, 1, 1) + self.Button_set_I2 = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.Button_set_I2.sizePolicy().hasHeightForWidth()) + self.Button_set_I2.setSizePolicy(sizePolicy) + self.Button_set_I2.setObjectName("Button_set_I2") + self.gridLayout_6.addWidget(self.Button_set_I2, 5, 5, 1, 1) + self.dSB_Iz_set1 = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.dSB_Iz_set1.setDecimals(3) + self.dSB_Iz_set1.setObjectName("dSB_Iz_set1") + self.gridLayout_6.addWidget(self.dSB_Iz_set1, 4, 3, 1, 1) + self.dSB_Ix_set1 = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.dSB_Ix_set1.setDecimals(3) + self.dSB_Ix_set1.setObjectName("dSB_Ix_set1") + self.gridLayout_6.addWidget(self.dSB_Ix_set1, 1, 3, 1, 1) + self.Button_get_I2 = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.Button_get_I2.sizePolicy().hasHeightForWidth()) + self.Button_get_I2.setSizePolicy(sizePolicy) + self.Button_get_I2.setObjectName("Button_get_I2") + self.gridLayout_6.addWidget(self.Button_get_I2, 10, 5, 1, 1) + self.Button_Coils_off = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + self.Button_Coils_off.setObjectName("Button_Coils_off") + self.gridLayout_6.addWidget(self.Button_Coils_off, 9, 5, 1, 1) + self.label_42 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_42.setObjectName("label_42") + self.gridLayout_6.addWidget(self.label_42, 3, 0, 1, 1) + self.dSB_Iy2_set0 = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.dSB_Iy2_set0.setDecimals(3) + self.dSB_Iy2_set0.setObjectName("dSB_Iy2_set0") + self.gridLayout_6.addWidget(self.dSB_Iy2_set0, 3, 1, 1, 1) + self.checkBox_I0y2 = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_I0y2.setEnabled(False) + self.checkBox_I0y2.setText("") + self.checkBox_I0y2.setObjectName("checkBox_I0y2") + self.gridLayout_6.addWidget(self.checkBox_I0y2, 3, 2, 1, 1) + self.dSB_Iy2_set1 = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.dSB_Iy2_set1.setDecimals(3) + self.dSB_Iy2_set1.setObjectName("dSB_Iy2_set1") + self.gridLayout_6.addWidget(self.dSB_Iy2_set1, 3, 3, 1, 1) + self.checkBox_I1y2 = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_I1y2.setEnabled(False) + self.checkBox_I1y2.setText("") + self.checkBox_I1y2.setObjectName("checkBox_I1y2") + self.gridLayout_6.addWidget(self.checkBox_I1y2, 3, 4, 1, 1) + self.dSB_Iy2_set2 = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.dSB_Iy2_set2.setDecimals(3) + self.dSB_Iy2_set2.setObjectName("dSB_Iy2_set2") + self.gridLayout_6.addWidget(self.dSB_Iy2_set2, 3, 5, 1, 1) + self.checkBox_I2y2 = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_I2y2.setEnabled(False) + self.checkBox_I2y2.setText("") + self.checkBox_I2y2.setObjectName("checkBox_I2y2") + self.gridLayout_6.addWidget(self.checkBox_I2y2, 3, 6, 1, 1) + self.gridLayout_5.addLayout(self.gridLayout_6, 1, 0, 1, 1) + self.gridLayout_2.addLayout(self.gridLayout_5, 1, 0, 1, 1) + self.list_AMR_x = QtWidgets.QListWidget(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Expanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.list_AMR_x.sizePolicy().hasHeightForWidth()) + self.list_AMR_x.setSizePolicy(sizePolicy) + self.list_AMR_x.setMinimumSize(QtCore.QSize(30, 20)) + self.list_AMR_x.setMaximumSize(QtCore.QSize(30, 16777215)) + self.list_AMR_x.setAutoFillBackground(True) + self.list_AMR_x.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.MultiSelection) + self.list_AMR_x.setObjectName("list_AMR_x") + item = QtWidgets.QListWidgetItem() + font = QtGui.QFont() + font.setUnderline(False) + font.setStrikeOut(False) + font.setKerning(True) + item.setFont(font) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.NoBrush) + item.setBackground(brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.NoBrush) + item.setForeground(brush) + self.list_AMR_x.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_AMR_x.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_AMR_x.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_AMR_x.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_AMR_x.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_AMR_x.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_AMR_x.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_AMR_x.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_AMR_x.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_AMR_x.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_AMR_x.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_AMR_x.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_AMR_x.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_AMR_x.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_AMR_x.addItem(item) + self.gridLayout_2.addWidget(self.list_AMR_x, 0, 1, 1, 1) + self.list_AMR_y = QtWidgets.QListWidget(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Expanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.list_AMR_y.sizePolicy().hasHeightForWidth()) + self.list_AMR_y.setSizePolicy(sizePolicy) + self.list_AMR_y.setMinimumSize(QtCore.QSize(30, 20)) + self.list_AMR_y.setMaximumSize(QtCore.QSize(30, 16777215)) + self.list_AMR_y.setAutoFillBackground(True) + self.list_AMR_y.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.MultiSelection) + self.list_AMR_y.setObjectName("list_AMR_y") + item = QtWidgets.QListWidgetItem() + font = QtGui.QFont() + font.setUnderline(False) + font.setStrikeOut(False) + font.setKerning(True) + item.setFont(font) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.NoBrush) + item.setBackground(brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.NoBrush) + item.setForeground(brush) + self.list_AMR_y.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_AMR_y.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_AMR_y.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_AMR_y.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_AMR_y.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_AMR_y.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_AMR_y.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_AMR_y.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_AMR_y.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_AMR_y.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_AMR_y.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_AMR_y.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_AMR_y.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_AMR_y.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_AMR_y.addItem(item) + self.gridLayout_2.addWidget(self.list_AMR_y, 1, 1, 1, 1) + self.list_AMR_z = QtWidgets.QListWidget(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Expanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.list_AMR_z.sizePolicy().hasHeightForWidth()) + self.list_AMR_z.setSizePolicy(sizePolicy) + self.list_AMR_z.setMinimumSize(QtCore.QSize(30, 20)) + self.list_AMR_z.setMaximumSize(QtCore.QSize(30, 16777215)) + self.list_AMR_z.setAutoFillBackground(True) + self.list_AMR_z.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.MultiSelection) + self.list_AMR_z.setObjectName("list_AMR_z") + item = QtWidgets.QListWidgetItem() + font = QtGui.QFont() + font.setUnderline(False) + font.setStrikeOut(False) + font.setKerning(True) + item.setFont(font) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.NoBrush) + item.setBackground(brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.NoBrush) + item.setForeground(brush) + self.list_AMR_z.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_AMR_z.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_AMR_z.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_AMR_z.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_AMR_z.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_AMR_z.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_AMR_z.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_AMR_z.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_AMR_z.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_AMR_z.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_AMR_z.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_AMR_z.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_AMR_z.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_AMR_z.addItem(item) + item = QtWidgets.QListWidgetItem() + self.list_AMR_z.addItem(item) + self.gridLayout_2.addWidget(self.list_AMR_z, 2, 1, 1, 1) + self.gridLayout_18 = QtWidgets.QGridLayout() + self.gridLayout_18.setObjectName("gridLayout_18") + self.label_53 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_53.sizePolicy().hasHeightForWidth()) + self.label_53.setSizePolicy(sizePolicy) + font = QtGui.QFont() + font.setPointSize(14) + font.setBold(True) + font.setWeight(75) + self.label_53.setFont(font) + self.label_53.setObjectName("label_53") + self.gridLayout_18.addWidget(self.label_53, 0, 0, 1, 2) + self.Button_get_I0_7 = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + self.Button_get_I0_7.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.Button_get_I0_7.sizePolicy().hasHeightForWidth()) + self.Button_get_I0_7.setSizePolicy(sizePolicy) + self.Button_get_I0_7.setMinimumSize(QtCore.QSize(40, 0)) + self.Button_get_I0_7.setObjectName("Button_get_I0_7") + self.gridLayout_18.addWidget(self.Button_get_I0_7, 1, 0, 1, 1) + self.Button_get_I0_11 = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + self.Button_get_I0_11.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.Button_get_I0_11.sizePolicy().hasHeightForWidth()) + self.Button_get_I0_11.setSizePolicy(sizePolicy) + self.Button_get_I0_11.setMinimumSize(QtCore.QSize(40, 0)) + self.Button_get_I0_11.setObjectName("Button_get_I0_11") + self.gridLayout_18.addWidget(self.Button_get_I0_11, 2, 1, 1, 1) + self.Button_get_I0_10 = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + self.Button_get_I0_10.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.Button_get_I0_10.sizePolicy().hasHeightForWidth()) + self.Button_get_I0_10.setSizePolicy(sizePolicy) + self.Button_get_I0_10.setMinimumSize(QtCore.QSize(40, 0)) + self.Button_get_I0_10.setObjectName("Button_get_I0_10") + self.gridLayout_18.addWidget(self.Button_get_I0_10, 2, 0, 1, 1) + self.Button_get_I0_9 = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + self.Button_get_I0_9.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.Button_get_I0_9.sizePolicy().hasHeightForWidth()) + self.Button_get_I0_9.setSizePolicy(sizePolicy) + self.Button_get_I0_9.setMinimumSize(QtCore.QSize(40, 0)) + self.Button_get_I0_9.setObjectName("Button_get_I0_9") + self.gridLayout_18.addWidget(self.Button_get_I0_9, 1, 2, 1, 1) + self.Button_get_I0_8 = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + self.Button_get_I0_8.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.Button_get_I0_8.sizePolicy().hasHeightForWidth()) + self.Button_get_I0_8.setSizePolicy(sizePolicy) + self.Button_get_I0_8.setMinimumSize(QtCore.QSize(40, 0)) + self.Button_get_I0_8.setObjectName("Button_get_I0_8") + self.gridLayout_18.addWidget(self.Button_get_I0_8, 1, 1, 1, 1) + self.Button_get_I0_15 = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + self.Button_get_I0_15.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.Button_get_I0_15.sizePolicy().hasHeightForWidth()) + self.Button_get_I0_15.setSizePolicy(sizePolicy) + self.Button_get_I0_15.setMinimumSize(QtCore.QSize(40, 0)) + self.Button_get_I0_15.setObjectName("Button_get_I0_15") + self.gridLayout_18.addWidget(self.Button_get_I0_15, 4, 2, 1, 1) + self.Button_get_I0_12 = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + self.Button_get_I0_12.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.Button_get_I0_12.sizePolicy().hasHeightForWidth()) + self.Button_get_I0_12.setSizePolicy(sizePolicy) + self.Button_get_I0_12.setMinimumSize(QtCore.QSize(40, 0)) + self.Button_get_I0_12.setObjectName("Button_get_I0_12") + self.gridLayout_18.addWidget(self.Button_get_I0_12, 2, 2, 1, 1) + spacerItem11 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Fixed) + self.gridLayout_18.addItem(spacerItem11, 3, 1, 1, 1) + self.Button_get_I0_13 = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + self.Button_get_I0_13.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.Button_get_I0_13.sizePolicy().hasHeightForWidth()) + self.Button_get_I0_13.setSizePolicy(sizePolicy) + self.Button_get_I0_13.setMinimumSize(QtCore.QSize(40, 0)) + self.Button_get_I0_13.setObjectName("Button_get_I0_13") + self.gridLayout_18.addWidget(self.Button_get_I0_13, 4, 0, 1, 1) + self.Button_get_I0_14 = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + self.Button_get_I0_14.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.Button_get_I0_14.sizePolicy().hasHeightForWidth()) + self.Button_get_I0_14.setSizePolicy(sizePolicy) + self.Button_get_I0_14.setMinimumSize(QtCore.QSize(40, 0)) + self.Button_get_I0_14.setObjectName("Button_get_I0_14") + self.gridLayout_18.addWidget(self.Button_get_I0_14, 4, 1, 1, 1) + self.checkBox_autoscale_AMR_z = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_autoscale_AMR_z.setChecked(True) + self.checkBox_autoscale_AMR_z.setObjectName("checkBox_autoscale_AMR_z") + self.gridLayout_18.addWidget(self.checkBox_autoscale_AMR_z, 6, 2, 1, 1) + spacerItem12 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding) + self.gridLayout_18.addItem(spacerItem12, 5, 2, 1, 1) + self.gridLayout_2.addLayout(self.gridLayout_18, 2, 0, 1, 1) + self.graphWidget_AMR_y = PlotWidget(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.graphWidget_AMR_y.sizePolicy().hasHeightForWidth()) + self.graphWidget_AMR_y.setSizePolicy(sizePolicy) + self.graphWidget_AMR_y.setMinimumSize(QtCore.QSize(431, 281)) + self.graphWidget_AMR_y.setObjectName("graphWidget_AMR_y") + self.gridLayout_2.addWidget(self.graphWidget_AMR_y, 1, 2, 1, 1) + self.graphWidget_AMR_z = PlotWidget(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.graphWidget_AMR_z.sizePolicy().hasHeightForWidth()) + self.graphWidget_AMR_z.setSizePolicy(sizePolicy) + self.graphWidget_AMR_z.setMinimumSize(QtCore.QSize(431, 281)) + self.graphWidget_AMR_z.setObjectName("graphWidget_AMR_z") + self.gridLayout_2.addWidget(self.graphWidget_AMR_z, 2, 2, 1, 1) + self.horizontalLayout_3.addLayout(self.gridLayout_2) + self.scrollArea.setWidget(self.scrollAreaWidgetContents) + self.horizontalLayout_2.addWidget(self.scrollArea) + MainWindow.setCentralWidget(self.centralwidget) + self.menubar = QtWidgets.QMenuBar(parent=MainWindow) + self.menubar.setGeometry(QtCore.QRect(0, 0, 1742, 26)) + self.menubar.setObjectName("menubar") + self.menuFile = QtWidgets.QMenu(parent=self.menubar) + self.menuFile.setObjectName("menuFile") + MainWindow.setMenuBar(self.menubar) + self.statusbar = QtWidgets.QStatusBar(parent=MainWindow) + self.statusbar.setObjectName("statusbar") + MainWindow.setStatusBar(self.statusbar) + self.action_save_default = QtGui.QAction(parent=MainWindow) + self.action_save_default.setObjectName("action_save_default") + self.action_load_default = QtGui.QAction(parent=MainWindow) + self.action_load_default.setObjectName("action_load_default") + self.menuFile.addAction(self.action_save_default) + self.menuFile.addAction(self.action_load_default) + self.menubar.addAction(self.menuFile.menuAction()) + + self.retranslateUi(MainWindow) + QtCore.QMetaObject.connectSlotsByName(MainWindow) + + def retranslateUi(self, MainWindow): + _translate = QtCore.QCoreApplication.translate + MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow")) + __sortingEnabled = self.list_FG.isSortingEnabled() + self.list_FG.setSortingEnabled(False) + item = self.list_FG.item(0) + item.setText(_translate("MainWindow", "X")) + item = self.list_FG.item(1) + item.setText(_translate("MainWindow", "Y")) + item = self.list_FG.item(2) + item.setText(_translate("MainWindow", "Z")) + item = self.list_FG.item(3) + item.setText(_translate("MainWindow", "Mag")) + self.list_FG.setSortingEnabled(__sortingEnabled) + __sortingEnabled = self.list_T.isSortingEnabled() + self.list_T.setSortingEnabled(False) + item = self.list_T.item(0) + item.setText(_translate("MainWindow", "1")) + item = self.list_T.item(1) + item.setText(_translate("MainWindow", "2")) + item = self.list_T.item(2) + item.setText(_translate("MainWindow", "3")) + item = self.list_T.item(3) + item.setText(_translate("MainWindow", "4")) + item = self.list_T.item(4) + item.setText(_translate("MainWindow", "5")) + item = self.list_T.item(5) + item.setText(_translate("MainWindow", "6")) + item = self.list_T.item(6) + item.setText(_translate("MainWindow", "7")) + item = self.list_T.item(7) + item.setText(_translate("MainWindow", "8")) + item = self.list_T.item(8) + item.setText(_translate("MainWindow", "Bot")) + item = self.list_T.item(9) + item.setText(_translate("MainWindow", "Top")) + item = self.list_T.item(10) + item.setText(_translate("MainWindow", "Gas")) + self.list_T.setSortingEnabled(__sortingEnabled) + self.Button_reset_T_set.setText(_translate("MainWindow", "Reset")) + self.Button_imc.setText(_translate("MainWindow", "imc")) + self.label_31.setText(_translate("MainWindow", "set")) + self.label_33.setText(_translate("MainWindow", "T Top")) + self.label_16.setText(_translate("MainWindow", "Temperature Control")) + self.Button_start_ramp.setText(_translate("MainWindow", "Start Ramp")) + self.lab_T_bot.setText(_translate("MainWindow", "0")) + self.Button_stop_ramp.setText(_translate("MainWindow", "Stop Ramp")) + self.label_30.setText(_translate("MainWindow", "is")) + self.Button_PID_on.setText(_translate("MainWindow", "on/OFF")) + self.label_32.setText(_translate("MainWindow", "reset")) + self.lab_T_top.setText(_translate("MainWindow", "0")) + self.Button_LS.setText(_translate("MainWindow", "LS218")) + self.label_17.setText(_translate("MainWindow", "Ramprate")) + self.label_34.setText(_translate("MainWindow", "T Bottom")) + self.lab_T_set_bot.setText(_translate("MainWindow", "0")) + self.label_19.setText(_translate("MainWindow", "dT/dt [K/s]")) + self.label_20.setText(_translate("MainWindow", "delta t [s]")) + self.lab_T_set_top.setText(_translate("MainWindow", "0")) + self.label_92.setText(_translate("MainWindow", "CH 5")) + self.lab_T_5.setText(_translate("MainWindow", "0")) + self.label_93.setText(_translate("MainWindow", "CH 6")) + self.lab_T_6.setText(_translate("MainWindow", "0")) + self.label_95.setText(_translate("MainWindow", "CH 7")) + self.lab_T_7.setText(_translate("MainWindow", "0")) + self.label_94.setText(_translate("MainWindow", "CH 8")) + self.lab_T_8.setText(_translate("MainWindow", "0")) + self.label_88.setText(_translate("MainWindow", "CH 1")) + self.lab_T_1.setText(_translate("MainWindow", "0")) + self.label_89.setText(_translate("MainWindow", "CH 2")) + self.lab_T_2.setText(_translate("MainWindow", "0")) + self.label_90.setText(_translate("MainWindow", "CH 3")) + self.lab_T_3.setText(_translate("MainWindow", "0")) + self.label_91.setText(_translate("MainWindow", "CH 4")) + self.lab_T_4.setText(_translate("MainWindow", "0")) + self.label_100.setText(_translate("MainWindow", "T_c [K]")) + self.checkBox_sens_ana_2.setText(_translate("MainWindow", "CH 2")) + self.checkBox_sens_ana_5.setText(_translate("MainWindow", "CH 5")) + self.label_96.setText(_translate("MainWindow", "CH A")) + self.lab_T_9.setText(_translate("MainWindow", "0")) + self.label_97.setText(_translate("MainWindow", "CH B")) + self.lab_T_10.setText(_translate("MainWindow", "0")) + self.label_99.setText(_translate("MainWindow", "CH C")) + self.lab_T_11.setText(_translate("MainWindow", "0")) + self.label_98.setText(_translate("MainWindow", "CH D")) + self.lab_T_12.setText(_translate("MainWindow", "0")) + self.checkBox_autoscale_T.setText(_translate("MainWindow", "Autoscale")) + self.checkBox_sens_ana_3.setText(_translate("MainWindow", "CH 3")) + self.checkBox_sens_ana_4.setText(_translate("MainWindow", "CH 4")) + self.checkBox_sens_ana_6.setText(_translate("MainWindow", "CH 6")) + self.checkBox_sens_ana_1.setText(_translate("MainWindow", "CH 1")) + self.checkBox_sens_ana_8.setText(_translate("MainWindow", "CH 8")) + self.label_39.setText(_translate("MainWindow", "Status")) + self.checkBox_sens_ana_7.setText(_translate("MainWindow", "CH 7")) + self.label_24.setText(_translate("MainWindow", "Enable AMR Calib")) + self.label_26.setText(_translate("MainWindow", "Buffer Size")) + self.Button_change_Buffer.setText(_translate("MainWindow", "Resize")) + self.line_Path_Mon.setText(_translate("MainWindow", "test.txt")) + self.label_49.setText(_translate("MainWindow", "Timing Main [s]")) + self.label_85.setText(_translate("MainWindow", "Disable all Plots")) + self.label_84.setText(_translate("MainWindow", "Points to plot")) + self.label_52.setText(_translate("MainWindow", "Path Monitoring")) + self.label_48.setText(_translate("MainWindow", "System")) + self.label_51.setText(_translate("MainWindow", "Path Points")) + self.label_50.setText(_translate("MainWindow", "Timing Monitoring [s]")) + self.label_23.setText(_translate("MainWindow", "Path AMR Calib")) + self.checkBox_monitoring.setText(_translate("MainWindow", "Monitoring")) + self.label_35.setText(_translate("MainWindow", "Max Power [W]")) + self.label_36.setText(_translate("MainWindow", "R heater [Ohm]")) + self.label_28.setText(_translate("MainWindow", "Bottom Cernox")) + self.label_22.setText(_translate("MainWindow", "Top Cernox")) + self.label_47.setText(_translate("MainWindow", "Heater Setup")) + self.label_21.setText(_translate("MainWindow", "Channel")) + self.checkBox_autoscale_FG.setText(_translate("MainWindow", "Autoscale")) + self.label_18.setText(_translate("MainWindow", "PID Bot")) + self.label_15.setText(_translate("MainWindow", "PID Top")) + self.label_25.setText(_translate("MainWindow", "P")) + self.label_29.setText(_translate("MainWindow", "D")) + self.label_27.setText(_translate("MainWindow", "I")) + self.label_37.setText(_translate("MainWindow", "Power [W]")) + self.lab_P_top.setText(_translate("MainWindow", "0")) + self.lab_P_bot.setText(_translate("MainWindow", "0")) + self.label_87.setText(_translate("MainWindow", "AMR Flip")) + self.label_46.setText(_translate("MainWindow", "Relais Fan")) + self.label_38.setText(_translate("MainWindow", "Turn LED on")) + self.label_73.setText(_translate("MainWindow", "5")) + self.label_78.setText(_translate("MainWindow", "10")) + self.label_54.setText(_translate("MainWindow", "1")) + self.label_74.setText(_translate("MainWindow", "6")) + self.label_79.setText(_translate("MainWindow", "11")) + self.label_81.setText(_translate("MainWindow", "13")) + self.label_77.setText(_translate("MainWindow", "9")) + self.label_80.setText(_translate("MainWindow", "12")) + self.label_71.setText(_translate("MainWindow", "3")) + self.label_72.setText(_translate("MainWindow", "4")) + self.label_65.setText(_translate("MainWindow", "2")) + self.label_75.setText(_translate("MainWindow", "7")) + self.label_76.setText(_translate("MainWindow", "8")) + self.label_82.setText(_translate("MainWindow", "14")) + self.label_83.setText(_translate("MainWindow", "15")) + self.label_86.setText(_translate("MainWindow", "AMR Supply")) + self.label_41.setText(_translate("MainWindow", "R [Ohm]")) + self.label_43.setText(_translate("MainWindow", "P set [W]")) + self.label_44.setText(_translate("MainWindow", "P is [W]")) + self.lab_He_heater_P_is.setText(_translate("MainWindow", "0")) + self.label_45.setText(_translate("MainWindow", "On/Off")) + self.Button_he_heater_measure_R.setText(_translate("MainWindow", "Measure R")) + self.label_40.setText(_translate("MainWindow", "He Heater")) + self.label.setText(_translate("MainWindow", "Magnetic Field Control")) + self.Button_set_B.setText(_translate("MainWindow", "Set field")) + self.lab_Bz_is.setText(_translate("MainWindow", "0")) + self.label_5.setText(_translate("MainWindow", "B_y [µT]")) + self.label_6.setText(_translate("MainWindow", "B_x [µT] ")) + self.lab_By_is.setText(_translate("MainWindow", "0")) + self.lab_Bx_is.setText(_translate("MainWindow", "0")) + self.label_3.setText(_translate("MainWindow", "Fluxgate Data")) + self.label_7.setText(_translate("MainWindow", "B_z [µT]")) + self.label_4.setText(_translate("MainWindow", "Current Value")) + self.checkBox_autoscale_AMR_x.setText(_translate("MainWindow", "Autoscale")) + self.label_2.setText(_translate("MainWindow", "Set Value")) + self.label_8.setText(_translate("MainWindow", "Stored coil currents")) + self.Button_get_I1.setText(_translate("MainWindow", "Get I")) + self.Button_set_I0.setText(_translate("MainWindow", "Set I")) + self.label_9.setText(_translate("MainWindow", "Field 2")) + self.Button_get_I0.setText(_translate("MainWindow", "Get I")) + self.Button_set_I1.setText(_translate("MainWindow", "Set I")) + self.label_11.setText(_translate("MainWindow", "Field 1")) + self.label_10.setText(_translate("MainWindow", "0-Field")) + self.checkBox_autoscale_AMR_y.setText(_translate("MainWindow", "Autoscale")) + self.label_14.setText(_translate("MainWindow", "I_y [A]")) + self.label_13.setText(_translate("MainWindow", "I_x [A]")) + self.label_12.setText(_translate("MainWindow", "I_z [A]")) + self.Button_set_I2.setText(_translate("MainWindow", "Set I")) + self.Button_get_I2.setText(_translate("MainWindow", "Get I")) + self.Button_Coils_off.setText(_translate("MainWindow", "Coils Off")) + self.label_42.setText(_translate("MainWindow", "I_y2 [A]")) + __sortingEnabled = self.list_AMR_x.isSortingEnabled() + self.list_AMR_x.setSortingEnabled(False) + item = self.list_AMR_x.item(0) + item.setText(_translate("MainWindow", "1")) + item = self.list_AMR_x.item(1) + item.setText(_translate("MainWindow", "2")) + item = self.list_AMR_x.item(2) + item.setText(_translate("MainWindow", "3")) + item = self.list_AMR_x.item(3) + item.setText(_translate("MainWindow", "4")) + item = self.list_AMR_x.item(4) + item.setText(_translate("MainWindow", "5")) + item = self.list_AMR_x.item(5) + item.setText(_translate("MainWindow", "6")) + item = self.list_AMR_x.item(6) + item.setText(_translate("MainWindow", "7")) + item = self.list_AMR_x.item(7) + item.setText(_translate("MainWindow", "8")) + item = self.list_AMR_x.item(8) + item.setText(_translate("MainWindow", "9")) + item = self.list_AMR_x.item(9) + item.setText(_translate("MainWindow", "10")) + item = self.list_AMR_x.item(10) + item.setText(_translate("MainWindow", "11")) + item = self.list_AMR_x.item(11) + item.setText(_translate("MainWindow", "12")) + item = self.list_AMR_x.item(12) + item.setText(_translate("MainWindow", "13")) + item = self.list_AMR_x.item(13) + item.setText(_translate("MainWindow", "14")) + item = self.list_AMR_x.item(14) + item.setText(_translate("MainWindow", "15")) + self.list_AMR_x.setSortingEnabled(__sortingEnabled) + __sortingEnabled = self.list_AMR_y.isSortingEnabled() + self.list_AMR_y.setSortingEnabled(False) + item = self.list_AMR_y.item(0) + item.setText(_translate("MainWindow", "1")) + item = self.list_AMR_y.item(1) + item.setText(_translate("MainWindow", "2")) + item = self.list_AMR_y.item(2) + item.setText(_translate("MainWindow", "3")) + item = self.list_AMR_y.item(3) + item.setText(_translate("MainWindow", "4")) + item = self.list_AMR_y.item(4) + item.setText(_translate("MainWindow", "5")) + item = self.list_AMR_y.item(5) + item.setText(_translate("MainWindow", "6")) + item = self.list_AMR_y.item(6) + item.setText(_translate("MainWindow", "7")) + item = self.list_AMR_y.item(7) + item.setText(_translate("MainWindow", "8")) + item = self.list_AMR_y.item(8) + item.setText(_translate("MainWindow", "9")) + item = self.list_AMR_y.item(9) + item.setText(_translate("MainWindow", "10")) + item = self.list_AMR_y.item(10) + item.setText(_translate("MainWindow", "11")) + item = self.list_AMR_y.item(11) + item.setText(_translate("MainWindow", "12")) + item = self.list_AMR_y.item(12) + item.setText(_translate("MainWindow", "13")) + item = self.list_AMR_y.item(13) + item.setText(_translate("MainWindow", "14")) + item = self.list_AMR_y.item(14) + item.setText(_translate("MainWindow", "15")) + self.list_AMR_y.setSortingEnabled(__sortingEnabled) + __sortingEnabled = self.list_AMR_z.isSortingEnabled() + self.list_AMR_z.setSortingEnabled(False) + item = self.list_AMR_z.item(0) + item.setText(_translate("MainWindow", "1")) + item = self.list_AMR_z.item(1) + item.setText(_translate("MainWindow", "2")) + item = self.list_AMR_z.item(2) + item.setText(_translate("MainWindow", "3")) + item = self.list_AMR_z.item(3) + item.setText(_translate("MainWindow", "4")) + item = self.list_AMR_z.item(4) + item.setText(_translate("MainWindow", "5")) + item = self.list_AMR_z.item(5) + item.setText(_translate("MainWindow", "6")) + item = self.list_AMR_z.item(6) + item.setText(_translate("MainWindow", "7")) + item = self.list_AMR_z.item(7) + item.setText(_translate("MainWindow", "8")) + item = self.list_AMR_z.item(8) + item.setText(_translate("MainWindow", "9")) + item = self.list_AMR_z.item(9) + item.setText(_translate("MainWindow", "10")) + item = self.list_AMR_z.item(10) + item.setText(_translate("MainWindow", "11")) + item = self.list_AMR_z.item(11) + item.setText(_translate("MainWindow", "12")) + item = self.list_AMR_z.item(12) + item.setText(_translate("MainWindow", "13")) + item = self.list_AMR_z.item(13) + item.setText(_translate("MainWindow", "14")) + item = self.list_AMR_z.item(14) + item.setText(_translate("MainWindow", "15")) + self.list_AMR_z.setSortingEnabled(__sortingEnabled) + self.label_53.setText(_translate("MainWindow", "Auxiliary Programs")) + self.Button_get_I0_7.setText(_translate("MainWindow", "BK 60 (1)")) + self.Button_get_I0_11.setText(_translate("MainWindow", "BK 70 (2)")) + self.Button_get_I0_10.setText(_translate("MainWindow", "BK 70 (1)")) + self.Button_get_I0_9.setText(_translate("MainWindow", "BK 30")) + self.Button_get_I0_8.setText(_translate("MainWindow", "BK 60 (2)")) + self.Button_get_I0_15.setText(_translate("MainWindow", "Field Control")) + self.Button_get_I0_12.setText(_translate("MainWindow", "Keythley")) + self.Button_get_I0_13.setText(_translate("MainWindow", "AMR Calibration")) + self.Button_get_I0_14.setText(_translate("MainWindow", "Cernox Calibration")) + self.checkBox_autoscale_AMR_z.setText(_translate("MainWindow", "Autoscale")) + self.menuFile.setTitle(_translate("MainWindow", "File")) + self.action_save_default.setText(_translate("MainWindow", "Make current values default")) + self.action_load_default.setText(_translate("MainWindow", "Load default values")) +from pyqtgraph import PlotWidget diff --git a/Legacy/TF_Control/design_files/Result_window.ui b/Legacy/TF_Control/design_files/Result_window.ui new file mode 100644 index 0000000..af49598 --- /dev/null +++ b/Legacy/TF_Control/design_files/Result_window.ui @@ -0,0 +1,438 @@ + + + MainWindow + + + + 0 + 0 + 1250 + 737 + + + + Results + + + + + + + true + + + + + 0 + 0 + 1236 + 687 + + + + + + + + + + + + + + + + 0 + 0 + + + + Plot dT/dt [K/s] + + + + + + + 0.010000000000000 + + + + + + + + 0 + 0 + + + + Plot settings + + + + + + + + 0 + 0 + + + + Plot T-Gradients [K/cm] + + + + + + + + 0 + 0 + + + + Plot transition time [s] + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + 0 + 0 + + + + + + + + + + + 0.010000000000000 + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + 999.000000000000000 + + + + + + + false + + + + + + + + Mean of all sensors + + + + + Single sensor (absolute value) + + + + + Single sensor direction + + + + + + + + Update Plots + + + + + + + + 0 + 0 + + + + Plot B-fields [µT] (y-direction) + + + + + + + + 0 + 0 + + + + + + + + + + + 0.100000000000000 + + + + + + + false + + + 1 + + + 8 + + + + + + + false + + + Use Cernox [1-8] + + + + + + + Tolerance (+/-) + + + + + + + false + + + Local Gradient + + + + + + + + + + + + 0 + 0 + + + + + 80 + 0 + + + + Folder Path + + + + + + + + 0 + 0 + + + + + 250 + 0 + + + + d:\Profile\a2958\Eigene Dateien\Python Auslesesoftware\tf-control\test_data + + + + + + + Qt::Horizontal + + + QSizePolicy::Minimum + + + + 40 + 20 + + + + + + + + + + + + + + + + + + Select all + + + + + + + Files to include + + + + + + + + 0 + 0 + + + + QAbstractItemView::MultiSelection + + + + + + + Refresh + + + + + + + Qt::Horizontal + + + QSizePolicy::Minimum + + + + 40 + 20 + + + + + + + + + + + + + + + + 0 + 0 + 1250 + 18 + + + + + File + + + + + + + + + + Make current values default + + + + + Reset default values + + + + + + PlotWidget + QWidget +
pyqtgraph
+ 1 +
+
+ + +
diff --git a/Legacy/TF_Control/design_files/Result_window_design.py b/Legacy/TF_Control/design_files/Result_window_design.py new file mode 100644 index 0000000..558ceb7 --- /dev/null +++ b/Legacy/TF_Control/design_files/Result_window_design.py @@ -0,0 +1,259 @@ +# Form implementation generated from reading ui file 'Result_window.ui' +# +# Created by: PyQt6 UI code generator 6.6.1 +# +# WARNING: Any manual changes made to this file will be lost when pyuic6 is +# run again. Do not edit this file unless you know what you are doing. + + +from PyQt6 import QtCore, QtGui, QtWidgets + + +class Ui_MainWindow(object): + def setupUi(self, MainWindow): + MainWindow.setObjectName("MainWindow") + MainWindow.resize(1250, 737) + self.centralwidget = QtWidgets.QWidget(parent=MainWindow) + self.centralwidget.setObjectName("centralwidget") + self.gridLayout = QtWidgets.QGridLayout(self.centralwidget) + self.gridLayout.setObjectName("gridLayout") + self.scrollArea = QtWidgets.QScrollArea(parent=self.centralwidget) + self.scrollArea.setWidgetResizable(True) + self.scrollArea.setObjectName("scrollArea") + self.scrollAreaWidgetContents = QtWidgets.QWidget() + self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 1236, 687)) + self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents") + self.gridLayout_2 = QtWidgets.QGridLayout(self.scrollAreaWidgetContents) + self.gridLayout_2.setObjectName("gridLayout_2") + self.graphWidget_B = PlotWidget(parent=self.scrollAreaWidgetContents) + self.graphWidget_B.setObjectName("graphWidget_B") + self.gridLayout_2.addWidget(self.graphWidget_B, 0, 1, 3, 1) + self.graphWidget_CooldownSpeed = PlotWidget(parent=self.scrollAreaWidgetContents) + self.graphWidget_CooldownSpeed.setObjectName("graphWidget_CooldownSpeed") + self.gridLayout_2.addWidget(self.graphWidget_CooldownSpeed, 0, 2, 3, 1) + self.gridLayout_8 = QtWidgets.QGridLayout() + self.gridLayout_8.setObjectName("gridLayout_8") + self.label_19 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_19.sizePolicy().hasHeightForWidth()) + self.label_19.setSizePolicy(sizePolicy) + self.label_19.setObjectName("label_19") + self.gridLayout_8.addWidget(self.label_19, 4, 0, 1, 2) + self.dSB_Plot_Cooldown_Speed_Tolerance = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.dSB_Plot_Cooldown_Speed_Tolerance.setSingleStep(0.01) + self.dSB_Plot_Cooldown_Speed_Tolerance.setObjectName("dSB_Plot_Cooldown_Speed_Tolerance") + self.gridLayout_8.addWidget(self.dSB_Plot_Cooldown_Speed_Tolerance, 4, 3, 1, 1) + self.label_20 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_20.sizePolicy().hasHeightForWidth()) + self.label_20.setSizePolicy(sizePolicy) + self.label_20.setObjectName("label_20") + self.gridLayout_8.addWidget(self.label_20, 6, 0, 1, 1) + self.label_18 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_18.sizePolicy().hasHeightForWidth()) + self.label_18.setSizePolicy(sizePolicy) + self.label_18.setObjectName("label_18") + self.gridLayout_8.addWidget(self.label_18, 3, 0, 1, 2) + self.label_22 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_22.sizePolicy().hasHeightForWidth()) + self.label_22.setSizePolicy(sizePolicy) + self.label_22.setObjectName("label_22") + self.gridLayout_8.addWidget(self.label_22, 5, 0, 1, 2) + spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding) + self.gridLayout_8.addItem(spacerItem, 10, 1, 1, 1) + self.line_Plot_B_Field = QtWidgets.QLineEdit(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_Plot_B_Field.sizePolicy().hasHeightForWidth()) + self.line_Plot_B_Field.setSizePolicy(sizePolicy) + self.line_Plot_B_Field.setText("") + self.line_Plot_B_Field.setObjectName("line_Plot_B_Field") + self.gridLayout_8.addWidget(self.line_Plot_B_Field, 2, 2, 1, 1) + self.dSB_Plot_T_Gradients_Tolerance = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.dSB_Plot_T_Gradients_Tolerance.setSingleStep(0.01) + self.dSB_Plot_T_Gradients_Tolerance.setObjectName("dSB_Plot_T_Gradients_Tolerance") + self.gridLayout_8.addWidget(self.dSB_Plot_T_Gradients_Tolerance, 3, 3, 1, 1) + self.line_Plot_T_Gradients = QtWidgets.QLineEdit(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_Plot_T_Gradients.sizePolicy().hasHeightForWidth()) + self.line_Plot_T_Gradients.setSizePolicy(sizePolicy) + self.line_Plot_T_Gradients.setText("") + self.line_Plot_T_Gradients.setObjectName("line_Plot_T_Gradients") + self.gridLayout_8.addWidget(self.line_Plot_T_Gradients, 3, 2, 1, 1) + self.line_Plot_Cooldown_Speed = QtWidgets.QLineEdit(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_Plot_Cooldown_Speed.sizePolicy().hasHeightForWidth()) + self.line_Plot_Cooldown_Speed.setSizePolicy(sizePolicy) + self.line_Plot_Cooldown_Speed.setText("") + self.line_Plot_Cooldown_Speed.setObjectName("line_Plot_Cooldown_Speed") + self.gridLayout_8.addWidget(self.line_Plot_Cooldown_Speed, 4, 2, 1, 1) + self.dSB_Plot_B_Field_Tolerance = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.dSB_Plot_B_Field_Tolerance.setMaximum(999.0) + self.dSB_Plot_B_Field_Tolerance.setObjectName("dSB_Plot_B_Field_Tolerance") + self.gridLayout_8.addWidget(self.dSB_Plot_B_Field_Tolerance, 2, 3, 1, 1) + self.comboBox_select_sensor = QtWidgets.QComboBox(parent=self.scrollAreaWidgetContents) + self.comboBox_select_sensor.setEnabled(False) + self.comboBox_select_sensor.setObjectName("comboBox_select_sensor") + self.gridLayout_8.addWidget(self.comboBox_select_sensor, 7, 1, 1, 2) + self.comboBox_plot_settings = QtWidgets.QComboBox(parent=self.scrollAreaWidgetContents) + self.comboBox_plot_settings.setObjectName("comboBox_plot_settings") + self.comboBox_plot_settings.addItem("") + self.comboBox_plot_settings.addItem("") + self.comboBox_plot_settings.addItem("") + self.gridLayout_8.addWidget(self.comboBox_plot_settings, 6, 1, 1, 2) + self.button_update_plots = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + self.button_update_plots.setObjectName("button_update_plots") + self.gridLayout_8.addWidget(self.button_update_plots, 9, 1, 1, 2) + self.label_17 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_17.sizePolicy().hasHeightForWidth()) + self.label_17.setSizePolicy(sizePolicy) + self.label_17.setObjectName("label_17") + self.gridLayout_8.addWidget(self.label_17, 2, 0, 1, 2) + self.line_Plot_Transition_Time = QtWidgets.QLineEdit(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_Plot_Transition_Time.sizePolicy().hasHeightForWidth()) + self.line_Plot_Transition_Time.setSizePolicy(sizePolicy) + self.line_Plot_Transition_Time.setText("") + self.line_Plot_Transition_Time.setObjectName("line_Plot_Transition_Time") + self.gridLayout_8.addWidget(self.line_Plot_Transition_Time, 5, 2, 1, 1) + self.dSB_Plot_Transition_Time_Tolerance = QtWidgets.QDoubleSpinBox(parent=self.scrollAreaWidgetContents) + self.dSB_Plot_Transition_Time_Tolerance.setSingleStep(0.1) + self.dSB_Plot_Transition_Time_Tolerance.setObjectName("dSB_Plot_Transition_Time_Tolerance") + self.gridLayout_8.addWidget(self.dSB_Plot_Transition_Time_Tolerance, 5, 3, 1, 1) + self.SB_sensor_gradient = QtWidgets.QSpinBox(parent=self.scrollAreaWidgetContents) + self.SB_sensor_gradient.setEnabled(False) + self.SB_sensor_gradient.setMinimum(1) + self.SB_sensor_gradient.setMaximum(8) + self.SB_sensor_gradient.setObjectName("SB_sensor_gradient") + self.gridLayout_8.addWidget(self.SB_sensor_gradient, 8, 3, 1, 1) + self.label_8 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_8.setEnabled(False) + self.label_8.setObjectName("label_8") + self.gridLayout_8.addWidget(self.label_8, 8, 2, 1, 1) + self.label_16 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_16.setObjectName("label_16") + self.gridLayout_8.addWidget(self.label_16, 1, 3, 1, 1) + self.checkBox_local_gradient = QtWidgets.QCheckBox(parent=self.scrollAreaWidgetContents) + self.checkBox_local_gradient.setEnabled(False) + self.checkBox_local_gradient.setObjectName("checkBox_local_gradient") + self.gridLayout_8.addWidget(self.checkBox_local_gradient, 8, 1, 1, 1) + self.gridLayout_2.addLayout(self.gridLayout_8, 3, 0, 1, 1) + self.horizontalLayout_2 = QtWidgets.QHBoxLayout() + self.horizontalLayout_2.setObjectName("horizontalLayout_2") + self.label_2 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_2.sizePolicy().hasHeightForWidth()) + self.label_2.setSizePolicy(sizePolicy) + self.label_2.setMinimumSize(QtCore.QSize(80, 0)) + self.label_2.setObjectName("label_2") + self.horizontalLayout_2.addWidget(self.label_2) + self.line_Path = QtWidgets.QLineEdit(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_Path.sizePolicy().hasHeightForWidth()) + self.line_Path.setSizePolicy(sizePolicy) + self.line_Path.setMinimumSize(QtCore.QSize(250, 0)) + self.line_Path.setObjectName("line_Path") + self.horizontalLayout_2.addWidget(self.line_Path) + spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Minimum) + self.horizontalLayout_2.addItem(spacerItem1) + self.gridLayout_2.addLayout(self.horizontalLayout_2, 0, 0, 1, 1) + self.graphWidget_Gradient = PlotWidget(parent=self.scrollAreaWidgetContents) + self.graphWidget_Gradient.setObjectName("graphWidget_Gradient") + self.gridLayout_2.addWidget(self.graphWidget_Gradient, 3, 1, 1, 1) + self.graphWidget_TransitionTime = PlotWidget(parent=self.scrollAreaWidgetContents) + self.graphWidget_TransitionTime.setObjectName("graphWidget_TransitionTime") + self.gridLayout_2.addWidget(self.graphWidget_TransitionTime, 3, 2, 1, 1) + self.gridLayout_3 = QtWidgets.QGridLayout() + self.gridLayout_3.setObjectName("gridLayout_3") + self.button_select_all = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + self.button_select_all.setObjectName("button_select_all") + self.gridLayout_3.addWidget(self.button_select_all, 2, 1, 1, 1) + self.label_3 = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents) + self.label_3.setObjectName("label_3") + self.gridLayout_3.addWidget(self.label_3, 0, 0, 1, 2) + self.listWidget_files = QtWidgets.QListWidget(parent=self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Expanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.listWidget_files.sizePolicy().hasHeightForWidth()) + self.listWidget_files.setSizePolicy(sizePolicy) + self.listWidget_files.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.MultiSelection) + self.listWidget_files.setObjectName("listWidget_files") + self.gridLayout_3.addWidget(self.listWidget_files, 1, 0, 1, 2) + self.button_refresh = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents) + self.button_refresh.setObjectName("button_refresh") + self.gridLayout_3.addWidget(self.button_refresh, 2, 0, 1, 1) + spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Minimum) + self.gridLayout_3.addItem(spacerItem2, 1, 2, 1, 1) + self.gridLayout_2.addLayout(self.gridLayout_3, 1, 0, 1, 1) + self.scrollArea.setWidget(self.scrollAreaWidgetContents) + self.gridLayout.addWidget(self.scrollArea, 0, 0, 1, 1) + MainWindow.setCentralWidget(self.centralwidget) + self.menubar = QtWidgets.QMenuBar(parent=MainWindow) + self.menubar.setGeometry(QtCore.QRect(0, 0, 1250, 18)) + self.menubar.setObjectName("menubar") + self.menuFile = QtWidgets.QMenu(parent=self.menubar) + self.menuFile.setObjectName("menuFile") + MainWindow.setMenuBar(self.menubar) + self.statusbar = QtWidgets.QStatusBar(parent=MainWindow) + self.statusbar.setObjectName("statusbar") + MainWindow.setStatusBar(self.statusbar) + self.actionSet_default = QtGui.QAction(parent=MainWindow) + self.actionSet_default.setObjectName("actionSet_default") + self.actionReset_default = QtGui.QAction(parent=MainWindow) + self.actionReset_default.setObjectName("actionReset_default") + self.menuFile.addAction(self.actionSet_default) + self.menuFile.addAction(self.actionReset_default) + self.menubar.addAction(self.menuFile.menuAction()) + + self.retranslateUi(MainWindow) + QtCore.QMetaObject.connectSlotsByName(MainWindow) + + def retranslateUi(self, MainWindow): + _translate = QtCore.QCoreApplication.translate + MainWindow.setWindowTitle(_translate("MainWindow", "Results")) + self.label_19.setText(_translate("MainWindow", "Plot dT/dt [K/s]")) + self.label_20.setText(_translate("MainWindow", "Plot settings")) + self.label_18.setText(_translate("MainWindow", "Plot T-Gradients [K/cm]")) + self.label_22.setText(_translate("MainWindow", "Plot transition time [s]")) + self.comboBox_plot_settings.setItemText(0, _translate("MainWindow", "Mean of all sensors")) + self.comboBox_plot_settings.setItemText(1, _translate("MainWindow", "Single sensor (absolute value)")) + self.comboBox_plot_settings.setItemText(2, _translate("MainWindow", "Single sensor direction")) + self.button_update_plots.setText(_translate("MainWindow", "Update Plots")) + self.label_17.setText(_translate("MainWindow", "Plot B-fields [µT] (y-direction)")) + self.label_8.setText(_translate("MainWindow", "Use Cernox [1-8]")) + self.label_16.setText(_translate("MainWindow", "Tolerance (+/-)")) + self.checkBox_local_gradient.setText(_translate("MainWindow", "Local Gradient")) + self.label_2.setText(_translate("MainWindow", "Folder Path")) + self.line_Path.setText(_translate("MainWindow", "d:\\Profile\\a2958\\Eigene Dateien\\Python Auslesesoftware\\tf-control\\test_data")) + self.button_select_all.setText(_translate("MainWindow", "Select all")) + self.label_3.setText(_translate("MainWindow", "Files to include")) + self.button_refresh.setText(_translate("MainWindow", "Refresh")) + self.menuFile.setTitle(_translate("MainWindow", "File")) + self.actionSet_default.setText(_translate("MainWindow", "Make current values default")) + self.actionReset_default.setText(_translate("MainWindow", "Reset default values")) +from pyqtgraph import PlotWidget diff --git a/Legacy/TF_Control/design_files/evaporate_LN2_design.py b/Legacy/TF_Control/design_files/evaporate_LN2_design.py new file mode 100644 index 0000000..a00c7db --- /dev/null +++ b/Legacy/TF_Control/design_files/evaporate_LN2_design.py @@ -0,0 +1,513 @@ +# Form implementation generated from reading ui file 'evaporate_LN2_design.ui' +# +# Created by: PyQt6 UI code generator 6.6.1 +# +# WARNING: Any manual changes made to this file will be lost when pyuic6 is +# run again. Do not edit this file unless you know what you are doing. + + +from PyQt6 import QtCore, QtGui, QtWidgets + + +class Ui_MainWindow(object): + def setupUi(self, MainWindow): + MainWindow.setObjectName("MainWindow") + MainWindow.resize(267, 251) + self.centralwidget = QtWidgets.QWidget(parent=MainWindow) + self.centralwidget.setObjectName("centralwidget") + self.widget = QtWidgets.QWidget(parent=self.centralwidget) + self.widget.setGeometry(QtCore.QRect(20, 30, 150, 145)) + self.widget.setObjectName("widget") + self.gridLayout = QtWidgets.QGridLayout(self.widget) + self.gridLayout.setContentsMargins(0, 0, 0, 0) + self.gridLayout.setObjectName("gridLayout") + self.checkBox_PID = QtWidgets.QCheckBox(parent=self.widget) + self.checkBox_PID.setEnabled(False) + self.checkBox_PID.setText("") + self.checkBox_PID.setCheckable(True) + self.checkBox_PID.setObjectName("checkBox_PID") + self.gridLayout.addWidget(self.checkBox_PID, 5, 1, 1, 1) + self.label_5 = QtWidgets.QLabel(parent=self.widget) + self.label_5.setObjectName("label_5") + self.gridLayout.addWidget(self.label_5, 4, 0, 1, 1) + self.Label_R = QtWidgets.QLabel(parent=self.widget) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.Label_R.setPalette(palette) + self.Label_R.setAutoFillBackground(True) + self.Label_R.setText("") + self.Label_R.setObjectName("Label_R") + self.gridLayout.addWidget(self.Label_R, 4, 1, 1, 1) + self.label_3 = QtWidgets.QLabel(parent=self.widget) + self.label_3.setObjectName("label_3") + self.gridLayout.addWidget(self.label_3, 3, 0, 1, 1) + self.label = QtWidgets.QLabel(parent=self.widget) + self.label.setObjectName("label") + self.gridLayout.addWidget(self.label, 0, 0, 1, 1) + self.dSB_T_stop = QtWidgets.QDoubleSpinBox(parent=self.widget) + self.dSB_T_stop.setMaximum(300.0) + self.dSB_T_stop.setObjectName("dSB_T_stop") + self.gridLayout.addWidget(self.dSB_T_stop, 0, 1, 1, 1) + self.dSB_P = QtWidgets.QDoubleSpinBox(parent=self.widget) + self.dSB_P.setObjectName("dSB_P") + self.gridLayout.addWidget(self.dSB_P, 1, 1, 1, 1) + self.label_2 = QtWidgets.QLabel(parent=self.widget) + self.label_2.setObjectName("label_2") + self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1) + self.label_4 = QtWidgets.QLabel(parent=self.widget) + self.label_4.setObjectName("label_4") + self.gridLayout.addWidget(self.label_4, 5, 0, 1, 1) + self.Label_T_is = QtWidgets.QLabel(parent=self.widget) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.Label_T_is.setPalette(palette) + self.Label_T_is.setAutoFillBackground(True) + self.Label_T_is.setText("") + self.Label_T_is.setObjectName("Label_T_is") + self.gridLayout.addWidget(self.Label_T_is, 3, 1, 1, 1) + self.label_6 = QtWidgets.QLabel(parent=self.widget) + self.label_6.setObjectName("label_6") + self.gridLayout.addWidget(self.label_6, 2, 0, 1, 1) + self.Label_P_is = QtWidgets.QLabel(parent=self.widget) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.Label_P_is.setPalette(palette) + self.Label_P_is.setAutoFillBackground(True) + self.Label_P_is.setText("") + self.Label_P_is.setObjectName("Label_P_is") + self.gridLayout.addWidget(self.Label_P_is, 2, 1, 1, 1) + MainWindow.setCentralWidget(self.centralwidget) + self.menubar = QtWidgets.QMenuBar(parent=MainWindow) + self.menubar.setGeometry(QtCore.QRect(0, 0, 267, 26)) + self.menubar.setObjectName("menubar") + self.menuFile = QtWidgets.QMenu(parent=self.menubar) + self.menuFile.setObjectName("menuFile") + MainWindow.setMenuBar(self.menubar) + self.statusbar = QtWidgets.QStatusBar(parent=MainWindow) + self.statusbar.setObjectName("statusbar") + MainWindow.setStatusBar(self.statusbar) + self.actionMake_current_values_default = QtGui.QAction(parent=MainWindow) + self.actionMake_current_values_default.setObjectName("actionMake_current_values_default") + self.actionReset_default_values = QtGui.QAction(parent=MainWindow) + self.actionReset_default_values.setObjectName("actionReset_default_values") + self.menuFile.addAction(self.actionMake_current_values_default) + self.menuFile.addAction(self.actionReset_default_values) + self.menubar.addAction(self.menuFile.menuAction()) + + self.retranslateUi(MainWindow) + QtCore.QMetaObject.connectSlotsByName(MainWindow) + + def retranslateUi(self, MainWindow): + _translate = QtCore.QCoreApplication.translate + MainWindow.setWindowTitle(_translate("MainWindow", "Evaporate LN2")) + self.label_5.setText(_translate("MainWindow", "R[Ohm]")) + self.label_3.setText(_translate("MainWindow", "T_is [K]")) + self.label.setText(_translate("MainWindow", "T_max [K]")) + self.label_2.setText(_translate("MainWindow", "P max [W]")) + self.label_4.setText(_translate("MainWindow", "PID")) + self.label_6.setText(_translate("MainWindow", "P is [W]")) + self.menuFile.setTitle(_translate("MainWindow", "File")) + self.actionMake_current_values_default.setText(_translate("MainWindow", "Make current values default")) + self.actionReset_default_values.setText(_translate("MainWindow", "Reset default values")) diff --git a/Legacy/TF_Control/design_files/evaporate_LN2_design.ui b/Legacy/TF_Control/design_files/evaporate_LN2_design.ui new file mode 100644 index 0000000..6a679ac --- /dev/null +++ b/Legacy/TF_Control/design_files/evaporate_LN2_design.ui @@ -0,0 +1,1402 @@ + + + MainWindow + + + + 0 + 0 + 267 + 251 + + + + Evaporate LN2 + + + + + + 20 + 30 + 150 + 145 + + + + + + + false + + + + + + true + + + + + + + R[Ohm] + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + + + + + + + + T_is [K] + + + + + + + T_max [K] + + + + + + + 300.000000000000000 + + + + + + + + + + P max [W] + + + + + + + PID + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + + + + + + + + P is [W] + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + + + + + + + + + + + 0 + 0 + 267 + 26 + + + + + File + + + + + + + + + + Make current values default + + + + + Reset default values + + + + + + diff --git a/Legacy/TF_Control/design_files/imc_Cernox_calibr.ui b/Legacy/TF_Control/design_files/imc_Cernox_calibr.ui new file mode 100644 index 0000000..f20f712 --- /dev/null +++ b/Legacy/TF_Control/design_files/imc_Cernox_calibr.ui @@ -0,0 +1,873 @@ + + + MainWindow + + + + 0 + 0 + 722 + 534 + + + + imc Cernox Calibration + + + + + + 340 + 10 + 371 + 281 + + + + + + + 350 + 310 + 231 + 16 + + + + 1 + + + 8 + + + Qt::Horizontal + + + QSlider::TicksBelow + + + 1 + + + + + + 150 + 70 + 161 + 20 + + + + Start / Cancel Measurement + + + + + + 150 + 200 + 161 + 21 + + + + Perform Fit + + + + + + 20 + 200 + 111 + 22 + + + + + Fit + + + + + Interpolation + + + + + + + 20 + 360 + 221 + 21 + + + + Load fit data from file path + + + + + + 20 + 240 + 271 + 24 + + + + + + + false + + + + 0 + 0 + + + + false + + + + + + + Interpolation resolution (points / Kelvin) + + + + + + + + + 20 + 310 + 131 + 17 + + + + Use default file path + + + true + + + + + + 20 + 390 + 221 + 21 + + + + + 8 + true + + + + Load only raw data from file path + + + + + + 600 + 310 + 81 + 20 + + + + + + + #Cernox + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + 20 + 70 + 111 + 24 + + + + + + + + 0 + 0 + + + + + + + + T Steps (K) + + + + + + + + + 11 + 22 + 65 + 20 + + + + Connect + + + + + + 20 + 330 + 221 + 24 + + + + + + + File Path + + + + + + + false + + + + 0 + 0 + + + + + + + + + + 20 + 110 + 171 + 24 + + + + + + + + 0 + 0 + + + + + + + + Equilibr. time (s) + + + + + + + + + 20 + 450 + 198 + 24 + + + + + + + Forward data + + + + + + + + LS218 + + + + + Calibrated imc + + + + + + + + + + 20 + 140 + 171 + 24 + + + + + + + + 0 + 0 + + + + + + + + Equilibr. time (s) + + + + + + + + + 200 + 110 + 131 + 22 + + + + + 8 + + + + imc -> t -> LS218 + + + + + + 200 + 140 + 131 + 22 + + + + + 8 + + + + LS218 -> t -> imc + + + + + + + 0 + 0 + 722 + 26 + + + + + File + + + + + + + + + + Make current values default + + + + + Reset default values + + + + + + PlotWidget + QWidget +
pyqtgraph
+ 1 +
+
+ + line_filePath + + + +
diff --git a/Legacy/TF_Control/design_files/imc_Cernox_calibr_CRAFT.ui b/Legacy/TF_Control/design_files/imc_Cernox_calibr_CRAFT.ui new file mode 100644 index 0000000..347fe88 --- /dev/null +++ b/Legacy/TF_Control/design_files/imc_Cernox_calibr_CRAFT.ui @@ -0,0 +1,960 @@ + + + MainWindow + + + + 0 + 0 + 722 + 552 + + + + imc Cernox Calibration CRAFT + + + + + + 340 + 10 + 371 + 281 + + + + + + + 350 + 310 + 231 + 16 + + + + 1 + + + 8 + + + Qt::Horizontal + + + QSlider::TicksBelow + + + 1 + + + + + + 20 + 130 + 161 + 20 + + + + Start / Cancel Measurement + + + + + + 150 + 230 + 161 + 21 + + + + Perform Fit + + + + + + 20 + 230 + 111 + 22 + + + + + Fit + + + + + Interpolation + + + + + + + 20 + 390 + 221 + 21 + + + + Load fit data from file path + + + + + + 20 + 270 + 271 + 24 + + + + + + + false + + + + 0 + 0 + + + + false + + + + + + + Interpolation resolution (points / Kelvin) + + + + + + + + + 20 + 340 + 131 + 17 + + + + Use default file path + + + true + + + + + + 20 + 420 + 221 + 21 + + + + + 8 + true + + + + Load only raw data from file path + + + + + + 600 + 310 + 81 + 20 + + + + + + + #Cernox + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 170 + 170 + 170 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 127 + 127 + 127 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + true + + + 0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + 20 + 100 + 111 + 24 + + + + + + + + 0 + 0 + + + + + + + + T Steps (K) + + + + + + + + + 11 + 22 + 65 + 20 + + + + Connect + + + + + + 20 + 360 + 221 + 24 + + + + + + + File Path + + + + + + + false + + + + 0 + 0 + + + + + + + + + + 20 + 170 + 171 + 24 + + + + + + + + 0 + 0 + + + + + + + + Equilibr. time (s) + + + + + + + + + 20 + 480 + 198 + 24 + + + + + + + Forward data + + + + + + + + LS218 + + + + + Calibrated imc + + + + + + + + + + 20 + 200 + 171 + 24 + + + + + + + + 0 + 0 + + + + + + + + Equilibr. time (s) + + + + + + + + + 200 + 170 + 131 + 22 + + + + + 8 + + + + imc -> t -> LS218 + + + + + + 200 + 200 + 131 + 22 + + + + + 8 + + + + LS218 -> t -> imc + + + + + + 150 + 100 + 111 + 21 + + + + + + + + 0 + 0 + + + + + + + + Wait (s) + + + + + + + + + 20 + 60 + 111 + 24 + + + + + + + + 0 + 0 + + + + + + + + T Start (K) + + + + + + + + + 150 + 60 + 111 + 24 + + + + + + + + 0 + 0 + + + + + + + + T Stop (K) + + + + + + + + + + 0 + 0 + 722 + 21 + + + + + File + + + + + + + + + + Make current values default + + + + + Reset default values + + + + + + PlotWidget + QWidget +
pyqtgraph
+ 1 +
+
+ + line_filePath + + + +
diff --git a/Legacy/TF_Control/design_files/imc_Cernox_calibr_CRAFT_design.py b/Legacy/TF_Control/design_files/imc_Cernox_calibr_CRAFT_design.py new file mode 100644 index 0000000..81c9278 --- /dev/null +++ b/Legacy/TF_Control/design_files/imc_Cernox_calibr_CRAFT_design.py @@ -0,0 +1,433 @@ +# Form implementation generated from reading ui file 'imc_Cernox_calibr_CRAFT.ui' +# +# Created by: PyQt6 UI code generator 6.6.1 +# +# WARNING: Any manual changes made to this file will be lost when pyuic6 is +# run again. Do not edit this file unless you know what you are doing. + + +from PyQt6 import QtCore, QtGui, QtWidgets + + +class Ui_MainWindow(object): + def setupUi(self, MainWindow): + MainWindow.setObjectName("MainWindow") + MainWindow.resize(722, 552) + self.centralwidget = QtWidgets.QWidget(parent=MainWindow) + self.centralwidget.setObjectName("centralwidget") + self.graphWidget = PlotWidget(parent=self.centralwidget) + self.graphWidget.setGeometry(QtCore.QRect(340, 10, 371, 281)) + self.graphWidget.setObjectName("graphWidget") + self.Slider_select_cernox = QtWidgets.QSlider(parent=self.centralwidget) + self.Slider_select_cernox.setGeometry(QtCore.QRect(350, 310, 231, 16)) + self.Slider_select_cernox.setMinimum(1) + self.Slider_select_cernox.setMaximum(8) + self.Slider_select_cernox.setOrientation(QtCore.Qt.Orientation.Horizontal) + self.Slider_select_cernox.setTickPosition(QtWidgets.QSlider.TickPosition.TicksBelow) + self.Slider_select_cernox.setTickInterval(1) + self.Slider_select_cernox.setObjectName("Slider_select_cernox") + self.button_start_measurement = QtWidgets.QPushButton(parent=self.centralwidget) + self.button_start_measurement.setGeometry(QtCore.QRect(20, 130, 161, 20)) + self.button_start_measurement.setObjectName("button_start_measurement") + self.button_perform_calibration = QtWidgets.QPushButton(parent=self.centralwidget) + self.button_perform_calibration.setGeometry(QtCore.QRect(150, 230, 161, 21)) + self.button_perform_calibration.setObjectName("button_perform_calibration") + self.comboBox_Fit_Interpolation = QtWidgets.QComboBox(parent=self.centralwidget) + self.comboBox_Fit_Interpolation.setGeometry(QtCore.QRect(20, 230, 111, 22)) + self.comboBox_Fit_Interpolation.setObjectName("comboBox_Fit_Interpolation") + self.comboBox_Fit_Interpolation.addItem("") + self.comboBox_Fit_Interpolation.addItem("") + self.button_load_data = QtWidgets.QPushButton(parent=self.centralwidget) + self.button_load_data.setGeometry(QtCore.QRect(20, 390, 221, 21)) + self.button_load_data.setObjectName("button_load_data") + self.layoutWidget = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget.setGeometry(QtCore.QRect(20, 270, 271, 24)) + self.layoutWidget.setObjectName("layoutWidget") + self.gridLayout_4 = QtWidgets.QGridLayout(self.layoutWidget) + self.gridLayout_4.setContentsMargins(0, 0, 0, 0) + self.gridLayout_4.setObjectName("gridLayout_4") + self.line_Interpolation_res = QtWidgets.QLineEdit(parent=self.layoutWidget) + self.line_Interpolation_res.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_Interpolation_res.sizePolicy().hasHeightForWidth()) + self.line_Interpolation_res.setSizePolicy(sizePolicy) + self.line_Interpolation_res.setReadOnly(False) + self.line_Interpolation_res.setObjectName("line_Interpolation_res") + self.gridLayout_4.addWidget(self.line_Interpolation_res, 0, 1, 1, 1) + self.label_33 = QtWidgets.QLabel(parent=self.layoutWidget) + self.label_33.setObjectName("label_33") + self.gridLayout_4.addWidget(self.label_33, 0, 0, 1, 1) + self.checkBox_default_file_path = QtWidgets.QCheckBox(parent=self.centralwidget) + self.checkBox_default_file_path.setGeometry(QtCore.QRect(20, 340, 131, 17)) + self.checkBox_default_file_path.setChecked(True) + self.checkBox_default_file_path.setObjectName("checkBox_default_file_path") + self.button_load_rawdata = QtWidgets.QPushButton(parent=self.centralwidget) + self.button_load_rawdata.setGeometry(QtCore.QRect(20, 420, 221, 21)) + font = QtGui.QFont() + font.setPointSize(8) + font.setItalic(True) + self.button_load_rawdata.setFont(font) + self.button_load_rawdata.setObjectName("button_load_rawdata") + self.layoutWidget1 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget1.setGeometry(QtCore.QRect(600, 310, 81, 20)) + self.layoutWidget1.setObjectName("layoutWidget1") + self.gridLayout = QtWidgets.QGridLayout(self.layoutWidget1) + self.gridLayout.setContentsMargins(0, 0, 0, 0) + self.gridLayout.setObjectName("gridLayout") + self.label_31 = QtWidgets.QLabel(parent=self.layoutWidget1) + self.label_31.setObjectName("label_31") + self.gridLayout.addWidget(self.label_31, 0, 0, 1, 1) + self.line_Cernox = QtWidgets.QLabel(parent=self.layoutWidget1) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.line_Cernox.setPalette(palette) + self.line_Cernox.setAutoFillBackground(True) + self.line_Cernox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.line_Cernox.setObjectName("line_Cernox") + self.gridLayout.addWidget(self.line_Cernox, 0, 1, 1, 1) + self.layoutWidget2 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget2.setGeometry(QtCore.QRect(20, 100, 111, 24)) + self.layoutWidget2.setObjectName("layoutWidget2") + self.gridLayout_3 = QtWidgets.QGridLayout(self.layoutWidget2) + self.gridLayout_3.setContentsMargins(0, 0, 0, 0) + self.gridLayout_3.setObjectName("gridLayout_3") + self.line_Tsteps = QtWidgets.QLineEdit(parent=self.layoutWidget2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_Tsteps.sizePolicy().hasHeightForWidth()) + self.line_Tsteps.setSizePolicy(sizePolicy) + self.line_Tsteps.setObjectName("line_Tsteps") + self.gridLayout_3.addWidget(self.line_Tsteps, 0, 1, 1, 1) + self.label_32 = QtWidgets.QLabel(parent=self.layoutWidget2) + self.label_32.setObjectName("label_32") + self.gridLayout_3.addWidget(self.label_32, 0, 0, 1, 1) + self.button_connect = QtWidgets.QPushButton(parent=self.centralwidget) + self.button_connect.setGeometry(QtCore.QRect(11, 22, 65, 20)) + self.button_connect.setObjectName("button_connect") + self.layoutWidget3 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget3.setGeometry(QtCore.QRect(20, 360, 221, 24)) + self.layoutWidget3.setObjectName("layoutWidget3") + self.gridLayout_2 = QtWidgets.QGridLayout(self.layoutWidget3) + self.gridLayout_2.setContentsMargins(0, 0, 0, 0) + self.gridLayout_2.setObjectName("gridLayout_2") + self.label_7 = QtWidgets.QLabel(parent=self.layoutWidget3) + self.label_7.setObjectName("label_7") + self.gridLayout_2.addWidget(self.label_7, 0, 0, 1, 1) + self.line_filePath = QtWidgets.QLineEdit(parent=self.layoutWidget3) + self.line_filePath.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_filePath.sizePolicy().hasHeightForWidth()) + self.line_filePath.setSizePolicy(sizePolicy) + self.line_filePath.setObjectName("line_filePath") + self.gridLayout_2.addWidget(self.line_filePath, 0, 1, 1, 1) + self.layoutWidget_2 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget_2.setGeometry(QtCore.QRect(20, 170, 171, 24)) + self.layoutWidget_2.setObjectName("layoutWidget_2") + self.gridLayout_5 = QtWidgets.QGridLayout(self.layoutWidget_2) + self.gridLayout_5.setContentsMargins(0, 0, 0, 0) + self.gridLayout_5.setObjectName("gridLayout_5") + self.line_Equilibr_time_imc_to_LS = QtWidgets.QLineEdit(parent=self.layoutWidget_2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_Equilibr_time_imc_to_LS.sizePolicy().hasHeightForWidth()) + self.line_Equilibr_time_imc_to_LS.setSizePolicy(sizePolicy) + self.line_Equilibr_time_imc_to_LS.setObjectName("line_Equilibr_time_imc_to_LS") + self.gridLayout_5.addWidget(self.line_Equilibr_time_imc_to_LS, 0, 1, 1, 1) + self.label_34 = QtWidgets.QLabel(parent=self.layoutWidget_2) + self.label_34.setObjectName("label_34") + self.gridLayout_5.addWidget(self.label_34, 0, 0, 1, 1) + self.layoutWidget4 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget4.setGeometry(QtCore.QRect(20, 480, 198, 24)) + self.layoutWidget4.setObjectName("layoutWidget4") + self.gridLayout_6 = QtWidgets.QGridLayout(self.layoutWidget4) + self.gridLayout_6.setContentsMargins(0, 0, 0, 0) + self.gridLayout_6.setObjectName("gridLayout_6") + self.label_35 = QtWidgets.QLabel(parent=self.layoutWidget4) + self.label_35.setObjectName("label_35") + self.gridLayout_6.addWidget(self.label_35, 0, 0, 1, 1) + self.comboBox_LS_imc = QtWidgets.QComboBox(parent=self.layoutWidget4) + self.comboBox_LS_imc.setObjectName("comboBox_LS_imc") + self.comboBox_LS_imc.addItem("") + self.comboBox_LS_imc.addItem("") + self.gridLayout_6.addWidget(self.comboBox_LS_imc, 0, 1, 1, 1) + self.layoutWidget_3 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget_3.setGeometry(QtCore.QRect(20, 200, 171, 24)) + self.layoutWidget_3.setObjectName("layoutWidget_3") + self.gridLayout_7 = QtWidgets.QGridLayout(self.layoutWidget_3) + self.gridLayout_7.setContentsMargins(0, 0, 0, 0) + self.gridLayout_7.setObjectName("gridLayout_7") + self.line_Equilibr_time_LS_to_imc = QtWidgets.QLineEdit(parent=self.layoutWidget_3) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_Equilibr_time_LS_to_imc.sizePolicy().hasHeightForWidth()) + self.line_Equilibr_time_LS_to_imc.setSizePolicy(sizePolicy) + self.line_Equilibr_time_LS_to_imc.setObjectName("line_Equilibr_time_LS_to_imc") + self.gridLayout_7.addWidget(self.line_Equilibr_time_LS_to_imc, 0, 1, 1, 1) + self.label_36 = QtWidgets.QLabel(parent=self.layoutWidget_3) + self.label_36.setObjectName("label_36") + self.gridLayout_7.addWidget(self.label_36, 0, 0, 1, 1) + self.label_37 = QtWidgets.QLabel(parent=self.centralwidget) + self.label_37.setGeometry(QtCore.QRect(200, 170, 131, 22)) + font = QtGui.QFont() + font.setPointSize(8) + self.label_37.setFont(font) + self.label_37.setObjectName("label_37") + self.label_38 = QtWidgets.QLabel(parent=self.centralwidget) + self.label_38.setGeometry(QtCore.QRect(200, 200, 131, 22)) + font = QtGui.QFont() + font.setPointSize(8) + self.label_38.setFont(font) + self.label_38.setObjectName("label_38") + self.layoutWidget_4 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget_4.setGeometry(QtCore.QRect(150, 100, 111, 21)) + self.layoutWidget_4.setObjectName("layoutWidget_4") + self.gridLayout_8 = QtWidgets.QGridLayout(self.layoutWidget_4) + self.gridLayout_8.setContentsMargins(0, 0, 0, 0) + self.gridLayout_8.setObjectName("gridLayout_8") + self.line_Wait_time = QtWidgets.QLineEdit(parent=self.layoutWidget_4) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_Wait_time.sizePolicy().hasHeightForWidth()) + self.line_Wait_time.setSizePolicy(sizePolicy) + self.line_Wait_time.setObjectName("line_Wait_time") + self.gridLayout_8.addWidget(self.line_Wait_time, 0, 1, 1, 1) + self.label_39 = QtWidgets.QLabel(parent=self.layoutWidget_4) + self.label_39.setObjectName("label_39") + self.gridLayout_8.addWidget(self.label_39, 0, 0, 1, 1) + self.layoutWidget_5 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget_5.setGeometry(QtCore.QRect(20, 60, 111, 24)) + self.layoutWidget_5.setObjectName("layoutWidget_5") + self.gridLayout_9 = QtWidgets.QGridLayout(self.layoutWidget_5) + self.gridLayout_9.setContentsMargins(0, 0, 0, 0) + self.gridLayout_9.setObjectName("gridLayout_9") + self.line_Tstart = QtWidgets.QLineEdit(parent=self.layoutWidget_5) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_Tstart.sizePolicy().hasHeightForWidth()) + self.line_Tstart.setSizePolicy(sizePolicy) + self.line_Tstart.setObjectName("line_Tstart") + self.gridLayout_9.addWidget(self.line_Tstart, 0, 1, 1, 1) + self.label_40 = QtWidgets.QLabel(parent=self.layoutWidget_5) + self.label_40.setObjectName("label_40") + self.gridLayout_9.addWidget(self.label_40, 0, 0, 1, 1) + self.layoutWidget_6 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget_6.setGeometry(QtCore.QRect(150, 60, 111, 24)) + self.layoutWidget_6.setObjectName("layoutWidget_6") + self.gridLayout_10 = QtWidgets.QGridLayout(self.layoutWidget_6) + self.gridLayout_10.setContentsMargins(0, 0, 0, 0) + self.gridLayout_10.setObjectName("gridLayout_10") + self.line_Tstop = QtWidgets.QLineEdit(parent=self.layoutWidget_6) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_Tstop.sizePolicy().hasHeightForWidth()) + self.line_Tstop.setSizePolicy(sizePolicy) + self.line_Tstop.setObjectName("line_Tstop") + self.gridLayout_10.addWidget(self.line_Tstop, 0, 1, 1, 1) + self.label_41 = QtWidgets.QLabel(parent=self.layoutWidget_6) + self.label_41.setObjectName("label_41") + self.gridLayout_10.addWidget(self.label_41, 0, 0, 1, 1) + MainWindow.setCentralWidget(self.centralwidget) + self.menubar = QtWidgets.QMenuBar(parent=MainWindow) + self.menubar.setGeometry(QtCore.QRect(0, 0, 722, 21)) + self.menubar.setObjectName("menubar") + self.menuFile = QtWidgets.QMenu(parent=self.menubar) + self.menuFile.setObjectName("menuFile") + MainWindow.setMenuBar(self.menubar) + self.statusbar = QtWidgets.QStatusBar(parent=MainWindow) + self.statusbar.setObjectName("statusbar") + MainWindow.setStatusBar(self.statusbar) + self.actionSet_default = QtGui.QAction(parent=MainWindow) + self.actionSet_default.setObjectName("actionSet_default") + self.actionReset_default = QtGui.QAction(parent=MainWindow) + self.actionReset_default.setObjectName("actionReset_default") + self.menuFile.addAction(self.actionSet_default) + self.menuFile.addAction(self.actionReset_default) + self.menubar.addAction(self.menuFile.menuAction()) + + self.retranslateUi(MainWindow) + QtCore.QMetaObject.connectSlotsByName(MainWindow) + + def retranslateUi(self, MainWindow): + _translate = QtCore.QCoreApplication.translate + MainWindow.setWindowTitle(_translate("MainWindow", "imc Cernox Calibration CRAFT")) + self.button_start_measurement.setText(_translate("MainWindow", "Start / Cancel Measurement")) + self.button_perform_calibration.setText(_translate("MainWindow", "Perform Fit")) + self.comboBox_Fit_Interpolation.setItemText(0, _translate("MainWindow", "Fit")) + self.comboBox_Fit_Interpolation.setItemText(1, _translate("MainWindow", "Interpolation")) + self.button_load_data.setText(_translate("MainWindow", "Load fit data from file path")) + self.label_33.setText(_translate("MainWindow", "Interpolation resolution (points / Kelvin)")) + self.checkBox_default_file_path.setText(_translate("MainWindow", "Use default file path")) + self.button_load_rawdata.setText(_translate("MainWindow", "Load only raw data from file path")) + self.label_31.setText(_translate("MainWindow", "#Cernox")) + self.line_Cernox.setText(_translate("MainWindow", "0")) + self.label_32.setText(_translate("MainWindow", "T Steps (K)")) + self.button_connect.setText(_translate("MainWindow", "Connect")) + self.label_7.setText(_translate("MainWindow", "File Path")) + self.label_34.setText(_translate("MainWindow", "Equilibr. time (s)")) + self.label_35.setText(_translate("MainWindow", "Forward data")) + self.comboBox_LS_imc.setItemText(0, _translate("MainWindow", "LS218")) + self.comboBox_LS_imc.setItemText(1, _translate("MainWindow", "Calibrated imc")) + self.label_36.setText(_translate("MainWindow", "Equilibr. time (s)")) + self.label_37.setText(_translate("MainWindow", "imc -> t -> LS218")) + self.label_38.setText(_translate("MainWindow", "LS218 -> t -> imc")) + self.label_39.setText(_translate("MainWindow", "Wait (s)")) + self.label_40.setText(_translate("MainWindow", "T Start (K)")) + self.label_41.setText(_translate("MainWindow", "T Stop (K)")) + self.menuFile.setTitle(_translate("MainWindow", "File")) + self.actionSet_default.setText(_translate("MainWindow", "Make current values default")) + self.actionReset_default.setText(_translate("MainWindow", "Reset default values")) +from pyqtgraph import PlotWidget + + +if __name__ == "__main__": + import sys + app = QtWidgets.QApplication(sys.argv) + MainWindow = QtWidgets.QMainWindow() + ui = Ui_MainWindow() + ui.setupUi(MainWindow) + MainWindow.show() + sys.exit(app.exec()) diff --git a/Legacy/TF_Control/design_files/imc_Cernox_calibr_design.py b/Legacy/TF_Control/design_files/imc_Cernox_calibr_design.py new file mode 100644 index 0000000..8a23331 --- /dev/null +++ b/Legacy/TF_Control/design_files/imc_Cernox_calibr_design.py @@ -0,0 +1,379 @@ +# Form implementation generated from reading ui file 'imc_Cernox_calibr.ui' +# +# Created by: PyQt6 UI code generator 6.6.1 +# +# WARNING: Any manual changes made to this file will be lost when pyuic6 is +# run again. Do not edit this file unless you know what you are doing. + + +from PyQt6 import QtCore, QtGui, QtWidgets + + +class Ui_MainWindow(object): + def setupUi(self, MainWindow): + MainWindow.setObjectName("MainWindow") + MainWindow.resize(722, 534) + self.centralwidget = QtWidgets.QWidget(parent=MainWindow) + self.centralwidget.setObjectName("centralwidget") + self.graphWidget = PlotWidget(parent=self.centralwidget) + self.graphWidget.setGeometry(QtCore.QRect(340, 10, 371, 281)) + self.graphWidget.setObjectName("graphWidget") + self.Slider_select_cernox = QtWidgets.QSlider(parent=self.centralwidget) + self.Slider_select_cernox.setGeometry(QtCore.QRect(350, 310, 231, 16)) + self.Slider_select_cernox.setMinimum(1) + self.Slider_select_cernox.setMaximum(8) + self.Slider_select_cernox.setOrientation(QtCore.Qt.Orientation.Horizontal) + self.Slider_select_cernox.setTickPosition(QtWidgets.QSlider.TickPosition.TicksBelow) + self.Slider_select_cernox.setTickInterval(1) + self.Slider_select_cernox.setObjectName("Slider_select_cernox") + self.button_start_measurement = QtWidgets.QPushButton(parent=self.centralwidget) + self.button_start_measurement.setGeometry(QtCore.QRect(150, 70, 161, 20)) + self.button_start_measurement.setObjectName("button_start_measurement") + self.button_perform_calibration = QtWidgets.QPushButton(parent=self.centralwidget) + self.button_perform_calibration.setGeometry(QtCore.QRect(150, 200, 161, 21)) + self.button_perform_calibration.setObjectName("button_perform_calibration") + self.comboBox_Fit_Interpolation = QtWidgets.QComboBox(parent=self.centralwidget) + self.comboBox_Fit_Interpolation.setGeometry(QtCore.QRect(20, 200, 111, 22)) + self.comboBox_Fit_Interpolation.setObjectName("comboBox_Fit_Interpolation") + self.comboBox_Fit_Interpolation.addItem("") + self.comboBox_Fit_Interpolation.addItem("") + self.button_load_data = QtWidgets.QPushButton(parent=self.centralwidget) + self.button_load_data.setGeometry(QtCore.QRect(20, 360, 221, 21)) + self.button_load_data.setObjectName("button_load_data") + self.layoutWidget = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget.setGeometry(QtCore.QRect(20, 240, 271, 24)) + self.layoutWidget.setObjectName("layoutWidget") + self.gridLayout_4 = QtWidgets.QGridLayout(self.layoutWidget) + self.gridLayout_4.setContentsMargins(0, 0, 0, 0) + self.gridLayout_4.setObjectName("gridLayout_4") + self.line_Interpolation_res = QtWidgets.QLineEdit(parent=self.layoutWidget) + self.line_Interpolation_res.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_Interpolation_res.sizePolicy().hasHeightForWidth()) + self.line_Interpolation_res.setSizePolicy(sizePolicy) + self.line_Interpolation_res.setReadOnly(False) + self.line_Interpolation_res.setObjectName("line_Interpolation_res") + self.gridLayout_4.addWidget(self.line_Interpolation_res, 0, 1, 1, 1) + self.label_33 = QtWidgets.QLabel(parent=self.layoutWidget) + self.label_33.setObjectName("label_33") + self.gridLayout_4.addWidget(self.label_33, 0, 0, 1, 1) + self.checkBox_default_file_path = QtWidgets.QCheckBox(parent=self.centralwidget) + self.checkBox_default_file_path.setGeometry(QtCore.QRect(20, 310, 131, 17)) + self.checkBox_default_file_path.setChecked(True) + self.checkBox_default_file_path.setObjectName("checkBox_default_file_path") + self.button_load_rawdata = QtWidgets.QPushButton(parent=self.centralwidget) + self.button_load_rawdata.setGeometry(QtCore.QRect(20, 390, 221, 21)) + font = QtGui.QFont() + font.setPointSize(8) + font.setItalic(True) + self.button_load_rawdata.setFont(font) + self.button_load_rawdata.setObjectName("button_load_rawdata") + self.layoutWidget1 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget1.setGeometry(QtCore.QRect(600, 310, 81, 20)) + self.layoutWidget1.setObjectName("layoutWidget1") + self.gridLayout = QtWidgets.QGridLayout(self.layoutWidget1) + self.gridLayout.setContentsMargins(0, 0, 0, 0) + self.gridLayout.setObjectName("gridLayout") + self.label_31 = QtWidgets.QLabel(parent=self.layoutWidget1) + self.label_31.setObjectName("label_31") + self.gridLayout.addWidget(self.label_31, 0, 0, 1, 1) + self.line_Cernox = QtWidgets.QLabel(parent=self.layoutWidget1) + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ToolTipText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Light, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Midlight, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Dark, brush) + brush = QtGui.QBrush(QtGui.QColor(170, 170, 170)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Mid, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, brush) + brush = QtGui.QBrush(QtGui.QColor(127, 127, 127)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Shadow, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, brush) + brush = QtGui.QBrush(QtGui.QColor(255, 255, 220)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipBase, brush) + brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) + brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) + palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ToolTipText, brush) + self.line_Cernox.setPalette(palette) + self.line_Cernox.setAutoFillBackground(True) + self.line_Cernox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.line_Cernox.setObjectName("line_Cernox") + self.gridLayout.addWidget(self.line_Cernox, 0, 1, 1, 1) + self.layoutWidget2 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget2.setGeometry(QtCore.QRect(20, 70, 111, 24)) + self.layoutWidget2.setObjectName("layoutWidget2") + self.gridLayout_3 = QtWidgets.QGridLayout(self.layoutWidget2) + self.gridLayout_3.setContentsMargins(0, 0, 0, 0) + self.gridLayout_3.setObjectName("gridLayout_3") + self.line_Tsteps = QtWidgets.QLineEdit(parent=self.layoutWidget2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_Tsteps.sizePolicy().hasHeightForWidth()) + self.line_Tsteps.setSizePolicy(sizePolicy) + self.line_Tsteps.setObjectName("line_Tsteps") + self.gridLayout_3.addWidget(self.line_Tsteps, 0, 1, 1, 1) + self.label_32 = QtWidgets.QLabel(parent=self.layoutWidget2) + self.label_32.setObjectName("label_32") + self.gridLayout_3.addWidget(self.label_32, 0, 0, 1, 1) + self.button_connect = QtWidgets.QPushButton(parent=self.centralwidget) + self.button_connect.setGeometry(QtCore.QRect(11, 22, 65, 20)) + self.button_connect.setObjectName("button_connect") + self.layoutWidget3 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget3.setGeometry(QtCore.QRect(20, 330, 221, 24)) + self.layoutWidget3.setObjectName("layoutWidget3") + self.gridLayout_2 = QtWidgets.QGridLayout(self.layoutWidget3) + self.gridLayout_2.setContentsMargins(0, 0, 0, 0) + self.gridLayout_2.setObjectName("gridLayout_2") + self.label_7 = QtWidgets.QLabel(parent=self.layoutWidget3) + self.label_7.setObjectName("label_7") + self.gridLayout_2.addWidget(self.label_7, 0, 0, 1, 1) + self.line_filePath = QtWidgets.QLineEdit(parent=self.layoutWidget3) + self.line_filePath.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_filePath.sizePolicy().hasHeightForWidth()) + self.line_filePath.setSizePolicy(sizePolicy) + self.line_filePath.setObjectName("line_filePath") + self.gridLayout_2.addWidget(self.line_filePath, 0, 1, 1, 1) + self.layoutWidget_2 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget_2.setGeometry(QtCore.QRect(20, 110, 171, 24)) + self.layoutWidget_2.setObjectName("layoutWidget_2") + self.gridLayout_5 = QtWidgets.QGridLayout(self.layoutWidget_2) + self.gridLayout_5.setContentsMargins(0, 0, 0, 0) + self.gridLayout_5.setObjectName("gridLayout_5") + self.line_Equilibr_time_imc_to_LS = QtWidgets.QLineEdit(parent=self.layoutWidget_2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_Equilibr_time_imc_to_LS.sizePolicy().hasHeightForWidth()) + self.line_Equilibr_time_imc_to_LS.setSizePolicy(sizePolicy) + self.line_Equilibr_time_imc_to_LS.setObjectName("line_Equilibr_time_imc_to_LS") + self.gridLayout_5.addWidget(self.line_Equilibr_time_imc_to_LS, 0, 1, 1, 1) + self.label_34 = QtWidgets.QLabel(parent=self.layoutWidget_2) + self.label_34.setObjectName("label_34") + self.gridLayout_5.addWidget(self.label_34, 0, 0, 1, 1) + self.layoutWidget4 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget4.setGeometry(QtCore.QRect(20, 450, 198, 24)) + self.layoutWidget4.setObjectName("layoutWidget4") + self.gridLayout_6 = QtWidgets.QGridLayout(self.layoutWidget4) + self.gridLayout_6.setContentsMargins(0, 0, 0, 0) + self.gridLayout_6.setObjectName("gridLayout_6") + self.label_35 = QtWidgets.QLabel(parent=self.layoutWidget4) + self.label_35.setObjectName("label_35") + self.gridLayout_6.addWidget(self.label_35, 0, 0, 1, 1) + self.comboBox_LS_imc = QtWidgets.QComboBox(parent=self.layoutWidget4) + self.comboBox_LS_imc.setObjectName("comboBox_LS_imc") + self.comboBox_LS_imc.addItem("") + self.comboBox_LS_imc.addItem("") + self.gridLayout_6.addWidget(self.comboBox_LS_imc, 0, 1, 1, 1) + self.layoutWidget_3 = QtWidgets.QWidget(parent=self.centralwidget) + self.layoutWidget_3.setGeometry(QtCore.QRect(20, 140, 171, 24)) + self.layoutWidget_3.setObjectName("layoutWidget_3") + self.gridLayout_7 = QtWidgets.QGridLayout(self.layoutWidget_3) + self.gridLayout_7.setContentsMargins(0, 0, 0, 0) + self.gridLayout_7.setObjectName("gridLayout_7") + self.line_Equilibr_time_LS_to_imc = QtWidgets.QLineEdit(parent=self.layoutWidget_3) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_Equilibr_time_LS_to_imc.sizePolicy().hasHeightForWidth()) + self.line_Equilibr_time_LS_to_imc.setSizePolicy(sizePolicy) + self.line_Equilibr_time_LS_to_imc.setObjectName("line_Equilibr_time_LS_to_imc") + self.gridLayout_7.addWidget(self.line_Equilibr_time_LS_to_imc, 0, 1, 1, 1) + self.label_36 = QtWidgets.QLabel(parent=self.layoutWidget_3) + self.label_36.setObjectName("label_36") + self.gridLayout_7.addWidget(self.label_36, 0, 0, 1, 1) + self.label_37 = QtWidgets.QLabel(parent=self.centralwidget) + self.label_37.setGeometry(QtCore.QRect(200, 110, 131, 22)) + font = QtGui.QFont() + font.setPointSize(8) + self.label_37.setFont(font) + self.label_37.setObjectName("label_37") + self.label_38 = QtWidgets.QLabel(parent=self.centralwidget) + self.label_38.setGeometry(QtCore.QRect(200, 140, 131, 22)) + font = QtGui.QFont() + font.setPointSize(8) + self.label_38.setFont(font) + self.label_38.setObjectName("label_38") + MainWindow.setCentralWidget(self.centralwidget) + self.menubar = QtWidgets.QMenuBar(parent=MainWindow) + self.menubar.setGeometry(QtCore.QRect(0, 0, 722, 26)) + self.menubar.setObjectName("menubar") + self.menuFile = QtWidgets.QMenu(parent=self.menubar) + self.menuFile.setObjectName("menuFile") + MainWindow.setMenuBar(self.menubar) + self.statusbar = QtWidgets.QStatusBar(parent=MainWindow) + self.statusbar.setObjectName("statusbar") + MainWindow.setStatusBar(self.statusbar) + self.actionSet_default = QtGui.QAction(parent=MainWindow) + self.actionSet_default.setObjectName("actionSet_default") + self.actionReset_default = QtGui.QAction(parent=MainWindow) + self.actionReset_default.setObjectName("actionReset_default") + self.menuFile.addAction(self.actionSet_default) + self.menuFile.addAction(self.actionReset_default) + self.menubar.addAction(self.menuFile.menuAction()) + + self.retranslateUi(MainWindow) + QtCore.QMetaObject.connectSlotsByName(MainWindow) + + def retranslateUi(self, MainWindow): + _translate = QtCore.QCoreApplication.translate + MainWindow.setWindowTitle(_translate("MainWindow", "imc Cernox Calibration")) + self.button_start_measurement.setText(_translate("MainWindow", "Start / Cancel Measurement")) + self.button_perform_calibration.setText(_translate("MainWindow", "Perform Fit")) + self.comboBox_Fit_Interpolation.setItemText(0, _translate("MainWindow", "Fit")) + self.comboBox_Fit_Interpolation.setItemText(1, _translate("MainWindow", "Interpolation")) + self.button_load_data.setText(_translate("MainWindow", "Load fit data from file path")) + self.label_33.setText(_translate("MainWindow", "Interpolation resolution (points / Kelvin)")) + self.checkBox_default_file_path.setText(_translate("MainWindow", "Use default file path")) + self.button_load_rawdata.setText(_translate("MainWindow", "Load only raw data from file path")) + self.label_31.setText(_translate("MainWindow", "#Cernox")) + self.line_Cernox.setText(_translate("MainWindow", "0")) + self.label_32.setText(_translate("MainWindow", "T Steps (K)")) + self.button_connect.setText(_translate("MainWindow", "Connect")) + self.label_7.setText(_translate("MainWindow", "File Path")) + self.label_34.setText(_translate("MainWindow", "Equilibr. time (s)")) + self.label_35.setText(_translate("MainWindow", "Forward data")) + self.comboBox_LS_imc.setItemText(0, _translate("MainWindow", "LS218")) + self.comboBox_LS_imc.setItemText(1, _translate("MainWindow", "Calibrated imc")) + self.label_36.setText(_translate("MainWindow", "Equilibr. time (s)")) + self.label_37.setText(_translate("MainWindow", "imc -> t -> LS218")) + self.label_38.setText(_translate("MainWindow", "LS218 -> t -> imc")) + self.menuFile.setTitle(_translate("MainWindow", "File")) + self.actionSet_default.setText(_translate("MainWindow", "Make current values default")) + self.actionReset_default.setText(_translate("MainWindow", "Reset default values")) +from pyqtgraph import PlotWidget + + +if __name__ == "__main__": + import sys + app = QtWidgets.QApplication(sys.argv) + MainWindow = QtWidgets.QMainWindow() + ui = Ui_MainWindow() + ui.setupUi(MainWindow) + MainWindow.show() + sys.exit(app.exec()) diff --git a/Legacy/TF_Control/evaporate_LN2.py b/Legacy/TF_Control/evaporate_LN2.py new file mode 100644 index 0000000..9ef7ec1 --- /dev/null +++ b/Legacy/TF_Control/evaporate_LN2.py @@ -0,0 +1,249 @@ +from PyQt6.QtGui import * +from PyQt6.QtWidgets import * +from PyQt6.QtCore import * + +import multiprocessing +import multiprocessing.managers + +import time +from timeit import default_timer as timer +from datetime import datetime +import collections +from simple_pid import PID +import traceback, sys, os +import numpy as np +import pyqtgraph as pg +from design_files.evaporate_LN2_design import Ui_MainWindow + +# Get the current script's directory +current_dir = os.path.dirname(os.path.abspath(__file__)) +# Get the parent directory by going one level up +parent_dir = os.path.dirname(current_dir) +# Add the parent directory to sys.path +sys.path.append(parent_dir) +from scripts import import_txt + + +class WorkerSignals(QObject): + ''' + Defines the signals available from a running worker thread. + Supported signals are: + finished: No data + error: tuple (exctype, value, traceback.format_exc() ) + result: object data returned from processing, anything + progress: int indicating % progress + ''' + finished = pyqtSignal() + error = pyqtSignal(tuple) + result = pyqtSignal(object) + progress = pyqtSignal(list) + + +class Worker(QRunnable): + ''' + Worker thread + Inherits from QRunnable to handler worker thread setup, signals and wrap-up. + :param callback: The function callback to run on this worker thread. Supplied args and + kwargs will be passed through to the runner. + :type callback: function + :param args: Arguments to pass to the callback function + :param kwargs: Keywords to pass to the callback function + ''' + + def __init__(self, fn, *args, **kwargs): + super(Worker, self).__init__() + + # Store constructor arguments (re-used for processing) + self.fn = fn + self.args = args + self.kwargs = kwargs + self.signals = WorkerSignals() + + # Add the callback to our kwargs + self.kwargs['progress_callback'] = self.signals.progress + + @pyqtSlot() + def run(self): + ''' + Initialise the runner function with passed args, kwargs. + ''' + + # Retrieve args/kwargs here; and fire processing using them + try: + result = self.fn(*self.args, **self.kwargs) + except: + traceback.print_exc() + exctype, value = sys.exc_info()[:2] + self.signals.error.emit((exctype, value, traceback.format_exc())) + else: + self.signals.result.emit(result) # Return the result of the processing + finally: + self.signals.finished.emit() # Done + +def get_float(Qline,default = 0): #gets value from QLineEdit and converts it to float. If text is empty or cannot be converted, it returns "default" which is 0, if not specified + try: + out = float(Qline.text()) + except: + out = default + return(out) + +def update_single_entry(dict,name,ind,val): + '''updates a single value in global vars. To do so it gets the current value of "dict('name')", replaces "val" at indec "ind" and sends this back''' + data = dict.get(f"{name}") #get data + print(data) + data[ind] = val #replace entry + dict.update({f"{name}":data}) #send data back + +def update_single_entry(dict,name,ind,val): #updates a single value in global vars. To do so it gets the current value of "dict('name')", replaces "val" at indec "ind" and sends this back + data = dict.get(f"{name}") #get data + data[ind] = val #replace entry + dict.update({f"{name}":data}) #send data back + +class MainWindow(QMainWindow, Ui_MainWindow): + def __init__(self, *args, **kwargs): + # Get the current script's directory + self.current_dir = os.path.dirname(os.path.abspath(__file__)) + # Get the parent directory by going one level up + self.parent_dir = os.path.dirname(current_dir) + + #establish connection to global variables} + try: #try to connect to global variables + manager = multiprocessing.managers.BaseManager(address=('localhost',5001), authkey=b'') + manager.connect() + manager.connect() + manager.register('sync_BK_9132B') + manager.register('sync_LS_336') + self.sync_BK_9132B = manager.sync_BK_9132B() + self.sync_LS_336 = manager.sync_LS_336() + except: #open global variables, if no connection can be made (i.e. it is not running). Then connect to it + # subprocess.call(['D:\\Python instrument drivers\\env\\Scripts\\python.exe', 'D:\\Python instrument drivers\\StandAlones\\global_variables.py']) + self.global_vars = QProcess() + self.global_vars.start(self.current_dir+"\\.venv\\Scripts\\python.exe", [self.current_dir+'\\global_variables_TF.py']) + manager.connect() + manager.register('sync_BK_9132B') + manager.register('sync_LS_336') + self.sync_BK_9132B = manager.sync_BK_9132B() + self.sync_LS_336 = manager.sync_LS_336() + print('!!!\nI opened global variables myself. If you close me, global variables will shut down too. Consider starting global variables in own instance for more security\n!!!') + + #fill in variables, in case they are not defined in global variables + + + #import Gui from QT designer file + super(MainWindow, self).__init__(*args, **kwargs) + self.setupUi(self) + + #setup plot + + #define signals and slots + self.actionMake_current_values_default.triggered.connect(self.save_default) + self.actionReset_default_values.triggered.connect(self.load_default) + + #define constants + self.running = True #true while app is running + self.timing_ = 1 #wait time in function "update_Data". + + self.SB_all = [self.dSB_T_stop, self.dSB_P] #list of all Spinboxes, helps for saving and loading of default values + self.checkBoxes_all = [self.checkBox_PID] + + #read default values from config and set values in gui + self.load_default() + + #set up pyQT threadpool + self.threadpool = QThreadPool() + + #start standard threads + worker = Worker(self.update_Data) + worker.signals.progress.connect(self.update_gui) #The values from update_Data must be transmitted via a signal, so that the gui is set in the main thread. If the plots are not updated in the main thread, they freeze. + self.threadpool.start(worker) + + def update_Data(self, progress_callback): + '''gets data from global variables and triggers update_gui''' + #set small voltage to get a value of R + #['setU', 'setI', 'OutputOn'] + update_single_entry(self.sync_BK_9132B,'setU',0,1) + update_single_entry(self.sync_BK_9132B,'setI',0,2) + update_single_entry(self.sync_BK_9132B,'OutputOn',0,True) + T_is = self.sync_LS_336.get('T')[3] #get value of PT-100 + time.sleep(2) + R = 40 + P = 0 + while self.running == True: + if T_is < self.dSB_T_stop.value(): + #turn heater on + T_is = self.sync_LS_336.get('T')[3] #get value of PT-100 + U = self.sync_BK_9132B.get('U')[0] #get U + I = self.sync_BK_9132B.get('I')[0] #get I + P = self.sync_BK_9132B.get('P')[0] + try: + R = U/I #get R + set_U = np.sqrt(self.dSB_P.value()*R) #calculate U so that P max is reached + except ZeroDivisionError: + R = np.nan + set_U = 1 #set 1 V to measure R in next iteration + update_single_entry(self.sync_BK_9132B,'setU',0,set_U) #send new value to device + update_single_entry(self.sync_BK_9132B,'setI',0,2) #send new value to device + update_single_entry(self.sync_BK_9132B,'OutputOn',0,True) + else: + T_is = self.sync_LS_336.get('T')[3] #get value of PT-100 + #turn off heater + update_single_entry(self.sync_BK_9132B,'setU',0,0) + update_single_entry(self.sync_BK_9132B,'setI',0,0) + update_single_entry(self.sync_BK_9132B,'OutputOn',0,False) + P = self.sync_BK_9132B.get('P')[0] + progress_callback.emit([T_is,R,P]) + time.sleep(1) + #turn off heater when programm is closed + update_single_entry(self.sync_BK_9132B,'setU',0,0) + update_single_entry(self.sync_BK_9132B,'setI',0,0) + update_single_entry(self.sync_BK_9132B,'OutputOn',0,False) + + def update_gui(self,data):#sets labels to new values + self.Label_T_is.setText(f"{data[0]}") + self.Label_R.setText(f"{data[1]}") + self.Label_P_is.setText(f"{data[2]}") + + + def save_default(self): + #saves current set values to txt file in subdirectory configs. Saves values from al spin boxes and text lines. + #Overwrites old values in config file. + path = self.current_dir+'\\configs\\evaporate_LN2_config.txt' #To make shure the config file is at the right place, independent from where the program is started the location of the file is retrieved + file = open(path,'w') + for SB in self.SB_all: + temp = f"{SB.value()}" + file.write(temp+'\t') + for c in self.checkBoxes_all: + file.write(str(c.isChecked())+'\t') + + file.write('\n') + file.close + + def load_default(self): + #reads default values from config file in subdirectory config and sets the values in gui. (If no config file exists, it does nothing.) + path = self.current_dir+'\\configs\\evaporate_LN2_config.txt' #To make shure the config file is read from the right place, independent from where the program is started the location of the file is retrieved + try: #exit function if config file does not exist + vals = import_txt.read_raw(path) + except: + return + + + for SB,v in zip(self.SB_all,vals[0]): + if type(SB) == QDoubleSpinBox: + v = float(v) #convert string in txt to float, so number can be set in dSB + else: + v = int(v) #convert string in txt to int, so number can be set in SB + SB.setValue(v) + + for c,v in zip(self.checkBoxes_all,vals[0][len(self.SB_all):]): + c.setChecked(v == 'True') + + def closeEvent(self,event): #when window is closed self.running and self.monitor are set to False, so all threads stop + self.running = False + time.sleep(2) + event.accept() + +app = QApplication(sys.argv) + +window = MainWindow() +window.show() +app.exec() \ No newline at end of file diff --git a/Legacy/TF_Control/global_variables_TF.py b/Legacy/TF_Control/global_variables_TF.py new file mode 100644 index 0000000..caca12e --- /dev/null +++ b/Legacy/TF_Control/global_variables_TF.py @@ -0,0 +1,97 @@ +import multiprocessing +import multiprocessing.managers + +#This starts a server (mulitprocessing basemanager) where all standalones store their current measurement values and set_parameters. This data can be accessed from +#all python instances running on this computer. It can be extended so it can be reached from other PCs aswell. +#The dictionarioes which store the values must be initialized and registered here. To register a new dictionary an (empty) dictionary must be created and a function +#must be defined which returns this dictionary. After that the dictionary must be registered in the manager. This is done with: +#MyListManager.register('syncdict',get_dict) where 'syncdict' is the name that other programs use to reach this dictionary and get_dict the function which return the +#dictionary. +#The values don't have to be stored in dictionaries. List or simple variables also work. But I haven't tested all posibillities. +#To access these dictionaries from other programs, a basemanager must be created in the program which is then connected to the manager created here. There the +#dictionary must also be registered. Finally a local variable is created which points at the dictionary on this server. The following example is from Keysigh_U2042XA_control + +#manager = multiprocessing.managers.BaseManager(address=('localhost',5001), authkey=b'') +#manager.connect() +#manager.register('sync_K_U2042XA') +#self.sync_K_U2042XA = manager.sync_K_U2042XA() <- the local variable "self.sync_K_U2042XA" can have any name + +class MyListManager(multiprocessing.managers.BaseManager): + pass + +#!!! +#please use unambigous names +#!!! + +syncdict = {} #dummy where everything can be stored +sync_K_U2042XA = {} +sync_K_34461A = {} +sync_T_LS6081B = {} +sync_LS_336 = {} +sync_LS_218 = {} +sync_BK_9131B = {} +sync_BK_9132B = {} +sync_BK_9132B_2 = {} +sync_BK_9174B = {} +sync_BK_9174B_2 = {} +sync_Keithley_2230G = {} +sync_imc = {} +sync_converted = {} +sync_main = {} #Sync dictionary for the control of Main.py (for the automation of measurements) + +def get_dict(): + return syncdict +def get_dict_sync_K_U2042XA(): + return sync_K_U2042XA +def get_dict_sync_K_34461A(): + return sync_K_34461A +def get_dict_sync_T_LS6081B(): + return sync_T_LS6081B +def get_dict_sync_LS_336(): + return sync_LS_336 +def get_dict_sync_LS_218(): + return sync_LS_218 +def get_dict_sync_BK_9131B(): + return sync_BK_9131B +def get_dict_sync_BK_9132B(): + return sync_BK_9132B +def get_dict_sync_BK_9132B_2(): + return sync_BK_9132B_2 +def get_dict_sync_BK_9174B(): + return sync_BK_9174B +def get_dict_sync_BK_9174B_2(): + return sync_BK_9174B_2 +def get_dict_sync_Keithley_2230G(): + return sync_Keithley_2230G +def get_dict_sync_imc(): + return sync_imc +def get_dict_sync_converted(): + return sync_converted +def get_dict_main(): + return sync_main + +def main(): + MyListManager.register('syncdict',get_dict) + MyListManager.register('sync_K_U2042XA',get_dict_sync_K_U2042XA) + MyListManager.register('sync_T_LS6081B',get_dict_sync_T_LS6081B) + MyListManager.register('sync_LS_336',get_dict_sync_LS_336) + MyListManager.register('sync_K_34461A',get_dict_sync_K_34461A) + MyListManager.register('sync_LS_218',get_dict_sync_LS_218) + MyListManager.register('sync_BK_9131B', get_dict_sync_BK_9131B) + MyListManager.register('sync_BK_9132B', get_dict_sync_BK_9132B) + MyListManager.register('sync_BK_9132B_2', get_dict_sync_BK_9132B_2) + MyListManager.register('sync_BK_9174B', get_dict_sync_BK_9174B) + MyListManager.register('sync_BK_9174B_2', get_dict_sync_BK_9174B_2) + MyListManager.register('sync_Keithley_2230G', get_dict_sync_Keithley_2230G) + MyListManager.register('sync_imc', get_dict_sync_imc) + MyListManager.register('sync_converted', get_dict_sync_converted) + MyListManager.register('sync_main', get_dict_main) + + manager = MyListManager(address=('localhost',5001), authkey=b'') + manager.start() + + input("Press Enter (Not Str+C) to exit. But kill client first".center(50,"-")) #keeps program running until enter is pressed + manager.shutdown() + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/Legacy/TF_Control/imc-readout.vi b/Legacy/TF_Control/imc-readout.vi new file mode 100644 index 0000000000000000000000000000000000000000..046748fbefcac2178c97a1c2a217b4d4408ddbd1 GIT binary patch literal 35819 zcmce;1ymi&)-H;>yAy&2C&7a|2^QQ5?(PI9KyY_=NRZ&}79eLM zfO!J|4oUz8C@@Gc9so%Nydls41PA^g9)JK+{t>)xtSp+q6@@+x|9HB;f|CrSBLM=+ z5B8uNt}Bj;`MM@5#s;Q^oBA7Z=u8Ay1=Nl=eB%CCrLF-yDPE z{cNv1&|Y18!#`aAsfYg$p8qs2e{Txp8uo9V|9u`PI9S{KyQTl@^WazU$L7KPasmm8 zL4d(OCRPFyipnL`Lw*oB;0aPm7o=^lHI~@P7d(2CRT>g5gz3qeZ%4=SvzO!E9pD;1 zm;~_wa+9_wm`{gZE}@sto+4yE=Lt(irC27u`|5VJD2(ssyu!owFd|N!aM9@eVrFzm z#E@?=Y0{kQoG+dK+WD;MY(d@sNn=GSSy5l>kV~A=cgqsQ1Odw{-ne>Vb1{-?zu_+` zS%bdhS`*rfaXMDpH0H3kQ|P$O!y3c__24~gKZ-#W#{vY-B~|~eUfobzdmAuab-`AD zr6YmTb?f@tzypxL;NE~;09sctFhot4)Vz2N3q?_)9^<*@+I`0UCV60h1KGHf{F9Ze-iED%1mn(+7PzVo|qVUwf>3a z&7$knkyneoePc>A=T3r-@z7W2`-h~N7df&0bge|nX4fjq_%x-l7l>DwSV|w~ATstk?lgd%g5 z!}gN#V=Fif(Lz$DayDdcj3AGM^$%$=_{qx=sDqo1NRPZKgjI(w35X0=M_oW!0AD~@ zfM0-KKwf}37xEZ^F(I#lpG8`L+<2m8>+vItZDeqS;gCZ0qrKt}??$`~BcHAIv}NdH z@MB>frW22-m{2+^?>YB|gB9#E$yYqExR_Mz6Bte%$ZM8t9Op9y>FYtjw(2EC5C$Gy8We=bW}{b4u{Q^)>Z z`yrpF$@6un4lAmR)*P(o?u9r>gs-?esU^`ZQtXB7EoTD>WCW~xFBg+mgnb#6VFZzY z*G$BAOr+z2pVN%EEX<-8#4S;=pUw|kinO}|UPMoy6O2pksVVs&LBj{ep>$IrL(3s1Y%g*=q zc2%qtt$o#U6s&k8^i%y&C;j*Ou-uF+?aVG}%6OJn5Kw(fBAgaNLKE$HGM$%5 z?(kIh3=`UyQM3VTM?Uv;6eEllQUjg?%eLM~cV>tnuHR!qq65p0-dJ~Th$L;l02aJoW{3=K+L}Z7IG4;8SQ?}Q$`^Zq^s>RzYFCtD+{qOac&!*~ zF9&1SkM3}dNz{T%?-8<=b=F#zwrn5_;xy(PdOtms)E-P7UQbNkHC?dZziu|}tDC)I z>fQ@)mG&xIJiG6?&LZA>XS`_km9*(W)4}MxW@(7ey{qX~Mc?9w;(o{MOwV#x?Wo76 z-7w*=MvO+wWBS;FRu97q?H<8Y#^O>CuE zWPT;v5=1IMy+0XwptO9RgIGReoN?+#=;TVEb3a2ut-48b*}#$Mx^3`;@vEwvj|#!f zt!ak-^uU`{H-(e%^QKcM(YgM;@#lSShPG|syo!{y(WmIhPtVyYocnRNDbY=iR`56J z47o0w>ZU2xT}2m&UQ~qJ4c~yfjV59Aq30G5^nl?=KGA zUqNO*@;{3H_L~2z1PK0II`OZif$PifF2TR-5e_{L2mg@d$>5uyS?i&A_ z`h5PY6`)=JylMK+^@#kdg+IpRulJw7@$UUUm;LK~*<3mm6R_$6dc-HZ#ZyY77Rt?B5Nyk6bA0Jg z1zSo*`nDBqd|s&7cMrbSf-dtwLA$RpNA-hs1kNgrrgi&yAcCtj0eM%oO<3ZSE||I& zKFJTCs1V8#clDHnnqW7!v9>Y$OUp-abtGFBefLD`dcrVQ<7i#EmXls)-BQ+B2i$;Z zhQ*Eay0~gVPVu5gVwT36K7pNI3N-(rNVZ#mxKf6r$G;p=@al(CT??{f?=m-Z!j>Kx zABV8E#tJu5f>%CT#4yfkJy#}qTki@t@|1q1!5u@j9O{&9T^FU0J7%e+y?-LY6i(fc zCRNwfYyUdJ(s!GPZ{(@F?rcgjU>m@GBzSv*9VQGWoHd_zKkOAiGctpND=@tc_D?tp zR_Y;gAYf<#uvCq*Hoh z^$)Ju#lEiLMze5|IiA?V2>D8OUX%ouNaIxfwklZ`#M+XCy;Zc6eG;BHrfb#DNAx^5 zXYjHsIxRnyzbU9sRHoeseYViEZZDI7m65#1NGR-(dU7gv31C>H<+)lu($>{NQ4Drgc^NcIjim$TMK7qS5KSQ^PFYHVG6>6f zw~S{e=(nKqpq>?Q&@6;J)~Ix?Tz1r?6sXbr9TqN_>}rIfZ$-2A+W8()8>vGoQsF)( zbVS1DZMzh3HDS4wEQW^tQGxVrq zuaatfdzr&}BdVgL%;T%@ez4Ed%o>}9N9+Izjj_Gqw)(8&jC!;DES4xb5_I~rNcmwH zWBgI8hOl<@CLz}SLelrYw+0UB zw2V=&1qAElXl*eq9St(J#tSc{cODVS?4Z(mHf;?tK77kykd1mBA158(xWV(0OT=S) z!&7>R7UwImixtD|R}@)`1bc_hL5^-&a7Q)!s=PMXrASNacJU#D>LNTlT+@Xs19QQ|V^w8sFmt8?)JT7 z65*RIjYG%xb7cWsuc%-8E9NI@LU2S{y(%uz6zR>#!K1ck6dvlsV`abF1n%s(A{?6t z9FwNL5iH1dhV}_Hk9y!C6j@1q3Ee2!*>v1aPSWR_cz9F0yOcKJ)l~9a=YjFiD-e~? zd2@%f!F|$COD~1}}wVa;HH??Yd;i)(1a`E@B?RzU1l>#!n!3N|6@c4A( zo^O@1Wo2iHize9agmk5E)W$hnzM&{*jlQr>*zhcG-p^g4C4+72I>c@c(%2Y<>qu8| z7-yS*FF$9Vi!ll6OXs;zH9uo?G{103QBu`C^BgRhS>t%-8(RJp&P|O(3;@i%y!>UL^F)eCyMAU3p)VTrq<0yr9&LNR#sse=xE8zab>GA!NNa!nh;;cqf-; zk(Fe+dZ3lsZ}mbg;+160%{P}<_W735Ehks5Jf~l%m1A?VgzRgdNqweTN7Dbq`st+% zzE{wXuiYKRHn(|eir@S`yS2Y{;Hoo*i=TPr5XfV-TjyO5cdWS|*h6eBQULkzjF?oE z`l$w*2;N@%czoR`m%McK_LHtR{l=@uW|?pNXTrYwVM{YZ8a<;&$&vFZLHD}-oI)Iu z9V_0J`RlO5gWNrm3@I|x8tyD+PBLj{z36!>vWXF?!@)I@ zFtMXk?Ll(SqY0i>tumY}Sv7z5oJ&l#<7Ct>W~y^H_mA_E8+xDSg*WUzH6`>{7Jv7o z9j@&6Q0y^anFtfd9K&UK17XNfw$q!1SFk4j(durD;ZwSwCY-n_qaESkr?9<`p(#_s zvoY$6dYTFq?29-UE3hflR_5umGelgoJTok*Jd6gnL5p~E5OfcEA70|ww-?>UE2weF zx__y+RkRpz`S51$%PG5pvTnnOc6&?*@dHu`jGuT4xt?VMzEf|}I=X4op`zUzE)p~~ z%p0{$nrR|x!AiyNryD;yGO))dxTTQv1GDRrKFGklwB3n#@6gh3qm?WAeP%j~+s)<~ zJ=8U66B?;}(Bco-sE6mP8M`R1C2Sj&c$`V?UuA9SNok|hPeUBY$R@jqyl&uw--pUC zSXoa#btW5MF=Ai3hSI8K$ek}5781r0N^#!gbfU@7M|9e!W0?6;zJO(A5>)-XRdfS4 z_WGLfEe#3Ds~^R|LiHgsYJ9p%PD_3fY~n?|>jd?CFjZ10OS-;mlo~>+)#6qO%(oKR z;}REW8}HAjUq`P#k7f$2QYs$R?ymFVFEgqN9z~Np$A@j3j!$~(27jerbhaSr>cOFo zL24)J6;`^7;+*>clY+O~?gX!i{cvMlCy~ujdjxL69`HP(jhCk!-Uzm9dNXk8aNyy=E z!d0GEr=4qM=Hof~J+KThDQKu8H@zb_5FzFQ=V|wixvktNdJz-^rEycMsB%h>qk46c z$$%M_LKt@?!9hZE+#Bncwl`(YbsD@?9D7+U#ep`mWvFj!#TMLR3*Urnpg)uho8H`{ zs7uWgeA|ebkrJsMoAkgWu>C4Ch?s(_4V)=#G_pm5=$1kF6%Z z0xsA5j8H^^Iz4KA)?w9Etf)(Qo|{se?1y;;d;D&}elfprbwQ#j_emz9Fj)3c{YC&! z+7)<uhpWpBQf|3)&`O`r23GHX~h^Bhm$u|^)X0$N@xzbuFXr+ zLGK+_3j@37BnfBI%H$9BZsp9V8L(b@iC0_OmPEM(_CMtH-x(L)7KsP7j^}iFC8AD` z2Z{5%y7g)=!JN43B44_|(^_g@FvLChrgnVts`KT$3TScP(bh=Tn(49WYK(KdASN`! zIMMpfexfnoKtC^ZQAS;Xooqv>mfHA|Y zo_$YWlHjs#D#-oD$g~+^1ht4UyDI%SXA-ljz&H!J48zU3W<)~5afPvC`v(hGH|9L+ z#Drw^u-t)e8OBzk2yam-Y|uTys282N{!SNZv)MF0;@yl8N`??PVw}1OQjQ|-L3m@2 zzLboV{4+XWFkG$lQjk?1ybqwoxpHfZypdqAI{x8^ytFEOLranhS6h(_@-AtTZ!+ zRBg;KLxuWQhYAy$L{vWV8l3HL4ToDdD+WU;57W4wF|Lq$(S-bMw_x`>LjhAuM}d}1 zh)N`yk`hP<)Fe69C)GyL`Jr9GVEuC#pTjJ~C64r7?o#)FowW4*1x-2!(PFZ=2&DLnme3ZYuEBO#Ji z8qcw5p;Bl(JUY+x)N-M|2g|v?phzJsSiF0cS6>1p+tcFL8m25R+R%rdoj9>xD9FZ% zvRBVXpEO)DxZ->jVP(JP$z$aP<|VB3#pE24+zUDVluJ9ai^1T<7j-5&!PJJUNaL7K z#>WcW4a^+kW&z~H(^O8|j8Y7p2MpT^u?0CU+LL3BFL7btmI3JkngO6 z?Qx%G58Vi_s=^+!yOc?}3u1>WMn_Ll7;&r!_la?n6GR$|7&=H@(opinxj}dh$ygm( z(zX&Nx0c%-ihmpr@AOTlRNwUe+%@k4k7VxjF@-%jg`BcV5>A)YFyRYk+sJS;*GtZ# z#MI)}2nQnKci~pSc~&qfF7I*ezEVi<;xVHL(Gs8YB0oDT=qa-)(3TVvyRJ$en!S?S zpt@8~luhh6OYGNTZ6TF(j5zrerYx7zZ*#-Q!?K^lL9udS<(z)`jNC=p>w{;K#prjI zkZZwX|F7rTB`;Z@%`B)c*yVTs@RUU0o^t80OBu)_JS~#B3ah`YW}K{9D?ItOiNNE! zh`lPU8N07B*jRlzyU@HLU57^PuXmo-eN!)H& zpNB4d^KE(lyfRCGk*O{5r|mrNmg@mc;nkJJ^r2Pdb^ca6qq)~=;msC91uM)0_pjX( zs(B19CRa&Xd9R)?*1*bkFx(oLH`CpRQ+xKHH#2zl5TCEUTi%wQeEkWEMi)| zNW?_$jS34_?Qm>(jflC8Eg~5bI_NtGJ86H-UWGnG&ck)Lj|*~H;T?Sk(R+nX)f4f) zf_8?YhpRrXPYpcocQieWLMyDkpNcD*F;P;w* zSB^u$?E;$)v0&B(*X3txMU+g_q=z~l(HKc84!wxpUcAi-AO(y=kP8SaBnV9$8h z9GeaG-J;2th%;6FH7WYrxcw)5a-V+m2U@}UKAv!X~+j+xyV#NkYBTLVM6VIg$P{K_Ogfw}0Hy4QpjqcJB3*E+9- zI9)0QI186;K8JJieF*WY7%Ic!d`g{Z#gy6Rro3#>`#=_f|M`0&_k;gBi+{lLfI#1j zA`4(5*Smg=oR{2jRa-(K7^^4TfVPwHn@Z_hs6U!)-gIQxJV(iKj@5bB%;%HMn%3(u zr@Sjp2i?dUZeHZp9@g$N#7}D=aIC&Xs*QpWhJ|H>6(f4&Tp0P1(OgK+qYOJS@(mAJ z>l606z$Ll#PI36r6X*l`Ks6eOU0fqFutQD`{ou-(j@PLqEcxJBl z!)v!iANv=~ikgPul#PfM_TrVRHS(Da*f%@j*Kt1ruMI7lA~ZQ7W)$J}-2Ji0hgJ3s z*L;UmhLBJnq|?h3r?==h2#&tv7KXfD750(N<2uTSy_?^HJynxD^-M?|=g>4uBgxR` z>xQmk4yd*v_s|dg#Nw&%Ogtzpn%TzTG`zBRB_8FTZoPji^pbpAtan#iEp;j5^>l`g zles>;hJI4&iyS({P(z}K?o1CuUP)BUsb>5VHTq*~f+#b$c3#d7DRywn&t!3$zQUQ& zEs7=2+FGNp*Y?s;J19rQDZC36yWp<}4Gg`NCBEr%o-2fcE5>n24RpBBxtG!5wIJ@8 zK<$~3mUO-0&M*Gbhk3W^?y5&Nq`T?Pn}4hE^yzGJb`k$@ARS5AX>muY`136?Y7)qA zad2!on07{0MczHVl|30x&(BBrGK#;eIuLml7@i$w4lW5}e=j8BpZvZ?t;pL%C`Ik8 zD#7-=aq5d~GsG7N5_|^&rsRkkU5p3CB-Y*Ma^~$O)I<~sI%^%{9 zaRUjO(~Bdia}eUO<=UZ?+rek`S??F3sODQFH*r=j${<{RtgWoPNSY(wa;Nd@$5-kVooZ zOKxadEN41n3$xx)%vwjFWQ8zv5&YAL(OC=HmwU8B!%y`5?(gPk2T+#+Y^E2^8a_4# zIg!$>FS)xigPTB0=|q3|!q{s2a_b1uCQy!)w811M<^s0*iuS$Ub%ep~O|{BF71d_f zcXLD)kS-f|}4^9fM*)^X;?H=#Y49}|+V2_tsQJ;WiI z>(}q!uu5U298;A%D*QN)^HGa$EPrKB+XEyiS1f@@>P|_T=uR?f~li zD{qN#usCR_LOt;Gv($Hyw{De>IOQ|fB7V&Qh#&<3gf&pjh>#wxr$&E#$p|U6TCnQ?1(?Q^DP)W@V$47-22G&7lA79@j_G%H@*n!J>@l9_AhO zha?@T3~||w;sQP%91VIC>_GpvUAL!RP`um|>-`Vdtl>^hLnh8xcn94)v*sq_3j*S} z#Igv6$B{EGGt)7RJKvmetq`JbXk*Qj4QPtAbH}nRJfJ@I91XjH)5*GSu&+(U_U~py z8^RF96ZH@5>@&^{@Eb8b%v?9QtN4%&FOw}lOE(3Z`pkF_f#+pRMwr@b$-}wr3W&x$g6s8VdGj`}UQ%9> z*C!TT;?^9nymtiwfe#biZ#ePk1UBxs8WCk7j-KGRjLW*-De#dT+f% zdXasc0VigFGSdmsQQf4`-wn%b-kalgS!*OPK^SYYX@z_=`MIFK=Ky!k#U{OLkIl84>wK%$Emt*iA#lUGDr57MLF!!`@= zIyO(m+IpJ1*-;{DY!USXuTr}&pF|w!S>BIh?i)80yw-&0>~f4SJ@rbMR2ju1sIV)7JG$z8Du z8RF!-vbQOX1fOMhvN|>oimGe_18|jQu09w&gs^E1Hc9Dfz&`Y?E#&u2yd50aq9;ww z3wu|ELvA&CjBXje%BG&eg|U=*UVbUB=A4HUcsTXLMU!yO{k|8rvU;nG>5YSib57k* z-b8gd--kI4=!pQqJ{fH{yNlym*HDK%?yl*#rd)uxe(lyh2tn<;-3&L!L6JQ|@#mD4nwL3m{~h&t0J;(9U1ML9R7( z@efcjbEyuPGI2=@m@;?q3&cY(-LpF|i*o_Bh*<84p$M?G6_`s{^SeMinZ{NQC!dkyipb6nZvz9_T1R)B-jr{%Z?I9@DxLp<7esD)rd(tUEOLCAJ zfPYj5Z%_m`68I4OUWGc+q*>8x>{w$faFd+d_9PHru6=gu(uoDql!EC69+)kT927+l zR99u@Dz5;(SmCT{p(<2#0|mw1ljZ%R)nJm+C)Jt)shW|R`M8#am`JQ}V2~{88$aKN ze+2pm?BD&P0hXJDkB`@dM}QZ7svwUa*@jKwbV}%Bg^L{}gNvPRMT#9HLy8^F7=R*{ zi6>hIOCE`cvAK#<_`x#a-~*lP>yk%eMmX9R6X1p~za_)GkMqsId6nLSrw^L3@l4rR2Lmw}Pw zN&}LJ00F6f7a+iXZYUu@dfagf+I9Q)04fRzvY`YBEFguTt$rX<{|Bi9k(Yo#gYp4; zi@~5kL=6xu(3S)fKnOu89-s(_L;!*bBGG_Qfe5g35DXne>H)z3ktRS0K%@l_ZjhZ( zK%Rh7W&z;`2skLh4kDmUz&s!V+R@AcBA}fZFF+(7Agmx#4iIJ#`2i3lz#zmcfWQDL z5H$e#3?iU?BoZLf2M}8jnFELlh@1cf4j_=Y04W2S{76bbgcwMX1gSu~k6(ibs1q7M zBn%+dAQA--I}phL$R`j1H8~eVz5+xRAW(<^p#c$WfII_g2&DxOUQkLAKrBI|8z4m> zG7k`QfIMz+l?M@ZAVmx)1+52=Do~0gK!icW0U*)~1`v2s;E)4Ki3Nx;h$I6<8${9o@)krg0b&RupkdMhk$Zs1 z0R#aRAlV?22#^{O$p%P1KoGA0k_QkZ9)LK32&nQO0fL+hkV+6~0EiHXfF>IqhztNk z6cFTL;6M(ffWlWmoah}2fra=7*I-z=gA|lX7V8ARw0NMjW*o2=50h%m89O{=I0vU({eFnP# zAQF%c^dlIM_IUaL2o5?|(0&anfR85;fGFfZIy#^)2M_~D#{>|N$Jq@aBG9*>I2@?n z06xws0Kvt6#vi8^5Qhi`;=nokxO@PJ$PL7S@jw9e3kX5}LAdt|YXHOr;_bf>G(~|p zBG9HsB>Rbwz}x`C1N!6s7c&1u2&bP2odh60plADq89xy;1fcZCH48xKfS>Wl6A_3% zo&W&CeEFFUDG4AUU`PHJg4Qu04$cA~5ssGeA@_gcB*X<0*ik@c;x${3kvxWS}_69%znp z{X}T9p9lx4ACUgIs!;*$1kD2gp{4<(2GYBJ;^U7GXn^`A0&xJL<^X&K;Kfgb2KpEj ze_Rwn>7enV1?rm#Aka2=P`}Uv@n!%SfO^~k$Ow!VFs5KkfZfZVhzS2H-u4q8S2tkH z9xn#~!h_}$fN-Gvpt^(R70|!`3ZQcW_2>HVI3Gdd5BLDB36Jvtm?NP62A%(4p#B2c zqW}<84^X@L00i0%I{zQr`3gXwo}hCcR8P=(|L7OgPk#^0fB(G=A@7i~L%S7mKg88J z1hImzoeF7s8X_t=KG^$$!&n6^z<@XCZowOvC?LsrxCO4dir@(kis11#ir{gMP=HW? z$CN5QO2QHapo0SP5CMV%9*cJ3ll~GzHkKS9|PEb41fJW(?7F<^nY0T6aFjXqyG9&;qsdP zntu6j`ahL?)B{F;g`edgw%50TJfP#{E!{2sKlJMl>wq3~yrc)h@*l;4x&igO-Uc+= zKyl!BNq0;4kMe&gfh?D|aR0RbhjGBg|ELGm|7R5+{zv;D{jcy?zrWT0^3Q>u-p}uE zdQg-86#St5{QhX*WBcfDAGME1a&mG%Xy||Cc+}q>gH*TVxAf%X00Hz5f8_XC{s>ea zP=T}{Jy2JW4RZ3I{r7MTB#=M;gIe+T@?c;`Ky`qX2>3rfIy(Nle?WN*$^fWA8NvQu ze^A=dqXv`>(EqD-pt<#!1RRc!jvw><5&xc|6Ko{deDgchX7=P_;nY91YDZsB;-KFK=&nR!1~9z;*xrx@y!&EGV8p>~M*5_nNX!1$@XB#=3@94oAWc46y{lL}h@8v&Q}b zRmc&tz&o&JPSSi%Q2icq)+&F=J*5i5vV^U}sh7nwsPUCgut0^V$t8*RxQG=Ym{*x& z+8PuBgClF^>~rXN=xE0w!d%h7vsM{9{R(2Pa>JiXd*|xTILp(Rlhl|JqQ3-LIGdAG z6?3PI$|5+E>?K3qb_rZ(Zj&CM}2Qz zj4I4dam7NS4_t+G3$HsO2Z0A$Vv$jvX{q0Jnc+~yfxURv!bWAq!X{}0b+o*8v*>2AZ`StrxS=Ob` z5F?c|I(43BFX3W%c((EoVxAvScSPaq(Bq*5IYX1%38a2_Z``F(Bho$dp@|wVT)g1& z>D*ZrkqKt4xFHKWcBs+k?hZYH3s}esyi_!gtmah_o^@)k6KPoecir2HoP5M+&I7B5 z&6O=CSV~Y)rmt`|c2pKhE;#C5Yp1ov8Yh{2*n*@weJVvPI4A6 z9;%@)S#=-Qu#G#=x%9VN7VuCl=tb;Onzg4lcGu34^vPU1D+K2Bt9ax3$!;k&(F!_= zn0kox;PLDvjJ|0*V3hMLOEb1k#fmJyMDy|L&p@M>eUa~gA?W6Pv;1;v<(lOCzP_YL zEw69z;cGhXoEdE~OQzSA_aPiRU%o!Iq2{sbe`>@m{VX0=KJjgRSHGhz!!aMKxZli&~Y zE+-#0@EDycS;n+{J~GGbjVwP;_KlLGeCx-L!QAB&`bD$Jkzb7UvC>}TmCzE!;gZlL z))a?_J{yyd->6EjkRhWB0!l8N*aavtCQPxC2yDv?uOJF zIiF1K4}FHodT2$8COGrT6}HO*|AESP^`tsqB=CIZg0*W{+q};D#e6NnSQ`^EH+r4* z7TBRWT%vb~nRHuqQw(OE^=_L7=BOYYA@7_N$&}{hH%^NayiJ z3%tU0U)G{US0#CC&iLDkBHwtbhe!M0zQ(FzOUkrlgsH+%5L{pJ9!MP zFu?3RSeDt-5)>c)2NptxYYACgS+^{C1(&wZ_l`rK`Jx%KRHCtierTf}lt&%-t$s}V zq*nh)yncx^BJw-_5eKpbu_(er?0&0$4{p6a+p{RYEP;`ukiKjtXjqCc>1#bb8Vd}& z9lczr*Gu(f7?(LIwfGQnoKBqSvp$G9(JGDy>!?Q!@gnId7X7{KC^-!6iJVv%wJ

zTof_w!R`27<{}r+avF2#ne4Vob<_nnt?~^Ig!08N%ioi;%y#g?aM&;zw8_>*6en@5 zP~#NlNbV>LeLG?!D-%LL>{V2^^bW*yp0m zE@OVUvSw|q$IPos@0@azGnXce^;bej#)Q5_BXAPJ5N+*ZnzV({)I{RggdKm*!?+iL z94duQWr(ko&I`Nekx-s~*&Gr^n7gGS0o(9ldLYsWxtM)l zC7iCNQGx}xkABmlu$e?NU+-|f-kvjTI$s6aVa8K^Xr;D}rc2ZE0JA9b^TJ>-jy}Ao zR2>4NuqjjX8OEzlb`^L>{OAv{xj|K1bXj;iF|vF?xzn4^vPP1dzY^%X7M<$kvT^kf zxKA3yCpdLquvKj`3fmg`ymI)u>)ZHrj+Ygo*OwmQK-DDI-;>z?FcL>)8Lir0gneTQ zi(8|@1ClFeQ@=?0-g%h=x;;xcFcNo;^{BZ>AEMDyN)D3TR2!#_%Kt{b7s~0N_{1@% zC6(t!;b-Jrir4r%@=*$B(*eG?@uzDAX0_?LCB4OTy+y{(1zc!02qfHK`9M+3FQQp- zH|zv@^IkKDvKf8bBg*`lx?{>vRhD&(YsqFk>_Sc`WOHw4z0^*WAk(EGtNvsbQ?m%sEK=qKmojyl^98eO=81=G@u(z4hX5GIwC2S zgLtN50sA~$$20cA?c!vBx*E2U_dR#mJ7zmJ0oj$d37k)MICUF|R45_7Zpqk6fhq4j zepps!eS7s)AH}zej>58PKd_ec(?_!El5b#!Y)aKXEG?DNJT(eRJmy!lXln&_EBAD~ z5S+2H88Od>i|(7h4!iDrzq@OmcPKhK{lb)6kg4Umj=LLD!;k8*TPgW)d&zEX8jbP5 z{4oEm&G|K^O0m~@lBKg7&SKIMzDLK!9d^XfJL>zKvx|VcQw^)#s^+UKAUg`68mJNS2p6^w z4$X75pP;%8D0bUSe4`_i9;SBwwOoq#dKZ7u{G%~ruiGXo6ylBh$hLjS$9kzUGb`oy z52sYm0=TGgSj|T;)`Y26n79y<`InU~ibiIz=01h?JZ&E_n6yV0?DH&rUQO|nnvf$}e`0#p6H8<#`pxYj~j_ZtF@ zV_HIaBqW%w4D+E|D-xj}Y!%nrYx9~5QXF}U_YBig97A(!(;SJ5_Y4*si}&=1W5xz@ z&z?VPmU_h$vuY$iFBP03Y5U@t6;=0OZe0=<$FIad$rI*hBvjpz3c5m!8j@Sq(YD9ZL3NqsrQf20jpHO?zg?K8DKvBQW`{i^k6wG}VxV)R5dI`91! zrrG3(a#zaU{Osp-2HQ+{kQnS(Wl z_p$0oH$pxaa^S<^^E#ALDbm>u&*(9OIE=v@ec?{2+)hypx)bWL5|}tnQJWbJ+}T&f z?`fN{7p=GjsS==qibtNOm10B_W#u&`5UYo>(pAMepGJAQ7X^$f%`wo!$du#NrKXiW ztt9~~DhfQ1uUMK;kv4u%hK4yOJy?m27vgnhC$DW!uv=%Ri_~8_7hSKZXm2#$kYMiR zLJD3?y?Y5yha`l2*?;{)V~DLq$cJIkfO504`s)}%jo0O= zf(~`6pT46F&HeZ>Ut&NSn|FR$I{xfch-QyqFZWqut(-0bN3uMatKN9qU6TL;p8Q)n zaI9rU>u+^1w&IZ~#EGX32{l>4w3rwKnKLG`j1*`XcZo~OG#hCa;v3{1jV@!g!PIvp z@bJtAh10-q;7H8yNaVzlt-4fa(xjA}s#RyWWOFtHi^CB0`jTs|q%Fqt!A?<3V+v9u!Ee3+s^OyWyEXrF0DG`i!d5*$<+lM zZk~K-mhwu}*jGa3iR(45FHmh!me^ZDs9k;u=lPA;m!<|cm!EtKyHhxTuXw?_%T`v$ zo9~n|lU0kO-PSAfzNW`RJZ(t_x)!mFlaz|J0eJiTMfP~eoOgw3^pL;xo{uqvBocz% zOJPh*i`8qN0&A?c^BlB3K%u&?b%4Jm!&CL=&@c2L$_vdrl)f@0;(p^v{mMFT zR$@*XJqNX(U`e$pECK~JG!)r_kQD!Ddv|x=5weKA*`qc}=(MI>dW}#VhCM9IxyIS4 zw&t>`#(Cqa^ri-}_V$Hs)NL)MnCWH$3*@lo6EC(+9ep04^?HX{h#YK3j#)qWclP8b zGx&PGJZOmbKCz;|cqX^Dpn8tji!;x!1gG&{u($FSqxYE{9S>cqnhV3Z?0ZBFh14MO zV0QLU%L-;@3gZ=TF_rLybodYQH-}(Oa&80to59u$Cy?^8Q|IT-d{^C08H?IHH z=D+^V|9{=)U&Vj+@}E1q<2R1~=(gCJ zU5$jkR3`*z(4MdNQ@rU2oZ(le3{qD&{;HYkNOc!fg@Q|a?jZR5*eRP)-^QW7=2N2} z62a5@D(0r>NxB$JOD`D$I`fw?KLR|&vb@KO;L=~qJVm#2!?ckfbLZTN$>pco#fqMY zJCEonXv)=#os62G;0eE*5|!-64Z&@h?tXGBi-J$QaKzDr?{749EOv1!AV2zQ&)u~^ z6!kskK<9h5*<%Js+I9NI(RJzK(O3O^lTMq4%FgPtCZ;cwN1UpM=`&tdzEe_@G~KvO zCP|2&665OFx3VyJAIp6AYA5q7x8jeX&ENNrF6)(dVJ4amoe5R&RFhbbV3iU_Q$!*0p6H?ZT8@9W(2L!jt9YPMhoO@ zm9Yois_>rGk}FR2iU&~%iW7WdBCUe&<Nn!m03;W zUQ~Im63h1^fkns4bYA?di)^Wri2TdBRJ2wY)ob{yEV?A-Gl}sSN7D4-n=G-$HJM2q z(tP9wF+Vr#QZ6ZGpoc&(t5An)!>bU4t zv(yu^7>+QuJEmN6I5uu+7{<@ukKaa*atldGhJPCMO;3Z+nsJKBD?giXHktz|c(DK3(AS(fG#W7WgehfN35v zt-l%0!LI_BdSu~Hlwq&?RS~Wacpa`!iyafhT^3PW&>0v+F)m$+HrPPSKrFmj4Ik4c zVnPpF_7Q=3BwbveS%9bQq<~mASlC7DtVYWpHP4z*m1Zi9>028)tpr+l$Tg7q0OJDq*SMh24u27C!$+@pmy(PA?M z|G&1*0;;a0Y1cTx3GM`UcL)&N-QC^Y-QC?Cf_rdxf*sr?xVyt;zRCPE>(2B7y879* ztGaug!)m17{m4NEK!+F@Mj11FBl$VKmB_&fu`5UZJ}`3A=WxTBQQ%U<0S&>>lDkLG z5DNp5%bW*mZ~v-i8#(TtCg~9-X$_s`EW0PLl%0Ut?Y2oh2&!PjX!lj52lxsH98!Se z(e`%k}od>&3e5& z7(Q=Ur-hzR%AV~CN;iaQ4u>X=nP16QU?t99*(SovYLA9x_Cw8*Umu{(%T`!zk}ZwW z@2X!QF;-Y164E63jmj@Vcbm9yrQ65c9z~<>QA^0(obcmeXY&z8aiVlwVdc1oa^S)vyJc)%IOv0dM=O+ zE(3$$7%lOJgn0{H6(R@G%BLyO@CPpS=tBe0w0nvrYXfbNBVwcz1H-uG^xC42s*bsC zfbApCq8>qtE~$;d@vqFL_WAR2=UiI+(WL$K>YWnB=I5IH??g1qjv$4vnnM^zmkv?Z z-Qg`dtiJo-#W;Sv2h5?=#w|*K;9_Uq;xcD2q|1;CW+k>Q3wY(hX#XThP8VDkoWPZkkk&J-sUKI%x`tV(c*q~q?}=G-Nzaf*t_O0i zUj+I(h)RMr-Y|`73Kw`-C;SHf;t1;5)s2I}9Uy)*tMdu(BrRGxgW!%PiX|E}awz&p zt;S`D<#btkh=n!~YbWM-c_MLjA|lYjLm5zYO0w9Pg&ZMcy4+ZqxSWa}A!FIwNWv|~ z#u%Lm-}^NtwaUUG8`HZd?dNu3SCnDE16SgF6fv<2jz(1Im_Z4+WPT%q3fp>OyCoN#Wq&rstT;E0u=Axp3F|GSJ?=)1q1{4@OT4 zc{tp44YyO@tqP{tF(PsRc9?3;eD(`6_t?l>6FvD$`1ZovDr;8HNlfT_=x4B2jwYr7 zTt{gWDz6~5jJM#tU1RTqo+!$L@;uDO?XgA|RuD=s@#@XO_H{Ezbe0Rd)9AcES;F#= zlS0O?qCB%$r)V7&^^vp4)agWzP=_xv^upM+Th>ZtP>E{I1i2u^CIzD_NY+iljXkk4 zF23dT7ncv!17qm7mUD)-T5=h4ti(YF-_;UduiFPE3L%U;SP>^~TAATHxF=Y$%&DX0ije4UlpumWYjeSj z63OE2_LFL4(1nzx&Z~L`6Ql09ID#SqdKhM&zoh|_=uAAI9AI)sH58i|=m*79Pb7F0 zqknT_O4Lm}4$53ql&+vU*5F<0$BFjXJ0`gwhxEFF^JRqJwUs{kDt)3jUk{}`Nxc;> zp&qBzfD|af6Y3%_xEz<&fYaXw54b@~+z=R|USU8uxZ5Vw0*T&o5@)BfpTQW+C)du!iy);lwP zU!v-X6>r>$p2l1sG-tXTmnj7)iuCjTs+wxrvzk5(ErVZQA&dkt(QLGQ8ZB9G81r;3 z{f2HR1DwLme?-oY_z+E4ZICj6u}&y3B67CEh2{`2TobDa+cJ}%KtwZJRWtLQ-C(*o zpD7vShzQrTX#o>v(XbgP>RY_FoVv<46pyQA`gLsS6>&27_BF40H37nHqQ=uLM5Ym%DqXr8U)m& zIF2M#^du!ATADNk?d1a2(XfoQYn2)X8z+?SeN~`_&bWsosU~iW#`rRW?Mo31w{Y4k zUu+`^jfrX>z(W~8k4Xkk#xWdX`&0ekx@Zj`tR?iu4_OVYC6$^wfoFs*#;a&L7HMTq`v>HE0+cSZUrKb=ipUQZ|e|8k*Oum&uFD~QIzHm(pF*>Ob7bTp)b7oHdVnUJE z=ZKW0wK~lssm0-E;FaePgG;r#woWnUg{YOdY3o&R1;;oX*hOL-XA5S~;m2Q^_TYi| zx|j`0Q=ld1)uNesrzXUw*&6%F_0!OTyi~o(VZB%A<~v#aeY^KZLt!zoyaE(H z&EqN&qyG9=Y!xj9C2c!7Lus`EA(nbjRzymr9q~8`N=kG^5n~nF&~chFRgARSn&OJ| zzDLZ4*yF9#0Wr(i{&evn$$1hYS7*7<7#5=vv#~zTj#v~X~*Q$`vY~) zm@!oVdagGZt{`6iD2WQInfO{?B?0J9j|o4b+)EimoK<%=Yn~XektxD|pNnq20Th$e^))`!iFZD!?!B@pmZC&eMy43|>r{JvO$jdya380#e!C;WIpBc50{WG`9{!1L_%06+#buxlE$bTbCQ0 zZmotJGOZsm%^aPue>JN^;e#ETpM@?D(_d*MB&#Il&wB z;QY8lzUri@J}1JM!;qt}M2tEJL~=6ZTaTCZR;}{>q=voeht;zF%81?~>Hw0Mws;Mn zhNM@I1-IkutK%CI7Y9No^16tyyZ;0KXhsgIvm^Et5MfPPdv0R4%2=$Q-P|D1aH^MwgQc0kHEoSjX@!5t`vt_lvF8NOi&d8rcT%o? zvXP|1-K2pgOjxu5H>`+D!-XwuhsJh4I* zSTX;B+A}B-*)&JrP)Y0DOHIr4V=LE(plRtu5Y6%z%o)VZy&$vDCKp_RP7r%@GqMP9 zAt^&8Cz{n!kMzUfiek*t$x+NF=i8z7#aq0=D*R#tmBH_A%g;mw-@j9q%P%PbJ1a%^ zRWW1b9X{9xG}<4LY8y*_p7+OcssPX6om03RnKsKEDL1mvE5&h9o)pAV!-ZrqH~bh{ z(v&V<%T5MkU4L98SA|i%JeJ8fz9})dl&HkgdI#eJEPz#!!Mo3||d zHZhtVl8^41t8W?-TOBlR{2M_#$YljRr8L_9`q10j(2v@kq=p?rihLb^t}|YQ^UD(r6I^TLomMbuY_gt@f0Ex@LLRcHVbSJTpjZwh~kNJ zwA|BJpuA6=4~Q)kM*oWUG6Up;ih0%lQZ|l*FXVo#Rlb=n2ST& zyZC81p)Q5_&J*)03O%@Hap_~q)Ud`?Hty79QdOCh(wb3eGh^6C6tP51+vv6?;>m7( z$z{UCbYTynIq1g|itv#Ce2J8?pnu{7>j5_ep$E!Pfij^MRJ*`*a&D=YGF1EUZALSo z)&kR+V`z`T^7D}X`EERgJ}cLjWkj(PphJ z<+9#$p`hc6vu9Udpkh7SVfzfYb>Dz@ z*qFW=JsewwVUxN|zp5gnx){9RgL^j$&c_6#SElBepGmU zZdg!naB~ga62Ry}-N8qCz@~l@@?MU)rIGi*0xL{+E+$BfyL(ob zCc?NPGDLuV-6@ug7#zKl2LW?UkM#8j#NIbx0EZz#OK?R9A`y0I#?~*NW$2`*=KbB8 zD+axeZ~m1wQMSp7Thx!rqG3RtES82h#G#s+=jLzNdhHiZl@>i;qjxYz3o4qMIe??Y z#DdCzXkef6Apsaf!y||j7cg*nt3%9!^QukrZLx3;!F!y4k;oXYW@k%q0BO&KwdG4N%D}^sdDwE7J+wCdMa8g2WI()5hUOwDlPI z1aAN~RCr01N~n=3Yw45UL^@xvK+Q*&sMwS^zk3aDtcv?Gn2)Y|cHK9IoLJERt^x0r%%&#`u9-GL zGN_^|OhA(3&RuZD`&7-wS>A0pjFcoAlk6fC$sjliH-$ni$020+1;<}pUXa^2ZHOMj zJE8CEPJ+7z>-oH;ju>eIOCfBk2>Q6eLwjn8--h8QmH;>B#)UB|@iAHny_}f%V8Udw zFEj{7V+nTcyK0%kcbYf4GqOt!g9VW4s#z@Ta*bOiGyddJsq)R3m#TCr6fw7g?`M8* zYq;PKZ~hnyl33~c^1;!~iNV%IBkd$;m(ES0gZ*m`j$7dU*X81yf_V;3DZg_R7jA z_XCdB=phHGUoVv)D^A&tn5LJ=Y|BISlpOFdpCzkDZp(I!kc^G@Wkpo3f{Ep9WTnT- zx55(fcxg$6ul@LYG(dDHt^Xc-1LX5<_%}7`NVqO~)>(hSHL+wp)TYOxMF#d+Wm!wR(3lkaHX^&2J3)5tb@}sMoF@>+Cszwq@4Qhw^mQiL2$PB`D5I(O8=p9R~T zrmq2r>pdt7++*s0nUEym3kl!xw8rD)XBZWD)b0Cs4Yn#wwS(s_{AJv`u&EB&OVJH??y_B{z4U zUArWE2@86hU9FqYoOdqnhO2IQaM3C}D(~hAldz82-C>I-^gZa*&EYKPU@52$DVF}7ugRJy*K9Z+84j|u$C3|(*0@F^^>-bnTu z;*QQVj%Mi#DdQ;0F-m(^sj(>*2>{!a?(i4g4ofr3@q`A%>WE(i)%NV#X0HUvz<_x~ zV4kROZdf$U98-@tr~fIPRFXQAcx)Im+^BwHEd7koQGjgvmhxCdPvB%04Q|7e2mvy3 zRWmtmJA%+F_H;)c((wrd#8>rLgoD^$ysnZbz$4B#F~R~t4ZuHmcS%ojzBCqC3)>#! zT%n9$SsJMY+;L`}_c9fKOY6QkiAK`QigVv!Frdad|1=u|Tz0QEC%rEEPVabVn&$Ka z)YZHm#NcZu$80|+oa0JhP{k8%3Tned=xt|^eGC&Xbe=jx27cE{HNO0L{#769N}cpD z2iZbiK~;$!Q-kD)v|ZE@zqKMA4RHh-4N`IA@+eDXn%cP3@pGzKWdkX2Q3icwy)&a} zBxd^yc`TtP*u}krXECFgS%D_=cP6*_RVd{jPGt;$#sLCE(MYJMD?*U_VV6sMmpTLx z1P*Azi_B-IlIL4gvIT;Ry60Q3`(v)N1%a~#nbqnc&DM~t>K@-~meLlTl@=X`wdw%e z)*j#{&30mr=y&jzRJ}1Fmelk>W~5U?D)`m~ZBy2{8GcB)&Omz#x`2R=W;?`PT~(EZ zt=?*Mq!y!jEw`xFNM+(i{8ACGAd4qko0a15AKVu#%f1~zKErLV-N1nrkiVWybz;x1 zP{7{&H*L#_E}#iDBVy_DCwkjpY!z_NEnQSlLd`4VpZM4{h$%R3o=O-4c=kqeC*2tj zv}GW?CKLF0uMMXPvSH2L8BIIM0^m8}1JLXsP%FxoDr&)h=H40)n5@^yJp(bs-3s@9 z5vgX}+Q?lcjPS|vr|d>8?DjB2ItrH~s}Lc$D;5@U7DK8k$?`>Z6(!yTYw{r8obn@% zn6P35CPUmR|xI|VaV|8<(q)X!cK-rC8i*LHUTizZ1zC5OqlYj=B?i)~+ zOEdbC8xk;-+svJC!?ka^vQ9Dzo#|#@=``CQG=YzWq7@?JkfcOjE7G$5{VLaK4>Bn? zJQ1jR)wg`rRB4HF9|tbpAv*E)he5Nt5?*{lGz8yF+)a9q^XgQBa%ISx!*a4Rjps{c zOuw6W$u~l{@|)01S7uS^uQNm2mL#u^%6b`@ZXYUgUuVcRl}Q<23hei$zi?cOZiHQX z+)Szk4gH!e;FCX^#*vq-ChFT{r~4Em&)v^J_)dpBnv0m4{_%0v4^UscEY3xi0Z6hz zCmr?!8emm)8=VQ2dqD0ju*vjMsqHC#{jk$gF*UEmB~x&yb!-SIvbHA4I?z3I-7lBh z8BEu9dbWjaE9)V$yuuTSgEELhPE+l3{%Jg;X0I5)>&p2(VsRXubxe+Cu(lYSWS8ah zUQ4o;x-x2vVawEYTrp<85$Zpy!~4&p%_WeX}ouKSQ?t+FYp0P3*h z*0>9#XHkbp)18GX`dTCV?R_ctt3wMToxn(36re4x(w;1l3YRYF(Un=JbEgx=ZC8O> zEnF%?lalMQnJ@#2R`A*8qNyxuKQ;$wi08r(HPxVXkkv^rd~#iI8;D*H>-BXZX`&nrCN2E*GU+n`-T|+J zf$@E9n&(w@;qb|yX@Ofgdk^J__(_fCU*`7V(Oe%_ohxqc<==J~m!m2aAXv!WYbQ&O z(&I55M$1ihsK!{5J{xoKlM+AMDZzEQxg0%w{Q3wLAkL1>c+phjrm;wBkTZz6&#tEC zHBwjmMw}7ZCoey7znOTQQc1~W_-vypKJlonxrydvH8@V@dwuBWvVs{NvhfEn(_nK@(L z3hd5}AyaI6j8(4&sxgLWN9cMA;>d`xv^js1q5+$X94jcE+qAJq+19+hb_3M*m?eUs zcAW@)IE!QPiX%1L+vJp~1sUD)UIm*S^p899(TL(|fk#r=MT5qs*v4S|hnb0#bwS*C zem#uDebAs3j-WBjAoU3Ur0V-PZHf2E{fNgaiJi)@n0;gX*_4?_o})eE3`88pN=Rjz zC3fOlrA88I>n7Bk95CL4EJbVc#Jh^sAb@icZ+OE#=Xrz4E@onNnX^fEhZ!LIwggex zCq_?4EaT4dL|Ao)B-o3^YPr4^(m=;}abc#I8{6aZAW}te=HmFnJ8FUcasl&>&WtHL zijDrR8unRu+0bN%CekZI?>(J$ddU^iV8dvU4M56)eQt2#9qdJAtS*bE?L z!-izIvw>}+v$C(hbcuWo)Y}ltShVyEuYEUMbODgEV298rdkmcyNtv^D_Agdr+`TqH z{TyV&c&6z)lgSvj^o*(Hr9Xi*OGt|>?aQyZm=&Q28Ep76^BE9`|CX#w20Ju;Cc3l zobLSai>u5n!uw)RhoaRafZioLcu`vE*U-jQ*QO%sO3VfoTTx(SM zA$y+&mpF92wI%Ph6>2uFB6CH9>ibif+c(9a>eZw>@(T1(I)!SX5Opd(rMD=XFUGM6 zbL3r-X-rbTQlQF*n~~In?h3NqzG`Jo4zD8FJ!+YVfsCv-t84>M<$qi4rC(6{DuQJP# z@0225!kNv9Pbv=-s@>XVr zZgqZ=LXa^=WAhFms|R%tAY(G;kO*nV-x@gy&6yiH>5t9X8PeSqab;{1JwV?4jHkQ{ zGpXXrnNUBhdxbqk20YKTkD4v%y2N}9c5E(YtT=U^RTzPtmUV+=nL51zRevpEQ=d@v zEj>wl%vYy~h3il}?23}_@wlOhOe-p^T5r*2W;y!?BC;b+uS?3pVjJYZ0!Yul z!Heut*^DV-5jlLtc=zpor>Yba$M1ir1bH`5uTSKOyo~wuB4Z|{@I*eyJ6OY8!XkBu zjM1hwC0)!SLvfdJ007a+nHMbLqW3Q8W-DY-IIPEb&kQOlgknmfz3p^pe%WYoV2evD zW3rf0FT)+S85uDI6=Y9U6pPGLTwU^_+~rgseo8{TJI>21!J%TgDJ{=)VOKUkFuS+N zGKdMj`{6tvv3NDBty`a$8z>T0onw4ki;DS8SOQXP*&*9y7R1t2E5peBX{M0VoU8ve zaj-0!3}?Szlstd%FnW37U8=R<4%VW?uGL^+r-;jZvbdN_Ua64l3hFjXSzeCOgmZ8A z^^9SgXTMzg3}a%v0Wqfdq_ivR9lVdD+XsNU2p_>`gbH)5hQ3#>9TZs@LQ_B@Rrpe* z=n$?QAaF6~&B14Y5DwY#$;#zsf_iqo7%L=A>mu*tv2)^T<0relOj}vntw^`2L|Oq{ zk+5e|1ywyio3QFfN(Y5{6bH@F6L5w$jgznJXdTH7!1rey#EB78FusVc7i*1tcAXLi@B6Z0Us#%-j}QA(vF(JjvOORYMPRAR7$a7L`fL zhY+>mSu@uQQu09=;66^$lRC|tc$FrLw1 zrEB}VemZcpgeYwy?D1sU1LMKaPqqpNK3G;gwFIPTcJ;l0L&~->7B&J0^DiIZ*qww*_czkVL|jgDGh8Sj%MQvSj9tEUq5Bq#u5<9PVs|5 zhi-^@HIDar2HV+x8qwuh^RCNAizPdyMYx?H$Xq2qSn;icB;ZzXc&6BkZDbv>I>lLk zt{%QG%-&n9l#;fJ!dI1>c`!RQZY++htOT53?-)F6j+W(U%e1Y8M3uN9SkL&xep%ud zcZX$&#t5{x1=S;iyoYOz!z zZuXpGv%e_imBa#*Q8WC&rbP$fQ{tp2>1U zQm>8!ChZyZc7GveS)~Fkacuh&Q->DjH~bK#*?!7&+^)0YRj=^Fyn(gk3FCgjNBCtBb^_>T7 zP*FoiuxIQrp>hmzxQ%9emq=fFKRMLcNk4cMWj9HubBiBy8V4ynyG}u=)tWr6?A5nhgjqbIGZA8r^&&6Q1z~gj;NQ7iMv*f&ls&0yN5El*)*1 z3=pdUF>_c(IcXmAhhs<7;dloSP9Vxz^yPqwGmlp|Q8+QBX9gjSp9{8+Mt7;tdDo8# z6}h?slvEk7MJ~e<8vyc3FT%&kCkG21nYRw_-l{`kMm63dZ^c*CGn-g~okeK70b1pJ z?eeY~o;L67MAq2aaVjey&iPKY*43dOjmF+i1?_&378PWJ-bo+EhTAW=sk~UW?i?)i z?#oEbEp8Hz{w2%)+NYK)WbCfnNabtZAw3=fdlOb~xzhr}!KC*Q1@ZOs+*&csoA)hl zxV>9c_!sbVGwMsE=Dr_48o!t@5cn-I45FFHdKERW@5MGm0BX}tR5`lLjgOw_dj$Y^ zB!+nJb6}Oz4E`J^J`Rz(@Fu4y%<55SLtMi2GX3R#@W{c}ePG`EOG!3^&u#k}fh`dv z@K`7Bf@z~Gg(rp6k&9vMT!#$zY)s?@2Y5z=UMf#NVVB*y^hx8K{fIxS=}6a|>3-Gm z(HBRP^PaKQ;b5$)Z@p*R#S!|foENv3R4`2EB|^?y*7z&9bgnRYD8sS{Us?D;J&d%G z|D4q0-Ji5F5$qCj!Wm_V%C{T`%)5iY&jHUKGI3JikxlzanLmHp$W|9*5*L7Wq3{4_ z0{tTF0)k*ZjX!`XM`gF2pB)lyzgcP0I`!=K8mY0SL1U~zzUAMjAKHfdLIa5}*VYUV zn_O4wX_Fg4abc0zI1335#wZ(b)zQRfJWt8C5h4DlJ*a+T4;eY-Th976d9r~IWn*Uh zXzL70V=9aOMx-lyNE$K&u4P$^cmKZFW&qu)f$Y0MaIitx;W;nhZ*e*mx`i(OoMTs= z;F!o6=V#qjdU0F?+M#*E?B=bWXWb1A$^1ekyjn7Qpxsbm)BCj0rsy%&A#@*!qN;i{ z6tJR5I=Re!@FrE86?>Lu8sY=$UYkXC?({CC6M$5{2h!P%Er!rKCf%eOrZct6B$!e! zb*T$O;+K7$@AsKWI>E<`{7ESn46hxgX`leNMAYC@M;NI|Mb_Hhjil2g?Z{`r2Y2$4 z78$yJq>Mx!+B=WHAS#((Y0O;uSj~;!F9bJMxUNuX?}5%kIgi^ zQ}Am8@9vnHzTpxO6y#V+3S58ThxfbcU>3bW0`dzmwpUmNlQhR!zir~PKQuc6EZ1t4 zV8bo2eJy?a#an*oWRE@)wZ1%W`uGk+p{hjk=l}nI)Z0M1eVAat-+(s$=sz^O=s)_8 z`kN2UkN=h9{Gs#pzXk@h1@a041eW}J{6`1=QA>09AzK{?#!;-z|9e3H0&ExJx`5%6fE*$hY!8aYL?{fCOZ z>t6A=j@;Pc8f&H|~q z7!?X-YAfGt9Nr_{8)4I-I(Vc90HzR8&ez|ruTD~eMJwb9P@u0gZ4SN zN*72JMF`GWpft+LmRg{|`V{Vhtn%(~oh6ZV-r31-!O*;qzZul+VSrEPD~%f=Y$v%! zR4*2iS|ZQ_0kv6ii8uP$1FXm6`p2{Lb?2@*frVuY&ZI%f0iCISh8*PRU z9cJ?iQ;4fVb$Vtg|7>7tsBWYJG;w*VMlsW6;GevDZv6p%d0`%1An|D63D$Zvw* zgi}^Qa+}SdvHQ!iI0=|XGaP#$q5E~Nwc*4WY6n>xj^U=u$ha3-Eo54wTTD&el^vKD zFU)yt`zX-VP%buNre z7#a(d&qaoFmh`~uSv=1Kx3JLI6KTv-8beKylDm6#sy4udEVnQ8F65La;bw3hUOzEgaZzbOoGo{8UvVX|;MDImC61UG4T41Ijt{1k#=#3W$ zVuBV0G8D`nUYC#(OjWFg?_ATC{(V_MkdC0yy%eF$Dg23}2tOB?6YdDsD^wAyP;UwW zK*UV=Q6x#A0ChMsop=)VD%NS^iPFUqIaKCI2i{jRY~L%Rq3#vHkN!A#9LzCNVPUq7 zA+Nx{VU3Z5a{TkhqP`4gk6yIRjly znMjziQ(IvUFIG}gsMv}HTQ9{pIeBwT2O+#Q{YugQoq}};(lr%f3j_44c+B+BA&8eh zPuS(o4Oq6pk4gP!p!MsNSTghcvUA8rC;aYNpod)eTB3~Eyd6Yb{g8|3>mg3&GmBag zB&?g^Ymc98)vt|G_l*xm)K{)-Zi$1jwO$}ay{3zNBI;ct2^i$|pUw?!3)X;OTE9xb zghrWJV>VzmzybidZ#mh%gotk6BOTMsN{7TVtNuY6}R|pfp-xFlYBQuHU4GV9>%r&eu<|xqGxH z`&QN#`G~Ox`PEI!S?fU01|zs&8EHdHYVfm0`&n$fmvi=kAG3U& zdet|DRScFjWn6`|nbA)7*X&w?6^7$&jcs93ws06?fd{M(U-gi&mHuoS`0Psk`GhO> zLeE@zmwT#jqgBs!0H6(tf=_DptT9W{sq_9+2%)88N*+SeEfsY!GKT9;M^)8VXc4Hh zbutuh$_RW#?ERDj;$ixS*x@Y)uCRU7grnfSI)!x8DX1!Rqs=;CqHy1j6r6JGy(rHW zG?NHu!gHxkHr>#p~ePU zD42Lwge(;%pgSV1EH39%fx>%Ynkq(Dg!L}(&7t*d1m7UHe}nIU`#wR|H+kl5H9b;A zGfQh{g}bh#z$Eaq+eXa@(gc>qg!vmR)?D{J`1Y!m@}k zT49NGw9dhjgilC^X~CY4Wy8GL1Se70sE#aRbpfk;l55?XgI6T8b>soP#4V)ej1!O$6b9aq zzSbC?00&y}93dx0sC5u!Pk5wc2J8|l98)T48psLCm}){z(87dpCA(_Mptc3 z85LVuncO{On`nb(n2M-gdq%}Vq+JRjUw>`fnJPS1!=sg1Zi&Y_+s#KY*`#|Udc`3)9xT0m35 zxBa#$X0i-_rLmd~n2U2ej|6W)-e7KC;8!$vh)Ims#6HXtSZ^Qcu5R-n7zlkR4bcpm z#jGKl?Bv`K7_Tb6avXPDsV!VE|E~V}H2K_J=y>w5I5t{8?Vjp;6wMfU*EPyLl@`qz zzjEM}e$^rA@(V?%7p=qIL7>U-W_xd{(c*fW@E64cm6vs^sdA*O^4xX3_3~WrpXxL7 zKMB0~1zm4;`()YjE9#Yp9%V3sY-PLyn^zsr{CV(k`6$l?`A|RmIQsyp0wMfSvizYb zxdb%((d+$xWAp!S?BEL&2;}>>ztbOM(1VZrPk}Z*DHxg97=2L^`?mp14@?gvuOKe~ z2Mq)&sVpWf$*-&e1QcxeaRdwb$ou8P7X0Y{YF|DK=8tQxA3d?8vcezwnja0gTV7E? z1cIn2#s0^6@Z&59LM$l!zvrO;G1Qe5Gj#aV zAH-2vOyG~)fB1wt8`=NC!9MJM1%bcvf|3hL3jUr0=vQG`#ou!Ul@*Ycvi&m-s3E^F zpX6`bRa!~xFP}(-zwKOp>Hp&mA_B61#T@1rl>OL`KN{$&*vA5X+ZSdAmh6ApU|<5W z0*t?H3`sHL-+95PKNRisfAep`vI;`KZAAg;zxD^rR8m&#cT6x(Wm&=B`vVp$DW-4u z+rRLmQv9ztKllazFV482;%~(~Ah1oT|62>#ji}gP@xebS3n>1M363MI$jAR@OmO-? z`+tA^L$2>PE&S{1KiH4|VBP;_U|;`({oeP#^gsXb0Q;!5|6c?7I|n$*Z}uTj_}5&( zKQvtbY=1MTihnbh;ot1H#^@g-ip<~aA2}%7e>1SZ<55}uW|042p1;|rf3V2k4C){3 zuN=_-VE-{cs=xC7V{KG_yubg~{&DZkf3TN-GiscFGdkk`VE+-1$?@NQOegI_hJqI_LKULyq<~w r_VdjA4_5de>_75)F8=oO{d>JZ|9hRnn^_sq*c<5?+BiAVI-C7Jb=z6^ literal 0 HcmV?d00001 diff --git a/Legacy/TF_Control/imc_Cernox_calibr_CRAFT.py b/Legacy/TF_Control/imc_Cernox_calibr_CRAFT.py new file mode 100644 index 0000000..069bc62 --- /dev/null +++ b/Legacy/TF_Control/imc_Cernox_calibr_CRAFT.py @@ -0,0 +1,742 @@ +from PyQt6.QtGui import * +from PyQt6.QtWidgets import * +from PyQt6.QtCore import * + +import multiprocessing +import multiprocessing.managers + +import time +import traceback,sys,os +import numpy as np +import pyqtgraph as pg +from scripts import import_txt +import random + +from scipy.optimize import curve_fit + +from timeit import default_timer as timer + +# Get the current script's directory +current_dir = os.path.dirname(os.path.abspath(__file__)) +# Get the parent directory by going one level up +parent_dir = os.path.dirname(current_dir) +# Add the parent directory to sys.path +sys.path.append(parent_dir) + +from design_files.imc_Cernox_calibr_CRAFT_design import Ui_MainWindow + + +class WorkerSignals(QObject): + ''' + Defines the signals available from a running worker thread. + Supported signals are: + finished: No data + error: tuple (exctype, value, traceback.format_exc() ) + result: object data returned from processing, anything + progress: int indicating % progress + ''' + finished = pyqtSignal() + error = pyqtSignal(tuple) + result = pyqtSignal(object) + progress = pyqtSignal(list) + + +class Worker(QRunnable): + ''' + Worker thread + Inherits from QRunnable to handler worker thread setup, signals and wrap-up. + :param callback: The function callback to run on this worker thread. Supplied args and + kwargs will be passed through to the runner. + :type callback: function + :param args: Arguments to pass to the callback function + :param kwargs: Keywords to pass to the callback function + ''' + + def __init__(self, fn, *args, **kwargs): + super(Worker, self).__init__() + + # Store constructor arguments (re-used for processing) + self.fn = fn + self.args = args + self.kwargs = kwargs + self.signals = WorkerSignals() + + # Add the callback to our kwargs + self.kwargs['progress_callback'] = self.signals.progress + + @pyqtSlot() + def run(self): + ''' + Initialise the runner function with passed args, kwargs. + ''' + + # Retrieve args/kwargs here; and fire processing using them + try: + result = self.fn(*self.args, **self.kwargs) + except: + traceback.print_exc() + exctype, value = sys.exc_info()[:2] + self.signals.error.emit((exctype, value, traceback.format_exc())) + else: + self.signals.result.emit(result) # Return the result of the processing + finally: + self.signals.finished.emit() # Done + +def get_float(Qline,default = 0): #gets value from QLineEdit and converts it to float. If text is empty or cannot be converted, it returns "default" which is 0, if not specified + try: + out = float(Qline.text()) + except: + out = default + return(out) + +def update_single_entry(dict,name,ind,val): #updates a single value in global vars. To do so it gets the current value of "dict('name')", replaces "val" at indec "ind" and sends this back + data = dict.get(f"{name}") #get data + data[ind] = val #replace entry + dict.update({f"{name}":data}) #send data back + +def calibration_function(x,a,b,c): + # return 1/(a + b*np.log(x)+c*np.log(x)**2 + d*np.log(x)**3 + e*np.log(x)**4 + g*np.log(x)**5) + # return 1/(a + b*np.log(x)+c*np.log(x)**2 + d*np.log(x)**3) + return 1/(a + b*np.log(x)+c*np.log(x)**2) + +def linear_func(x,a,b): + return a*x+b + +def CRAFT_Heater_Power_function(T): #Calculates the heater power needed for specific temperature for calibration ramping + Top_params = [1.3017, -5.5796] + Bottom_params = [1.286, -3.477] + Power_top = linear_func(T, *Top_params) + Power_bottom = linear_func(T, *Bottom_params) + + return [Power_top, Power_bottom] + + +class MainWindow(QMainWindow, Ui_MainWindow): + def __init__(self, *args, **kwargs): + # Get the current script's directory + self.current_dir = os.path.dirname(os.path.abspath(__file__)) + # Get the parent directory by going one level up + self.parent_dir = os.path.dirname(current_dir) + + #establish connection to global variables + # try: #try to connect to global variables + # manager = multiprocessing.managers.BaseManager(address=('localhost',5001), authkey=b'') + # manager.connect() + # manager.register('sync_BK_9132B') + # self.sync_BK_9132B = manager.sync_BK_9132B() + # except: #open global variables, if no connection can be made (i.e. it is not running). Then connect to it + # # subprocess.call(['D:\\Python instrument drivers\\env\\Scripts\\python.exe', 'D:\\Python instrument drivers\\StandAlones\\global_variables.py']) + # self.global_vars = QProcess() + # self.global_vars.start(self.parent_dir+"\\env\\Scripts\\python.exe", [self.current_dir+'\\global_variables.py']) + # manager.connect() + # manager.register('sync_BK_9132B') + # self.sync_BK_9132B = manager.sync_BK_9132B() + # print('!!!\nI opened global variables myself. If you close me, global variables will shut down too. Consider starting global variables in own instance for more security\n!!!') + + #fill in variables, if they are not defined in global variables + # self.sync_BK_9132B.update({'setU':[0,0,0], 'setI':[0,0,0], 'OutputOn':[False, False, False], 'U':[0,0,0], 'I':[0,0,0], 'P':[0,0,0]}) + + #import Gui from QT designer file + super(MainWindow, self).__init__(*args, **kwargs) + self.setupUi(self) + + #setup plot + self.graphWidget.setBackground('w') + self.graphWidget.setTitle("Calibration curve") + self.graphWidget.setLabel('bottom', 'Resistance (Ohm)') + self.graphWidget.setLabel('left', 'Temperature (K)') + # axis = pg.DateAxisItem() + # self.graphWidget.setAxisItems({'bottom':axis}) + + temp = [time.time(),time.time()-1] + pen1 = pg.mkPen(color=(255, 0, 0), width=2) + pen2 = pg.mkPen(color=(0, 0, 255), width=1) + self.plot_1 = self.graphWidget.plot(temp,[1,0],pen = pen1, name = 'Cernox', symbol ='x', symbolPen ='r', symbolBrush = 0.2) + self.plot_2 = self.graphWidget.plot(temp,[1,0],pen = pen2, name = 'Calibration fit') + self.graphWidget.addLegend() + + self.plot_2.hide() + + #set up pyQT threadpool + self.threadpool = QThreadPool() + + + #define signals and slots + self.actionSet_default.triggered.connect(self.set_default) + self.actionReset_default.triggered.connect(self.read_default) + self.button_connect.clicked.connect(self.start_meas) + self.line_Tsteps.editingFinished.connect(self.set_Tsteps) + self.button_start_measurement.clicked.connect(self.set_PerformMeasurement) + self.button_perform_calibration.clicked.connect(self.set_PerformCalibration) + self.Slider_select_cernox.valueChanged.connect(self.set_select_cernox) + self.comboBox_Fit_Interpolation.currentIndexChanged.connect(self.set_select_fit_interpolation) + self.line_Interpolation_res.editingFinished.connect(self.set_Interpolation_res) + self.checkBox_default_file_path.stateChanged.connect(self.set_use_default_file_path) + self.button_load_data.clicked.connect(self.load_calibration) + self.line_filePath.editingFinished.connect(self.set_file_path) + self.button_load_rawdata.clicked.connect(self.load_rawdata) + self.line_Equilibr_time_imc_to_LS.editingFinished.connect(self.set_Equilibr_time) + self.line_Equilibr_time_LS_to_imc.editingFinished.connect(self.set_Equilibr_time) + self.comboBox_LS_imc.currentIndexChanged.connect(self.set_select_LS218_imc) + self.line_Wait_time.editingFinished.connect(self.set_wait_time) + self.line_Tstart.editingFinished.connect(self.set_Tstart) + self.line_Tstop.editingFinished.connect(self.set_Tstop) + + + + #define constants + self.Npoints = 200 #number of point to plot + self.NextTpoint = 0 #Temperature value at which next measurement of T_cernox & R_cernox should be performed, depends on T_steps + self.T_steps = 0.1 #Temperature step size in Kelvin for calibration curve, relevant for self.NextTpoints + self.timedelta = 10 #measured time in seconds between last measurement and now. It has to be greater than self.Equilibr_time_LS_to_imc in order to measure new temperature with LS218 + self.PerformMeasurement = False #Boolean. If True: Measurement will be performed + self.PerformCalibration = False #Boolean. If True: Calibration fit wil be performed + self.T_array = np.empty(shape=(0,8)) #Array with all T measurements for calibration fit + self.U_array = np.empty(shape=(0,8)) #Array with all U measurements for calibration fit + self.selected_cernox = 0 #Selected cernox for data / calibration fit plotting + self.Calibration_finished = False #Boolean. If True: Calibration fit finished and fit can be plotted + self.select_fit_interpolation = 0 #Select between fit (0) or interpolation (1) + self.Interpolation_res = 100 #Amount of interpolated points per Kelvin + self.use_default_file_path = True #If True: Use default file path for loading calibration (\\calibration_data) + self.file_path = 0 #File path for loading calibration + self.select_LS218_imc = 0 #Decide between LS218 or calibrated imc data for forward data (0: LS218, 1: imc) + self.Equilibr_time_imc_to_LS = 3 #Equilibrium time for imc -> t -> LS218 (seconds) + self.Equilibr_time_LS_to_imc = 1 #Equilibrium time for LS -> t -> imc (seconds) + self.T_imc_old = False #Boolean which will be compared to T_imc in global variables to check if global_variable has been changed + self.running = True #true while app is running + self.disable_plot = False #constant to disable plot to improve performance. Is changed by checkbox checkBox_disableplots + self.lines_config_float = [self.line_Tstart, self.line_Tstop, self.line_Tsteps, self.line_Wait_time, self.line_Equilibr_time_imc_to_LS, self.line_Equilibr_time_LS_to_imc, self.line_Interpolation_res]#is used for config file + self.lines_config_strings = [self.line_filePath]#is used for config file + self.checkboxes_config = [self.checkBox_default_file_path]#is used for config file + self.combobox_config = [self.comboBox_Fit_Interpolation]#is used for config file + self.wait_time = 60 #Waiting time for setup to get stable temperature to perform measurement for calibration. + self.T_start = 5 #T_start for Calibration. This is just a rough estimation of temperature, since the heater power is NOT driven by a PID controller + self.T_stop = 15 #T_stop for Calibration. This is just a rough estimation of temperature, since the heater power is NOT driven by a PID controller + self.setT = 0 #set temperature for heater. This is just a random value. It is set later according to edit_line in GUI + + #read default values from config and set them in gui + self.read_default() + self.set_file_path() + self.set_Tsteps() + self.set_Interpolation_res() + self.set_use_default_file_path() + self.set_Equilibr_time() + self.set_Tstart() + self.set_Tstop() + self.set_wait_time() + + + def start_meas(self): + + #establish connection to global variables + try: #try to connect to global variables + manager = multiprocessing.managers.BaseManager(address=('localhost',5001), authkey=b'') + manager.connect() + manager.register('syncdict') + manager.register('sync_BK_9132B') + manager.register('sync_LS_218') + manager.register('sync_BK_9132B_2') + manager.register('sync_imc') + manager.register('sync_converted') + self.syncdict = manager.syncdict() + self.sync_BK_9132B = manager.sync_BK_9132B() + self.sync_LS_218 = manager.sync_LS_218() + self.sync_BK_9132B_2 = manager.sync_BK_9132B_2() + self.sync_imc = manager.sync_imc() + self.sync_converted = manager.sync_converted() + except: #open global variables, if no connection can be made (i.e. it is not running). Then connect to it + # subprocess.call(['D:\\Python instrument drivers\\env\\Scripts\\python.exe', 'D:\\Python instrument drivers\\StandAlones\\global_variables.py']) + self.global_vars = QProcess() + self.global_vars.start(self.current_dir+"\\.venv\\Scripts\\python.exe", [self.current_dir+'\\global_variables_TF.py']) + manager.connect() + manager.register('syncdict') + manager.register('sync_BK_9132B') + manager.register('sync_BK_9132B_2') + manager.register('sync_LS_218') + manager.register('sync_imc') + manager.register('sync_converted') + self.syncdict = manager.syncdict() + self.sync_BK_9132B = manager.sync_BK_9132B() + self.sync_LS_218 = manager.sync_LS_218() + self.sync_BK_9132B_2 = manager.sync_BK_9132B_2() + self.sync_imc = manager.sync_imc() + self.sync_converted = manager.sync_converted() + print('!!!\nI opened global variables myself. If you close me, global variables will shut down too. Consider starting global variables in own instance for more security\n!!!') + + #fill in variables, in case they are not defined in global variables + self.sync_LS_218.update({'T':[0,0,0,0,0,0,0,0]}) + + if self.syncdict.get('T_imc') == None: + self.syncdict.update({'T_imc':self.T_imc_old}) + + #set proper U and I values for LS<>imc relais + update_single_entry(self.sync_BK_9132B, "setU", 2, 5) + update_single_entry(self.sync_BK_9132B, "setI", 2, 1) + + #Start timer. Not important now, but its needed to calculate a beginning self.timedelta + self.time_start = timer() + + + #Set power supply for heater in correct state: + update_single_entry(self.sync_BK_9132B_2,'OutputOn',0,True) + update_single_entry(self.sync_BK_9132B_2,'OutputOn',1,True) + update_single_entry(self.sync_BK_9132B_2,'setI',0,1.5) + update_single_entry(self.sync_BK_9132B_2,'setI',1,1.5) + update_single_entry(self.sync_BK_9132B_2,'setU',0,0) + update_single_entry(self.sync_BK_9132B_2,'setU',1,0) + + + self.worker = Worker(self.update_all) + self.worker.signals.progress.connect(self.update_gui) + self.threadpool.start(self.worker) + self.bla = 4 + + def update_all(self, progress_callback): + #get values from device and write them to global variables. Checks if global variables changed from last iteration. Also pass it to upddate_gui with emit(T) + while self.running == True: + + #Check if T_imc has changed in global variables. If so: Execute self.set_select_LS218_imc function + T_imc_new = self.syncdict.get('T_imc') + if T_imc_new != self.T_imc_old: + if T_imc_new == True: #Convert from T_imc boolean (True -> imc) to select_LS218_imc (0 -> LS218, 1 -> imc) + status = 1 + else: + status = 0 + self.set_select_LS218_imc(status) + self.comboBox_LS_imc.setCurrentIndex(status) + + self.T_imc_old = T_imc_new + + + + #update_single_entry(dict,name,ind,val) + + #GENERATE DUMMY MEASUREMENT VALUES + # Uparams = [ 1.27319446e-03, 1.18559736e-03, 2.22734335e-04, 2.62920119e-05, -2.70008105e-05, 6.36768397e-06] #Params for dummy measurement values + + # T = [self.bla + 0.1*random.random() for i in range(0,8)] #read Temperature of LS218 (8 Cernox sensors) + # U = calibration_function(T, *Uparams) #read Voltage of all imc Cernox channels + # for i,value in enumerate(U): + # U[i] = U[i] + 1*random.random() + + #Measure temperature with LS218 + T = self.sync_LS_218.get('T') + + + + #Print measured data + # print("Values = " +str(np.round(U[0],2)) +" " +str(np.round(T[0],2))) + + + + current_dir = os.path.dirname(os.path.abspath(__file__)) + + #Select file_path for saving + if self.use_default_file_path == True: #use default file path: Folder \calibration_data + current_dir = os.path.dirname(os.path.abspath(__file__)) + path = current_dir+'\\calibration_data' #To make sure the config file is at the right place, independent from where the program is started the location of the file is retrieved + else: #use specific file path + if self.file_path == 0: + print("No file path entered.") + else: + path = self.file_path + + if self.PerformCalibration == False: #Be able to perform Measurement if Boolean is False + if self.PerformMeasurement == True: #Perform Measurement if Boolean is True + # Set heater to power needed to reach self.setT: + R_Heater = 75 #Resistance of heaters (Ohm) + setP = CRAFT_Heater_Power_function(self.setT) + + if setP[0] <0: + setP[0] = 0 + if setP[1] <0: + setP[1] = 0 + + U_top = np.sqrt(setP[0]*R_Heater) + U_bottom = np.sqrt(setP[1]*R_Heater) + + update_single_entry(self.sync_BK_9132B_2,'setU',0,U_top) + update_single_entry(self.sync_BK_9132B_2,'setU',1,U_bottom) + # print(setP) + + + self.time_now = timer() + self.timedelta = self.time_now - self.time_start + self.set_wait_time() #update wait time + if self.timedelta > self.wait_time and self.timedelta > self.Equilibr_time_imc_to_LS and self.setT <= self.T_stop: #Take measurement point if temperature of Cernox 1 is higher than self.NextTpoint + + #Measure multiple temperature values for mean: + T_array_mean = np.empty(shape=(0,8)) + for i in range(0,10): + T_value = self.sync_LS_218.get('T') + T_array_mean = np.append(T_array_mean, [T_value], axis=0) + time.sleep(0.2) + T = np.mean(T_array_mean, axis=0) + T = T.tolist() + + + self.T_array = np.append(self.T_array, [T], axis=0) #Append current T value to self.T_array for calibration + + #Measure Cernox voltage with imc. Therefore, turn on relais and wait a short time + update_single_entry(self.sync_BK_9132B, "OutputOn", 2, True) + time.sleep(self.Equilibr_time_LS_to_imc) + + #Measure multiple voltages + U_array = np.empty(shape=(0,8)) + for i in range(0,10): + U_meas = self.sync_imc.get('T') + U_array = np.append(U_array, [U_meas], axis=0) + time.sleep(0.2) + U = np.mean(U_array, axis=0) + update_single_entry(self.sync_BK_9132B, "OutputOn", 2, False) + # time.sleep(2.5) + + self.U_array = np.append(self.U_array, [U], axis=0) #Append current U value to self.U_array for calibration + + #Save measured data in file + path_T = path + '\\Cernox_calibration_rawdata_T.txt' #Rawdata: T_array + path_U = path + '\\Cernox_calibration_rawdata_U.txt' #Rawdata: U_array + with open(path_T,'a') as file_T: + np.savetxt(file_T, [T]) + with open(path_U,'a') as file_U: + np.savetxt(file_U, [U]) + print("Saved measurement in rawdata.") + + self.NextTpoint = self.NextTpoint + self.T_steps #Increase NextTpoint by one T_step for next measurement #NICHT MEHR GEBRAUCHT, ALTER CODE + self.setT = self.setT + self.T_steps + self.time_start = timer() + else: #Dont measure anything + self.NextTpoint = T[0] #Reset NextTpoint to current temperature of Cernox 1 + self.setT = self.T_start #set set-Temperature to T_start + else: + #Perform Calibration fit/interpolation with saved measurements in T_array & U_array + + #Create two arrays for params and param stds for fitting functionality + self.Params_array = np.empty(shape=(0,3)) #Array with all fitting parameters for all 1-8 Cernoxs (6 because of 6 fit parameters) + self.Std_array = np.empty(shape=(0,3)) #Array with all fitting parameter stds for all 1-8 Cernox (6 because of 6 fit parameters) + + #In case of curve-fitting, set array size to fixed value of 1000. This value is arbitrary and is just importan for plotting. + if self.select_fit_interpolation == 0: + self.T_calibr_array = np.empty(shape=(1000,8)) + self.U_calibr_array = np.empty(shape=(1000,8)) + + #In case interpolation will be performed, increase size of T_calibr_array and U_calibr_array dependent on interpolation_res + if self.select_fit_interpolation == 1: + Tmin_global = np.min(self.T_array) + Tmax_global = np.max(self.T_array) + number_of_points = int(self.Interpolation_res*(Tmax_global-Tmin_global)) #number of temperature points for interpolation + self.T_calibr_array = np.empty(shape=(number_of_points,8)) + self.U_calibr_array = np.empty(shape=(number_of_points,8)) + + for i in range(0,8): #Perform curve fit / interpolation for all 8 Cernox sensors + + #Minimum and maximum voltage of Cernox i, measured during measurement interval + Umin = np.min(self.U_array[:,i]) + Umax = np.max(self.U_array[:,i]) + + #Minimum and maximum temperature of Cernox i, measured during measurement interval + Tmin = np.min(self.T_array[:,i]) + Tmax = np.max(self.T_array[:,i]) + + if self.select_fit_interpolation == 0: #Perform fit + + Params, Cov = curve_fit(calibration_function, self.U_array[:,i], self.T_array[:,i], maxfev = 1000000) + Std = np.diag(Cov) + # + #, p0=(-6.82560246e+01, 4.35751772e+01, -8.53436023e+00, 1.26904343e-01, 1.24338400e-01, -9.53073013e-03) + # + + #Append Params and Std values to self.xxx_arrays + self.Params_array = np.append(self.Params_array, [Params], axis=0) + self.Std_array = np.append(self.Std_array, [Std], axis=0) + + self.U_calibr_array[:,i] = np.linspace(Umin, Umax, 1000) #Voltage data points. #points = 1000 is chosen arbitrarily, just important for plotting + self.T_calibr_array[:,i] = calibration_function(self.U_calibr_array[:,i], *Params) + print("Fitted cernox " +str(i) +" successfully.") + + path2 = path +'\\Cernox'+str(i)+'_fit.txt' #To make sure the config file is at the right place, independent from where the program is started the location of the file is retrieved + #Add Umin and Umax to file. Relevant information when loading this calibration file. + Params_and_Limits = np.append(Params, [Umin]) + Params_and_Limits = np.append(Params_and_Limits, [Umax]) + np.savetxt(path2, Params_and_Limits) + print("Fit parameters saved.") + + if self.select_fit_interpolation == 1: #Perform interpolation + #(Perform interpolation with T on x-axis and U on y-axis since we want to define interpolation_res as #points per KELVIN) + self.T_calibr_array[:,i] = np.linspace(Tmin, Tmax, number_of_points) + self.U_calibr_array[:,i] = np.interp(self.T_calibr_array[:,i], self.T_array[:,i], self.U_array[:,i]) + print("Interpolated cernox " +str(i) +" successfully.") + + #Save interpolation array (combination of U_calibr_array and T_calibr_array) + interpolation_array = np.vstack((self.U_calibr_array[:,i], self.T_calibr_array[:,i])).T + path2 = path +'\\Cernox'+str(i)+'_interpolation.txt' #To make sure the config file is at the right place, independent from where the program is started the location of the file is retrieved + np.savetxt(path2, interpolation_array) + print("Interpolation list saved.") + + self.PerformCalibration = False + self.Calibration_finished = True + + + if self.Calibration_finished == True and self.select_LS218_imc == 1: + update_single_entry(self.sync_BK_9132B, "OutputOn", 2, True) #Turn on imc<>LS218 relais + U = self.sync_imc.get('T') + else: + update_single_entry(self.sync_BK_9132B, "OutputOn", 2, False) #Turn off imc<>LS218 relais + U = [1,1,1,1,1,1,1,1] + + + progress_callback.emit([U,T]) #Emits list of Voltage U and Temperature T + + self.bla = self.bla + 0.05 #self.bla increased for dummy measurement values + time.sleep(0.1) + + # del(self.BK) #disconnect device when self.running is set to False + + def update_gui(self, List): + #Convert List into original format + U = List[0] + T = List[1] + + #Plot live data while measuring + self.plot_1.setData(self.U_array[:,self.selected_cernox],self.T_array[:,self.selected_cernox]) + + if self.Calibration_finished == True: #Plot fitting curve + + self.plot_2.show() + self.plot_2.setData(self.U_calibr_array[:,self.selected_cernox],self.T_calibr_array[:,self.selected_cernox]) + + #Converting all current U measurements to temperature measurements: + T_calculated = [] + + if self.select_fit_interpolation == 0: #Perform conversion by calculating T with fitting curve + for i in range(0,8): + T_calc_single = calibration_function(U[i], *self.Params_array[i]) + T_calculated.append(T_calc_single) + + if self.select_fit_interpolation == 1: #Perform conversion by searching for the best entry in interpolation array + for i in range(0,8): + Nearest_index = self.nearest_value_in_array(self.U_calibr_array[:,i], U[i]) + T_calc_single = self.T_calibr_array[Nearest_index, i] + T_calculated.append(T_calc_single) + + if self.select_LS218_imc == 0: #LS218 data should be forwarded + T_output = T + + + else: #Forward calibrated imc data + T_output = T_calculated + + + else: #Forward LS218 data + T_output = T + + self.sync_converted.update({'T':T_output}) + # print(T_output) + + + def set_Tsteps(self): + #updates T_steps (temperature step size for cernox calibration) + self.T_steps = get_float(self.line_Tsteps) + + def set_PerformMeasurement(self): + #updates status for cernox calibration measurement to True -> Measurement will be performed + if self.PerformMeasurement == True: + self.PerformMeasurement = False + else: + self.PerformMeasurement = True + + def set_PerformCalibration(self): + #updates status for cernox calibration fit. If True -> Perform fit with measurement data in T_array & U_array + if self.PerformCalibration == True: + self.PerformCalibration = False + else: + self.PerformCalibration = True + + def set_select_cernox(self, value): + self.selected_cernox = value -1 # -1 because we want to have same declaration in python and #Cernox + self.line_Cernox.setText(str(self.selected_cernox)) + + def set_select_fit_interpolation(self, value): + self.select_fit_interpolation = value + + if value == 0: + self.button_perform_calibration.setText("Perform Fit") + self.button_load_data.setText("Load fit data from file path") + self.line_Interpolation_res.setEnabled(False) + if value == 1: + self.button_perform_calibration.setText("Perform Interpolation") + self.button_load_data.setText("Load interpolation data from file path") + self.line_Interpolation_res.setEnabled(True) + + self.Calibration_finished = False #Set boolean to False in order to stop conversion of U-values to T-values in update_gui + + def set_Interpolation_res(self): + self.Interpolation_res = get_float(self.line_Interpolation_res) + + def set_use_default_file_path(self): + self.use_default_file_path = self.checkBox_default_file_path.isChecked() + + if self.use_default_file_path == True: + self.line_filePath.setEnabled(False) + else: + self.line_filePath.setEnabled(True) + + def load_calibration(self): + if self.use_default_file_path == True: #use default file path: Folder \calibration_data + current_dir = os.path.dirname(os.path.abspath(__file__)) + path = current_dir+'\\calibration_data' #To make sure the config file is at the right place, independent from where the program is started the location of the file is retrieved + else: #use specific file path + if self.file_path == 0: + print("No file path entered.") + else: + path = self.file_path + #Loading rawdata (measured U & T points) before loading calibration data + self.load_rawdata() + + if self.select_fit_interpolation == 0: + #Create arrays with shape (1000,8) where 1000 is the amount of points to be plotted + self.T_calibr_array = np.empty(shape=(1000,8)) + self.U_calibr_array = np.empty(shape=(1000,8)) + + #Create new Params_array and Std_array + self.Params_array = np.empty(shape=(0,6)) #Array with all fitting parameters for all 1-8 Cernoxs (6 because of 6 fit parameters) + self.Std_array = np.empty(shape=(0,6)) #Array with all fitting parameter stds for all 1-8 Cernox (6 because of 6 fit parameters) + + if self.select_fit_interpolation == 1: + #Create arrays with size dependent on arrays to be loaded. Measure size for the first Cernox + pathCernoxInterpolation = path +'\\Cernox0_interpolation.txt' + preview = np.loadtxt(pathCernoxInterpolation) + preview_length = len(preview[:,0]) + self.T_calibr_array = np.empty(shape=(preview_length,8)) + self.U_calibr_array = np.empty(shape=(preview_length,8)) + + for i in range(0,8): + + if self.select_fit_interpolation == 0: #Load fitting parameters + + pathCernoxFit = path +'\\Cernox'+str(i)+'_fit.txt' + LoadedData = np.loadtxt(pathCernoxFit) + Params = LoadedData[0:-2] + Umin = LoadedData[-2] + Umax = LoadedData[-1] + + #Append Params to Params_array + self.Params_array = np.append(self.Params_array, [Params], axis=0) + + #Crate dataset for curve-fit plotting + self.U_calibr_array[:,i] = np.linspace(Umin, Umax, 1000) #Voltage data points. #points = 1000 is chosen arbitrarily, just important for plotting + self.T_calibr_array[:,i] = calibration_function(self.U_calibr_array[:,i], *Params) + + print("Loaded cernox " +str(i) +" fitting parameters successfully.") + + else: #Load interpolation parameters + pathCernoxInterpolation = path +'\\Cernox'+str(i)+'_interpolation.txt' + self.U_calibr_array[:,i] = np.loadtxt(pathCernoxInterpolation)[:,0] + self.T_calibr_array[:,i] = np.loadtxt(pathCernoxInterpolation)[:,1] + + + self.Calibration_finished = True + + def load_rawdata(self): + #Just load rawdata from measurement without calibration (fit / interpolation) data + if self.use_default_file_path == True: #use default file path: Folder \calibration_data + current_dir = os.path.dirname(os.path.abspath(__file__)) + path = current_dir+'\\calibration_data' #To make sure the config file is at the right place, independent from where the program is started the location of the file is retrieved + else: #use specific file path + if self.file_path == 0: + print("No file path entered.") + else: + path = self.file_path + + #Loading rawdata (measured U & T points) before loading calibration data + pathRawData_T = path + '\\Cernox_calibration_rawdata_T.txt' + self.T_array = np.loadtxt(pathRawData_T) + pathRawData_U = path + '\\Cernox_calibration_rawdata_U.txt' + self.U_array = np.loadtxt(pathRawData_U) + + + def set_file_path(self): + self.file_path = self.line_filePath.text() + + def nearest_value_in_array(self, array, value): #Returns index of closest entry in array compared to value + index = (np.abs(array - value)).argmin() + return(index) + + def set_Equilibr_time(self): + self.Equilibr_time_LS_to_imc = get_float(self.line_Equilibr_time_LS_to_imc) + self.Equilibr_time_imc_to_LS = get_float(self.line_Equilibr_time_imc_to_LS) + + def set_select_LS218_imc(self, value): + self.select_LS218_imc = value + if value == 0: + time.sleep(1.5) #time for LS218 to settle + + def set_wait_time(self): + self.wait_time = get_float(self.line_Wait_time) + + def set_Tstart(self): + self.T_start = get_float(self.line_Tstart) + + def set_Tstop(self): + self.T_stop = get_float(self.line_Tstop) + + + def set_default(self): + #saves current set values to txt file in subdirectory configs. All entries that are saved are defined in self.lines_config + #Overwrites old values in config file. + current_dir = os.path.dirname(os.path.abspath(__file__)) + path = current_dir+'\\configs\\imc_Cernox_calibr_CRAFT_config.txt' #To make shure the config file is at the right place, independent from where the program is started the location of the file is retrieved + file = open(path,'w') + for l in self.lines_config_float: + temp = f"{get_float(l)}" + file.write(temp+'\t') + for l in self.lines_config_strings: + file.write(l.text()+'\t') + for c in self.checkboxes_config: + file.write(str(c.isChecked())+'\t') + for c in self.combobox_config: + file.write(str(c.currentIndex())+'\t') + file.write('\n') + file.close + + + def read_default(self): + #reads default values from config file in subdirectory config and sets the values in gui. Then self.change is set to true so values are send + #to device. (If no config file exists, it does nothing.) + current_dir = os.path.dirname(os.path.abspath(__file__)) + path = current_dir+'\\configs\\imc_Cernox_calibr_CRAFT_config.txt' #To make shure the config file is read from the right place, independent from where the program is started the location of the file is retrieved + try: #exit function if config file does not exist + vals = import_txt.read_raw(path) + except: + print('no config file found on') + print(path) + return + formats = ['.2f', '.2f', '.2f','.2f','.2f','.2f','.0f'] + + for l,v,f in zip(self.lines_config_float,vals[0],formats): + v = float(v) #convert string in txt to float, so number can be formatted according to "formats" when it's set + l.setText(format(v,f)) + + for l,v in zip(self.lines_config_strings,vals[0][len(self.lines_config_float):]): + l.setText(v) + + for c,v in zip(self.checkboxes_config,vals[0][len(self.lines_config_float)+len(self.lines_config_strings):]): + c.setChecked(v == 'True') + + for c,v in zip(self.combobox_config,vals[0][len(self.lines_config_float)+len(self.lines_config_strings)+len(self.checkboxes_config):]): + c.setCurrentIndex(int(v)) + + self.change = True + + def closeEvent(self,event): #when window is closed self.running is set to False, so all threads stop + self.running = False + time.sleep(1) + event.accept() + + + +app = QApplication(sys.argv) + +window = MainWindow() +window.show() +app.exec() \ No newline at end of file diff --git a/Legacy/TF_Control/imc_Cernox_calibr_control.py b/Legacy/TF_Control/imc_Cernox_calibr_control.py new file mode 100644 index 0000000..be3ab4e --- /dev/null +++ b/Legacy/TF_Control/imc_Cernox_calibr_control.py @@ -0,0 +1,655 @@ +from PyQt6.QtGui import * +from PyQt6.QtWidgets import * +from PyQt6.QtCore import * + +import multiprocessing +import multiprocessing.managers + +import time +import traceback,sys,os +import numpy as np +import pyqtgraph as pg +from scripts import import_txt +import random + +from scipy.optimize import curve_fit + +from timeit import default_timer as timer + +# Get the current script's directory +current_dir = os.path.dirname(os.path.abspath(__file__)) +# Get the parent directory by going one level up +parent_dir = os.path.dirname(current_dir) +# Add the parent directory to sys.path +sys.path.append(parent_dir) + +from design_files.imc_Cernox_calibr_design import Ui_MainWindow + + +class WorkerSignals(QObject): + ''' + Defines the signals available from a running worker thread. + Supported signals are: + finished: No data + error: tuple (exctype, value, traceback.format_exc() ) + result: object data returned from processing, anything + progress: int indicating % progress + ''' + finished = pyqtSignal() + error = pyqtSignal(tuple) + result = pyqtSignal(object) + progress = pyqtSignal(list) + + +class Worker(QRunnable): + ''' + Worker thread + Inherits from QRunnable to handler worker thread setup, signals and wrap-up. + :param callback: The function callback to run on this worker thread. Supplied args and + kwargs will be passed through to the runner. + :type callback: function + :param args: Arguments to pass to the callback function + :param kwargs: Keywords to pass to the callback function + ''' + + def __init__(self, fn, *args, **kwargs): + super(Worker, self).__init__() + + # Store constructor arguments (re-used for processing) + self.fn = fn + self.args = args + self.kwargs = kwargs + self.signals = WorkerSignals() + + # Add the callback to our kwargs + self.kwargs['progress_callback'] = self.signals.progress + + @pyqtSlot() + def run(self): + ''' + Initialise the runner function with passed args, kwargs. + ''' + + # Retrieve args/kwargs here; and fire processing using them + try: + result = self.fn(*self.args, **self.kwargs) + except: + traceback.print_exc() + exctype, value = sys.exc_info()[:2] + self.signals.error.emit((exctype, value, traceback.format_exc())) + else: + self.signals.result.emit(result) # Return the result of the processing + finally: + self.signals.finished.emit() # Done + +def get_float(Qline,default = 0): #gets value from QLineEdit and converts it to float. If text is empty or cannot be converted, it returns "default" which is 0, if not specified + try: + out = float(Qline.text()) + except: + out = default + return(out) + +def update_single_entry(dict,name,ind,val): #updates a single value in global vars. To do so it gets the current value of "dict('name')", replaces "val" at indec "ind" and sends this back + data = dict.get(f"{name}") #get data + data[ind] = val #replace entry + dict.update({f"{name}":data}) #send data back + +def calibration_function(x,a,b,c): + # return 1/(a + b*np.log(x)+c*np.log(x)**2 + d*np.log(x)**3 + e*np.log(x)**4 + g*np.log(x)**5) + # return 1/(a + b*np.log(x)+c*np.log(x)**2 + d*np.log(x)**3) + return 1/(a + b*np.log(x)+c*np.log(x)**2) + + +class MainWindow(QMainWindow, Ui_MainWindow): + def __init__(self, *args, **kwargs): + # Get the current script's directory + self.current_dir = os.path.dirname(os.path.abspath(__file__)) + # Get the parent directory by going one level up + self.parent_dir = os.path.dirname(current_dir) + + #establish connection to global variables + # try: #try to connect to global variables + # manager = multiprocessing.managers.BaseManager(address=('localhost',5001), authkey=b'') + # manager.connect() + # manager.register('sync_BK_9132B') + # self.sync_BK_9132B = manager.sync_BK_9132B() + # except: #open global variables, if no connection can be made (i.e. it is not running). Then connect to it + # # subprocess.call(['D:\\Python instrument drivers\\env\\Scripts\\python.exe', 'D:\\Python instrument drivers\\StandAlones\\global_variables.py']) + # self.global_vars = QProcess() + # self.global_vars.start(self.parent_dir+"\\env\\Scripts\\python.exe", [self.current_dir+'\\global_variables.py']) + # manager.connect() + # manager.register('sync_BK_9132B') + # self.sync_BK_9132B = manager.sync_BK_9132B() + # print('!!!\nI opened global variables myself. If you close me, global variables will shut down too. Consider starting global variables in own instance for more security\n!!!') + + #fill in variables, if they are not defined in global variables + # self.sync_BK_9132B.update({'setU':[0,0,0], 'setI':[0,0,0], 'OutputOn':[False, False, False], 'U':[0,0,0], 'I':[0,0,0], 'P':[0,0,0]}) + + #import Gui from QT designer file + super(MainWindow, self).__init__(*args, **kwargs) + self.setupUi(self) + + #setup plot + self.graphWidget.setBackground('w') + self.graphWidget.setTitle("Calibration curve") + self.graphWidget.setLabel('bottom', 'Resistance (Ohm)') + self.graphWidget.setLabel('left', 'Temperature (K)') + # axis = pg.DateAxisItem() + # self.graphWidget.setAxisItems({'bottom':axis}) + + temp = [time.time(),time.time()-1] + pen1 = pg.mkPen(color=(255, 0, 0), width=2) + pen2 = pg.mkPen(color=(0, 0, 255), width=1) + self.plot_1 = self.graphWidget.plot(temp,[1,0],pen = pen1, name = 'Cernox', symbol ='x', symbolPen ='r', symbolBrush = 0.2) + self.plot_2 = self.graphWidget.plot(temp,[1,0],pen = pen2, name = 'Calibration fit') + self.graphWidget.addLegend() + + self.plot_2.hide() + + #set up pyQT threadpool + self.threadpool = QThreadPool() + + + #define signals and slots + self.actionSet_default.triggered.connect(self.set_default) + self.actionReset_default.triggered.connect(self.read_default) + self.button_connect.clicked.connect(self.start_meas) + self.line_Tsteps.editingFinished.connect(self.set_Tsteps) + self.button_start_measurement.clicked.connect(self.set_PerformMeasurement) + self.button_perform_calibration.clicked.connect(self.set_PerformCalibration) + self.Slider_select_cernox.valueChanged.connect(self.set_select_cernox) + self.comboBox_Fit_Interpolation.currentIndexChanged.connect(self.set_select_fit_interpolation) + self.line_Interpolation_res.editingFinished.connect(self.set_Interpolation_res) + self.checkBox_default_file_path.stateChanged.connect(self.set_use_default_file_path) + self.button_load_data.clicked.connect(self.load_calibration) + self.line_filePath.editingFinished.connect(self.set_file_path) + self.button_load_rawdata.clicked.connect(self.load_rawdata) + self.line_Equilibr_time_imc_to_LS.editingFinished.connect(self.set_Equilibr_time) + self.line_Equilibr_time_LS_to_imc.editingFinished.connect(self.set_Equilibr_time) + self.comboBox_LS_imc.currentIndexChanged.connect(self.set_select_LS218_imc) + + + + #define constants + self.Npoints = 200 #number of point to plot + self.NextTpoint = 0 #Temperature value at which next measurement of T_cernox & R_cernox should be performed, depends on T_steps + self.T_steps = 0.1 #Temperature step size in Kelvin for calibration curve, relevant for self.NextTpoints + self.timedelta = 10 #measured time in seconds between last measurement and now. It has to be greater than self.Equilibr_time_LS_to_imc in order to measure new temperature with LS218 + self.PerformMeasurement = False #Boolean. If True: Measurement will be performed + self.PerformCalibration = False #Boolean. If True: Calibration fit wil be performed + self.T_array = np.empty(shape=(0,8)) #Array with all T measurements for calibration fit + self.U_array = np.empty(shape=(0,8)) #Array with all U measurements for calibration fit + self.selected_cernox = 0 #Selected cernox for data / calibration fit plotting + self.Calibration_finished = False #Boolean. If True: Calibration fit finished and fit can be plotted + self.select_fit_interpolation = 0 #Select between fit (0) or interpolation (1) + self.Interpolation_res = 100 #Amount of interpolated points per Kelvin + self.use_default_file_path = True #If True: Use default file path for loading calibration (\\calibration_data) + self.file_path = 0 #File path for loading calibration + self.select_LS218_imc = 0 #Decide between LS218 or calibrated imc data for forward data (0: LS218, 1: imc) + self.Equilibr_time_imc_to_LS = 3 #Equilibrium time for imc -> t -> LS218 (seconds) + self.Equilibr_time_LS_to_imc = 1 #Equilibrium time for LS -> t -> imc (seconds) + self.T_imc_old = False #Boolean which will be compared to T_imc in global variables to check if global_variable has been changed + self.running = True #true while app is running + self.disable_plot = False #constant to disable plot to improve performance. Is changed by checkbox checkBox_disableplots + self.lines_config_float = [self.line_Tsteps, self.line_Equilibr_time_imc_to_LS, self.Equilibr_time_LS_to_imc, self.line_Interpolation_res]#is used for config file + self.lines_config_strings = [self.line_filePath]#is used for config file + self.checkboxes_config = [self.checkBox_default_file_path]#is used for config file + self.combobox_config = [self.comboBox_Fit_Interpolation]#is used for config file + + #read default values from config and set them in gui + self.read_default() + + + def start_meas(self): + + #establish connection to global variables + try: #try to connect to global variables + manager = multiprocessing.managers.BaseManager(address=('localhost',5001), authkey=b'') + manager.connect() + manager.register('syncdict') + manager.register('sync_BK_9132B') + manager.register('sync_LS_218') + manager.register('sync_LS_218') + manager.register('sync_imc') + manager.register('sync_converted') + self.syncdict = manager.syncdict() + self.sync_BK_9132B = manager.sync_BK_9132B() + self.sync_LS_218 = manager.sync_LS_218() + self.sync_imc = manager.sync_imc() + self.sync_converted = manager.sync_converted() + except: #open global variables, if no connection can be made (i.e. it is not running). Then connect to it + # subprocess.call(['D:\\Python instrument drivers\\env\\Scripts\\python.exe', 'D:\\Python instrument drivers\\StandAlones\\global_variables.py']) + self.global_vars = QProcess() + self.global_vars.start(self.current_dir+"\\.venv\\Scripts\\python.exe", [self.current_dir+'\\global_variables_TF.py']) + manager.connect() + manager.register('syncdict') + manager.register('sync_BK_9132B') + manager.register('sync_LS_218') + manager.register('sync_imc') + manager.register('sync_converted') + self.syncdict = manager.syncdict() + self.sync_BK_9132B = manager.sync_BK_9132B() + self.sync_LS_218 = manager.sync_LS_218() + self.sync_imc = manager.sync_imc() + self.sync_converted = manager.sync_converted() + print('!!!\nI opened global variables myself. If you close me, global variables will shut down too. Consider starting global variables in own instance for more security\n!!!') + + #fill in variables, in case they are not defined in global variables + self.sync_LS_218.update({'T':[0,0,0,0,0,0,0,0]}) + + if self.syncdict.get('T_imc') == None: + self.syncdict.update({'T_imc':self.T_imc_old}) + + #set proper U and I values for LS<>imc relais + update_single_entry(self.sync_BK_9132B, "setU", 2, 5) + update_single_entry(self.sync_BK_9132B, "setI", 2, 1) + + #Start timer. Not important now, but its needed to calculate a beginning self.timedelta + self.time_start = timer() + + + self.worker = Worker(self.update_all) + self.worker.signals.progress.connect(self.update_gui) + self.threadpool.start(self.worker) + self.bla = 4 + + def update_all(self, progress_callback): + #get values from device and write them to global variables. Checks if global variables changed from last iteration. Also pass it to upddate_gui with emit(T) + while self.running == True: + + #Check if T_imc has changed in global variables. If so: Execute self.set_select_LS218_imc function + T_imc_new = self.syncdict.get('T_imc') + if T_imc_new != self.T_imc_old: + if T_imc_new == True: #Convert from T_imc boolean (True -> imc) to select_LS218_imc (0 -> LS218, 1 -> imc) + status = 1 + else: + status = 0 + self.set_select_LS218_imc(status) + self.comboBox_LS_imc.setCurrentIndex(status) + + self.T_imc_old = T_imc_new + + + + #update_single_entry(dict,name,ind,val) + + #GENERATE DUMMY MEASUREMENT VALUES + # Uparams = [ 1.27319446e-03, 1.18559736e-03, 2.22734335e-04, 2.62920119e-05, -2.70008105e-05, 6.36768397e-06] #Params for dummy measurement values + + # T = [self.bla + 0.1*random.random() for i in range(0,8)] #read Temperature of LS218 (8 Cernox sensors) + # U = calibration_function(T, *Uparams) #read Voltage of all imc Cernox channels + # for i,value in enumerate(U): + # U[i] = U[i] + 1*random.random() + + #Measure temperature with LS218 + T = self.sync_LS_218.get('T') + + #Print measured data + # print("Values = " +str(np.round(U[0],2)) +" " +str(np.round(T[0],2))) + + + + current_dir = os.path.dirname(os.path.abspath(__file__)) + + #Select file_path for saving + if self.use_default_file_path == True: #use default file path: Folder \calibration_data + current_dir = os.path.dirname(os.path.abspath(__file__)) + path = current_dir+'\\calibration_data' #To make sure the config file is at the right place, independent from where the program is started the location of the file is retrieved + else: #use specific file path + if self.file_path == 0: + print("No file path entered.") + else: + path = self.file_path + + if self.PerformCalibration == False: #Be able to perform Measurement if Boolean is False + if self.PerformMeasurement == True: #Perform Measurement if Boolean is True + self.time_now = timer() + self.timedelta = self.time_now - self.time_start + if T[0] >= self.NextTpoint and self.timedelta > self.Equilibr_time_imc_to_LS: #Take measurement point if temperature of Cernox 1 is higher than self.NextTpoint + + self.T_array = np.append(self.T_array, [T], axis=0) #Append current T value to self.T_array for calibration + + #Measure Cernox voltage with imc. Therefore, turn on relais and wait a short time + update_single_entry(self.sync_BK_9132B, "OutputOn", 2, True) + time.sleep(self.Equilibr_time_LS_to_imc) + U = self.sync_imc.get('T') + update_single_entry(self.sync_BK_9132B, "OutputOn", 2, False) + # time.sleep(2.5) + + self.U_array = np.append(self.U_array, [U], axis=0) #Append current U value to self.U_array for calibration + + #Save measured data in file + path_T = path + '\\Cernox_calibration_rawdata_T.txt' #Rawdata: T_array + path_U = path + '\\Cernox_calibration_rawdata_U.txt' #Rawdata: U_array + with open(path_T,'a') as file_T: + np.savetxt(file_T, [T]) + with open(path_U,'a') as file_U: + np.savetxt(file_U, [U]) + print("Saved measurement in rawdata.") + + self.NextTpoint = self.NextTpoint + self.T_steps #Increase NextTpoint by one T_step for next measurement + self.time_start = timer() + else: #Dont measure anything + self.NextTpoint = T[0] #Reset NextTpoint to current temperature of Cernox 1 + else: + #Perform Calibration fit/interpolation with saved measurements in T_array & U_array + + #Create two arrays for params and param stds for fitting functionality + self.Params_array = np.empty(shape=(0,3)) #Array with all fitting parameters for all 1-8 Cernoxs (6 because of 6 fit parameters) + self.Std_array = np.empty(shape=(0,3)) #Array with all fitting parameter stds for all 1-8 Cernox (6 because of 6 fit parameters) + + #In case of curve-fitting, set array size to fixed value of 1000. This value is arbitrary and is just importan for plotting. + if self.select_fit_interpolation == 0: + self.T_calibr_array = np.empty(shape=(1000,8)) + self.U_calibr_array = np.empty(shape=(1000,8)) + + #In case interpolation will be performed, increase size of T_calibr_array and U_calibr_array dependent on interpolation_res + if self.select_fit_interpolation == 1: + Tmin_global = np.min(self.T_array) + Tmax_global = np.max(self.T_array) + number_of_points = int(self.Interpolation_res*(Tmax_global-Tmin_global)) #number of temperature points for interpolation + self.T_calibr_array = np.empty(shape=(number_of_points,8)) + self.U_calibr_array = np.empty(shape=(number_of_points,8)) + + for i in range(0,8): #Perform curve fit / interpolation for all 8 Cernox sensors + + #Minimum and maximum voltage of Cernox i, measured during measurement interval + Umin = np.min(self.U_array[:,i]) + Umax = np.max(self.U_array[:,i]) + + #Minimum and maximum temperature of Cernox i, measured during measurement interval + Tmin = np.min(self.T_array[:,i]) + Tmax = np.max(self.T_array[:,i]) + + if self.select_fit_interpolation == 0: #Perform fit + + Params, Cov = curve_fit(calibration_function, self.U_array[:,i], self.T_array[:,i], maxfev = 1000000) + Std = np.diag(Cov) + # + #, p0=(-6.82560246e+01, 4.35751772e+01, -8.53436023e+00, 1.26904343e-01, 1.24338400e-01, -9.53073013e-03) + # + + #Append Params and Std values to self.xxx_arrays + self.Params_array = np.append(self.Params_array, [Params], axis=0) + self.Std_array = np.append(self.Std_array, [Std], axis=0) + + self.U_calibr_array[:,i] = np.linspace(Umin, Umax, 1000) #Voltage data points. #points = 1000 is chosen arbitrarily, just important for plotting + self.T_calibr_array[:,i] = calibration_function(self.U_calibr_array[:,i], *Params) + print("Fitted cernox " +str(i) +" successfully.") + + path2 = path +'\\Cernox'+str(i)+'_fit.txt' #To make sure the config file is at the right place, independent from where the program is started the location of the file is retrieved + #Add Umin and Umax to file. Relevant information when loading this calibration file. + Params_and_Limits = np.append(Params, [Umin]) + Params_and_Limits = np.append(Params_and_Limits, [Umax]) + np.savetxt(path2, Params_and_Limits) + print("Fit parameters saved.") + + if self.select_fit_interpolation == 1: #Perform interpolation + #(Perform interpolation with T on x-axis and U on y-axis since we want to define interpolation_res as #points per KELVIN) + self.T_calibr_array[:,i] = np.linspace(Tmin, Tmax, number_of_points) + self.U_calibr_array[:,i] = np.interp(self.T_calibr_array[:,i], self.T_array[:,i], self.U_array[:,i]) + print("Interpolated cernox " +str(i) +" successfully.") + + #Save interpolation array (combination of U_calibr_array and T_calibr_array) + interpolation_array = np.vstack((self.U_calibr_array[:,i], self.T_calibr_array[:,i])).T + path2 = path +'\\Cernox'+str(i)+'_interpolation.txt' #To make sure the config file is at the right place, independent from where the program is started the location of the file is retrieved + np.savetxt(path2, interpolation_array) + print("Interpolation list saved.") + + self.PerformCalibration = False + self.Calibration_finished = True + + + if self.Calibration_finished == True and self.select_LS218_imc == 1: + update_single_entry(self.sync_BK_9132B, "OutputOn", 2, True) #Turn on imc<>LS218 relais + U = self.sync_imc.get('T') + else: + update_single_entry(self.sync_BK_9132B, "OutputOn", 2, False) #Turn off imc<>LS218 relais + U = [1,1,1,1,1,1,1,1] + + + progress_callback.emit([U,T]) #Emits list of Voltage U and Temperature T + + self.bla = self.bla + 0.05 #self.bla increased for dummy measurement values + time.sleep(0.1) + + # del(self.BK) #disconnect device when self.running is set to False + + def update_gui(self, List): + #Convert List into original format + U = List[0] + T = List[1] + + #Plot live data while measuring + self.plot_1.setData(self.U_array[:,self.selected_cernox],self.T_array[:,self.selected_cernox]) + + if self.Calibration_finished == True: #Plot fitting curve + + self.plot_2.show() + self.plot_2.setData(self.U_calibr_array[:,self.selected_cernox],self.T_calibr_array[:,self.selected_cernox]) + + #Converting all current U measurements to temperature measurements: + T_calculated = [] + + if self.select_fit_interpolation == 0: #Perform conversion by calculating T with fitting curve + for i in range(0,8): + T_calc_single = calibration_function(U[i], *self.Params_array[i]) + T_calculated.append(T_calc_single) + + if self.select_fit_interpolation == 1: #Perform conversion by searching for the best entry in interpolation array + for i in range(0,8): + Nearest_index = self.nearest_value_in_array(self.U_calibr_array[:,i], U[i]) + T_calc_single = self.T_calibr_array[Nearest_index, i] + T_calculated.append(T_calc_single) + + if self.select_LS218_imc == 0: #LS218 data should be forwarded + T_output = T + + + else: #Forward calibrated imc data + T_output = T_calculated + + + else: #Forward LS218 data + T_output = T + + self.sync_converted.update({'T':T_output}) + print(T_output) + + + def set_Tsteps(self): + #updates T_steps (temperature step size for cernox calibration) + self.T_steps = get_float(self.line_Tsteps) + + def set_PerformMeasurement(self): + #updates status for cernox calibration measurement to True -> Measurement will be performed + if self.PerformMeasurement == True: + self.PerformMeasurement = False + else: + self.PerformMeasurement = True + + def set_PerformCalibration(self): + #updates status for cernox calibration fit. If True -> Perform fit with measurement data in T_array & U_array + if self.PerformCalibration == True: + self.PerformCalibration = False + else: + self.PerformCalibration = True + + def set_select_cernox(self, value): + self.selected_cernox = value -1 # -1 because we want to have same declaration in python and #Cernox + self.line_Cernox.setText(str(self.selected_cernox)) + + def set_select_fit_interpolation(self, value): + self.select_fit_interpolation = value + + if value == 0: + self.button_perform_calibration.setText("Perform Fit") + self.button_load_data.setText("Load fit data from file path") + self.line_Interpolation_res.setEnabled(False) + if value == 1: + self.button_perform_calibration.setText("Perform Interpolation") + self.button_load_data.setText("Load interpolation data from file path") + self.line_Interpolation_res.setEnabled(True) + + self.Calibration_finished = False #Set boolean to False in order to stop conversion of U-values to T-values in update_gui + + def set_Interpolation_res(self): + self.Interpolation_res = get_float(self.line_Interpolation_res) + + def set_use_default_file_path(self): + self.use_default_file_path = self.checkBox_default_file_path.isChecked() + + if self.use_default_file_path == True: + self.line_filePath.setEnabled(False) + else: + self.line_filePath.setEnabled(True) + + def load_calibration(self): + if self.use_default_file_path == True: #use default file path: Folder \calibration_data + current_dir = os.path.dirname(os.path.abspath(__file__)) + path = current_dir+'\\calibration_data' #To make sure the config file is at the right place, independent from where the program is started the location of the file is retrieved + else: #use specific file path + if self.file_path == 0: + print("No file path entered.") + else: + path = self.file_path + #Loading rawdata (measured U & T points) before loading calibration data + self.load_rawdata() + + if self.select_fit_interpolation == 0: + #Create arrays with shape (1000,8) where 1000 is the amount of points to be plotted + self.T_calibr_array = np.empty(shape=(1000,8)) + self.U_calibr_array = np.empty(shape=(1000,8)) + + #Create new Params_array and Std_array + self.Params_array = np.empty(shape=(0,6)) #Array with all fitting parameters for all 1-8 Cernoxs (6 because of 6 fit parameters) + self.Std_array = np.empty(shape=(0,6)) #Array with all fitting parameter stds for all 1-8 Cernox (6 because of 6 fit parameters) + + if self.select_fit_interpolation == 1: + #Create arrays with size dependent on arrays to be loaded. Measure size for the first Cernox + pathCernoxInterpolation = path +'\\Cernox0_interpolation.txt' + preview = np.loadtxt(pathCernoxInterpolation) + preview_length = len(preview[:,0]) + self.T_calibr_array = np.empty(shape=(preview_length,8)) + self.U_calibr_array = np.empty(shape=(preview_length,8)) + + for i in range(0,8): + + if self.select_fit_interpolation == 0: #Load fitting parameters + + pathCernoxFit = path +'\\Cernox'+str(i)+'_fit.txt' + LoadedData = np.loadtxt(pathCernoxFit) + Params = LoadedData[0:-2] + Umin = LoadedData[-2] + Umax = LoadedData[-1] + + #Append Params to Params_array + self.Params_array = np.append(self.Params_array, [Params], axis=0) + + #Crate dataset for curve-fit plotting + self.U_calibr_array[:,i] = np.linspace(Umin, Umax, 1000) #Voltage data points. #points = 1000 is chosen arbitrarily, just important for plotting + self.T_calibr_array[:,i] = calibration_function(self.U_calibr_array[:,i], *Params) + + print("Loaded cernox " +str(i) +" fitting parameters successfully.") + + else: #Load interpolation parameters + pathCernoxInterpolation = path +'\\Cernox'+str(i)+'_interpolation.txt' + self.U_calibr_array[:,i] = np.loadtxt(pathCernoxInterpolation)[:,0] + self.T_calibr_array[:,i] = np.loadtxt(pathCernoxInterpolation)[:,1] + + + self.Calibration_finished = True + + def load_rawdata(self): + #Just load rawdata from measurement without calibration (fit / interpolation) data + if self.use_default_file_path == True: #use default file path: Folder \calibration_data + current_dir = os.path.dirname(os.path.abspath(__file__)) + path = current_dir+'\\calibration_data' #To make sure the config file is at the right place, independent from where the program is started the location of the file is retrieved + else: #use specific file path + if self.file_path == 0: + print("No file path entered.") + else: + path = self.file_path + + #Loading rawdata (measured U & T points) before loading calibration data + pathRawData_T = path + '\\Cernox_calibration_rawdata_T.txt' + self.T_array = np.loadtxt(pathRawData_T) + pathRawData_U = path + '\\Cernox_calibration_rawdata_U.txt' + self.U_array = np.loadtxt(pathRawData_U) + + + def set_file_path(self): + self.file_path = self.line_filePath.text() + + def nearest_value_in_array(self, array, value): #Returns index of closest entry in array compared to value + index = (np.abs(array - value)).argmin() + return(index) + + def set_Equilibr_time(self): + self.Equilibr_time_LS_to_imc = get_float(self.line_Equilibr_time_LS_to_imc) + self.Equilibr_time_imc_to_LS = get_float(self.line_Equilibr_time_imc_to_LS) + + def set_select_LS218_imc(self, value): + self.select_LS218_imc = value + if value == 0: + time.sleep(1.5) #time for LS218 to settle + + + def set_default(self): + #saves current set values to txt file in subdirectory configs. All entries that are saved are defined in self.lines_config + #Overwrites old values in config file. + current_dir = os.path.dirname(os.path.abspath(__file__)) + path = current_dir+'\\configs\\imc_Cernox_calibr_config.txt' #To make shure the config file is at the right place, independent from where the program is started the location of the file is retrieved + file = open(path,'w') + for l in self.lines_config_float: + temp = f"{get_float(l)}" + file.write(temp+'\t') + for l in self.lines_config_strings: + file.write(l.text()+'\t') + for c in self.checkboxes_config: + file.write(str(c.isChecked())+'\t') + for c in self.combobox_config: + file.write(str(c.currentIndex())+'\t') + file.write('\n') + file.close + + def read_default(self): + #reads default values from config file in subdirectory config and sets the values in gui. Then self.change is set to true so values are send + #to device. (If no config file exists, it does nothing.) + current_dir = os.path.dirname(os.path.abspath(__file__)) + path = current_dir+'\\configs\\imc_Cernox_calibr_config.txt' #To make shure the config file is read from the right place, independent from where the program is started the location of the file is retrieved + try: #exit function if config file does not exist + vals = import_txt.read_raw(path) + except: + print('no config file found on') + print(path) + return + formats = ['.2f', '.2f', '.2f','.2f','.2f','.0f'] + + for l,v,f in zip(self.lines_config_float,vals[0],formats): + v = float(v) #convert string in txt to float, so number can be formatted according to "formats" when it's set + l.setText(format(v,f)) + + for l,v in zip(self.lines_config_strings,vals[0][len(self.lines_config_float):]): + l.setText(v) + + for c,v in zip(self.checkboxes_config,vals[0][len(self.lines_config_float)+len(self.lines_config_strings):]): + c.setChecked(v == 'True') + + for c,v in zip(self.combobox_config,vals[0][len(self.lines_config_float)+len(self.lines_config_strings)+len(self.checkboxes_config):]): + c.setCurrentIndex(int(v)) + + self.change = True + + def closeEvent(self,event): #when window is closed self.running is set to False, so all threads stop + self.running = False + time.sleep(1) + event.accept() + + + +app = QApplication(sys.argv) + +window = MainWindow() +window.show() +app.exec() \ No newline at end of file diff --git a/Legacy/TF_Control/points.txt b/Legacy/TF_Control/points.txt new file mode 100644 index 0000000..94ec316 --- /dev/null +++ b/Legacy/TF_Control/points.txt @@ -0,0 +1,16 @@ +t_start t_stop t_save B_start x B_start y B_start x grad_glob av_grad_glob e_av_grad_glob trans_time av_rate_glob e_av_rate_glob grad_loc rate_loc 15*AMR_x_expelled 15*AMR_y_expelled 15*AMR_z_expelled 45*AMR_trapped +2024-12-17_12-16-14 2024-12-17_12-17-58 2024-12-17_12-18-06 0.36619999999999997 -99.92060000000001 0.0 99.92127104275647 4.195701754385965 1.147789473684211 0.21973315471220653 42.93279051780701 0.797934008920074 0.8144783295539002 [0.6823157894736841, 1.0750526315789475, 1.223894736842106, 1.401473684210527, 1.220210526315789, 1.0905263157894742, 1.341052631578948, nan] [2.3090085186451264, 1.7109185801825837, 0.7887407197078733, 0.4122439817141407, 0.18141215900730948, 0.09250078429201639, 0.09071331889146898, nan] 29.735711151084505 1.1246852487358834 -34.86772828450196 42.30613613514964 2.194511744361995 -46.02943564967892 44.527248962289406 3.5843374171872973 -46.93278334647323 43.37759035347948 0.38745818708613033 -47.806100244617895 37.194175191777134 -0.5150794153840909 -41.518836493635355 -28.577583161577888 -23.105665826656693 -25.366514420246034 -25.032082306506677 -22.562200079752138 -25.488258506520637 -28.715519204693518 -23.50471162312337 -21.42879597234039 -21.922696347920695 -20.02516287841445 -18.954859338581457 -26.006403577573256 -15.911662725950613 -27.06400933942375 38.492499813842514 46.97745353126521 40.3559572081187 13.53240052722765 16.67376105850195 17.403279838816132 0.974298960281741 3.7746718325926554 4.393277891365517 -11.70141156708388 -9.916771408236736 -5.559867732091132 -34.34878191589157 -39.53850395011801 -30.22278750828803 -5.874222063615163 0.7798011944049579 3.1056428643573275 -2.4945233800258144 3.1708365692703304 3.32017721376578 -3.4866222589919187 4.56038914520389 5.463444720339381 -3.211684411270213 1.110258448762656 2.9601637123793076 -1.678033360443228 0.11186766816220495 -0.3192715789232544 -5.302481788347867 -4.574220452765337 -1.596915231127337 -4.499505338064668 -6.411209995311985 -6.28773816854188 -6.382589406703927 -7.574082112720526 -2.503792852377121 -1.0640287710644296 -2.11791451156705 0.5855752459484765 2.3957687409367456 6.122272645009157 1.6047841566693386 -6.192312311113427 -4.39222116312317 -4.555342270549324 -0.3079686332318957 -0.6152815641594855 1.4814725268123292 1.5184884358599768 2.9240410657861937 2.5045009404964365 2.2885174955169645 4.1429981956166735 5.058008915969875 2.1549229919561723 0.1921512617702442 2.225030885768337 +2025-03-07_08-37-17 2025-03-07_08-38-18 2025-03-07_08-38-26 0.024399999999999998 -99.9939 -0.024399999999999998 99.99390595396301 -0.036696511029743265 nan 0.0 1.5037553310394287 nan 0.0 [nan, nan, nan, nan, nan, nan, nan, nan] [nan, nan, nan, nan, nan, nan, nan, nan] 1.92914465880448 -6.860896068503652 -0.025348064613978667 11.30529434966515 -6.857658470553876 -9.214934221057051 13.585242782575802 3.3170898500553467 -9.57474416370539 9.329353697194708 -0.10360542766585921 -9.83084276463821 -1.7184527445700715 -3.784942408397604 -2.7683291211344137 -42.816493252419484 -59.476548175765366 -60.37088042712035 -33.20929766428193 -43.60669670948261 -38.025486680410594 -50.739538238727796 -54.32239427549373 -41.712096890745116 -62.92215260942476 -67.78957973992375 -64.19536290436685 -78.37071939978297 -87.00862625481032 -81.61977141052097 32.28061543978036 31.118314432619762 25.169935061803162 9.149023657591227 13.953253929890517 13.556184647853582 -10.222556028643293 -10.046165737586058 -7.441120146421769 -17.53508391169278 -21.567168322504866 -21.456497017918107 -21.5321215215232 -22.77480174214271 -21.934845167802482 -24.687197237736676 -6.919453367526054 26.87394971147488 -23.254291693902967 -6.994595888465569 25.17744948292791 -23.191511424199565 3.0906824549118945 27.09829022349123 -26.424798474161253 -0.4356378601698853 25.704265815155956 -32.00815652373328 -4.098537627756834 26.353457694316248 -24.68866502589811 -44.68875862977525 -41.450791303866644 -17.497080501133603 -30.949559421884903 -22.44757125692317 -34.03286712368868 -41.95995464044862 -26.264826390265274 -47.58052692318414 -54.244189492317425 -48.26487770392184 -57.60928357077973 -70.95760428401 -60.11001293602135 -1.4406581166694896 -8.113189063642242 -9.309222022271367 -1.9996557165541125 0.5019310155398717 1.212032114701448 -10.93590129759937 -11.734116036106624 -9.829833185088765 -8.83244678238789 -12.878606541320401 -14.56950179205586 2.942322946731096 4.457187873576896 1.5185329820442708 +2025-06-05_09-53-34 2025-06-05_09-58-17 2025-06-05_09-58-25 -43.948 12.2688 2.6552 45.705582202615034 0.0975789473684212 0.0975789473684212 0.0 0.0 inf 0.0 [0.0975789473684212, nan, nan, nan, nan, nan, nan, 0.0975789473684212] [inf, nan, nan, nan, nan, nan, nan, inf] -33.26149314247905 -32.25270347316651 -38.30129079949895 -24.018537243267495 -33.47802811127475 -39.7293549367749 -46.63194837330923 -32.006414323786004 -36.178222905126376 -39.606698285033595 -31.46648920973925 -34.94892492112716 -43.10999382607014 -29.912142956063253 -37.13581685700426 5.366909488632851 9.01909196735855 13.52775479111189 10.370786063485372 14.020745579965757 17.72956342912604 16.60969841947998 8.352708581330427 17.055399440403644 9.233371193031175 6.036527140707772 11.874826679358124 23.622830860955222 12.085581333617327 22.419458268946713 2.1036031973903535 2.509573870201529 2.4845131203669824 6.154061863470949 2.1519806683010456 1.7126909007268094 2.744533942387922 -0.27069221635398866 0.556622616675187 0.8766535563455374 2.0324504288091743 0.09154543020663197 7.396344149348706 8.014998790600947 6.521120162232285 6.240756970979438 6.704372366611907 -0.8765006198685661 15.962117135419932 5.059694202802312 -2.2436290335226987 -5.560542650522281 7.553628222529373 1.3864546918524523 1.4493498796048636 8.570894697663888 3.596373639648158 -1.6525507382244047 10.674991375512793 2.5916853557022 3.9249720044842196 7.967343068920808 12.849111937712115 9.128074587822011 13.195125704800219 17.44681152079114 15.44269815837416 7.748903554853903 16.811554743256867 8.30530236150618 5.5877589822761 11.573237530057897 22.276384791144462 11.308447044876704 21.543344758522448 5.350375931158587 5.944976704007433 5.836106131252874 8.92681770332083 4.882194104025784 4.484355496843795 5.309902314129664 2.2042413550102533 3.0637047974978118 3.027993207976944 4.118035364223495 2.1840323513718647 8.778726098315746 9.153974034185774 7.718397783925749 +2025-06-05_10-09-24 2025-06-05_10-14-00 2025-06-05_10-14-07 0.12210000000000001 0.061 -0.061 0.14950053511609918 0.10568421052631574 0.0906315789473684 0.00804597001967929 0.10067272186279297 8.552465693472143 0.7592594475704053 [0.07557894736842105, nan, nan, nan, nan, nan, nan, 0.10568421052631574] [7.132021333232288, nan, nan, nan, nan, nan, nan, 9.972910053711997] -9.67880834207487 2.798749908375743 1.6597724525712942 -3.223657650271147 5.34212152470547 -0.47234963771596994 -22.02452674552914 6.928706792036202 6.813729039542586 -4.572942627588948 7.862879555190899 7.7997026989272635 -8.937724564221414 8.911471018841075 1.587962895002378 0.4676716449194067 -5.626470261575847 -2.1204343517137416 5.066364597668965 -2.6947704417655074 1.0252756332480017 -3.5699413105850937 -7.438743162807356 4.8469081248132415 -6.712186571051775 -8.684603862871707 -2.27037351169946 17.4373666845565 0.4364570419571679 10.768293204456327 0.29566605369099347 -1.5986367034449498 -2.7126142896545202 -0.9116829479640081 -1.5092803019269345 -0.5185760686567548 -4.603714087801711 -2.775905589947351 -0.3916868519772488 1.0077582786470558 1.7120914434254 -1.4918640003824937 7.852949660826221 7.606395679647101 5.068635734575334 -7.999311803584412 4.062347788885195 3.413481285342421 -0.9198324464693935 6.530818470966006 1.6399720425087898 -18.842938753236865 8.927126748094116 9.286009919524853 -1.7518664032561502 9.892841930132262 10.266939821837608 -6.368795568346225 10.771191843540675 3.7957483484364443 0.10541179550399249 -5.683863240324141 -1.9058883385827594 4.627173286758744 -2.76879116392068 1.3125786000627522 -4.080528987682568 -7.488082274892406 5.2121705029471315 -7.127659934732112 -8.6769818274758 -1.926427489210643 17.190490774085085 0.5049859273449013 11.213034746768104 -0.13888587050351558 -1.5269930897480772 -2.2247828088918746 -1.1730791958605922 -1.5882972938394535 -0.2146638359229768 -4.661238081085598 -2.6627489862880904 -0.23023448413505573 1.2412632943171273 1.8101814099070446 -1.4335027789112533 8.392564504335944 7.898720558811088 5.11243034306602 +2025-07-01_16-38-03 2025-07-01_16-38-09 2025-07-01_16-38-16 0 0 0 0.0 30.50568421052632 30.493578947368423 0.006470535330511739 0.40132617950439453 721.8293119022103 0.1531673954481973 [30.481473684210528, nan, nan, nan, nan, nan, nan, 30.50568421052632] [721.5427619439145, nan, nan, nan, nan, nan, nan, 722.1158618605061] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +2025-07-01_16-50-59 2025-07-01_16-51-08 2025-07-01_16-51-16 0 0 0 0.0 30.489894736842103 30.480947368421056 0.004782569592115267 2.2090702056884766 131.08184577128605 0.0205672101357819 [30.472000000000005, nan, nan, nan, nan, nan, nan, 30.489894736842103] [131.0433680444211, nan, nan, nan, nan, nan, nan, 131.12032349815098] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +2025-07-01_16-58-15 2025-07-01_16-58-26 2025-07-01_16-58-33 0 0 0 0.0 30.481473684210528 30.47726315789474 0.0022506209845248315 7.627026081085205 37.96158514758926 0.0028033074917648247 [30.473052631578952, nan, nan, nan, nan, nan, nan, 30.481473684210528] [37.95634063949728, nan, nan, nan, nan, nan, nan, 37.96682965568124] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +2025-07-01_16-58-58 2025-07-01_16-59-12 2025-07-01_16-59-20 0 0 0 0.0 30.48042105263158 30.473578947368424 0.0036572590998538005 3.4112906455993652 84.86494704678995 0.010184990098521819 [30.466736842105266, nan, nan, nan, nan, nan, nan, 30.48042105263158] [84.84589267507177, nan, nan, nan, nan, nan, nan, 84.88400141850812] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +2025-07-01_17-32-24 2025-07-01_17-32-49 2025-07-01_17-32-57 0 0 0 0.0 30.514105263157898 30.498315789473686 0.008439828691971915 21.771939516067505 13.307679813559044 0.0036826472218774776 [30.482526315789475, nan, nan, nan, nan, nan, nan, 30.514105263157898] [13.300790211468735, nan, nan, nan, nan, nan, nan, 13.314569415649355] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +2025-07-01_17-32-24 2025-07-01_17-33-52 2025-07-01_17-34-00 0 0 0 0.0 30.514105263157898 30.490421052631582 0.012659743037956925 41.932902336120605 6.907678311369602 0.0028680952703096355 [30.466736842105266, nan, nan, nan, nan, nan, nan, 30.514105263157898] [6.902312596442539, nan, nan, nan, nan, nan, nan, 6.913044026296665] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +2025-07-02_09-35-07 2025-07-02_09-35-50 2025-07-02_09-35-58 0 0 0 0.0 30.459368421052634 30.455157894736846 0.0022506209845248315 1.2033886909484863 240.42439668596253 0.01776724304774354 [30.45094736842106, nan, nan, nan, nan, nan, nan, 30.459368421052634] [240.39115721786644, nan, nan, nan, nan, nan, nan, 240.45763615405863] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +2025-07-02_09-36-23 2025-07-02_09-36-42 2025-07-02_09-36-50 0 0 0 0.0 30.483578947368425 30.472526315789477 0.005907880084380531 17.45800471305847 16.58202095589218 0.003214849676357468 [30.461473684210528, nan, nan, nan, nan, nan, nan, 30.483578947368425] [16.576006522872724, nan, nan, nan, nan, nan, nan, 16.588035388911635] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +2025-07-02_16-03-24 2025-07-02_16-03-31 2025-07-02_16-03-39 -596.8077 596.8077 596.8687 1033.7364783145993 30.51831578947369 30.510947368421057 0.003938586722920354 3.5113658905029297 82.5473644839913 0.010655845911398423 [30.503578947368425, nan, nan, nan, nan, nan, nan, 30.51831578947369] [82.52742922170795, nan, nan, nan, nan, nan, nan, 82.56729974627466] -0.001032 -0.001044 -0.000983 -0.000934 -0.000983 -0.001392 -0.001038 -0.001611 -0.001312 -0.001264 -0.001288 -0.000732 -0.001117 -0.00072 -0.001257 -0.001105 -0.001056 -0.001483 -0.001044 -0.000812 -0.000549 -0.001447 -0.001264 -0.001245 -0.001349 -0.000794 -0.001007 -0.001495 -0.001099 -0.000964 -0.001202 -0.000824 -0.000873 -0.000665 -0.001477 -0.001166 -0.001556 -0.001282 -0.001245 -0.00061 -0.000848 -0.001953 -0.000922 -0.001154 -0.000922 -0.001032 -0.001044 -0.000983 -0.000934 -0.000983 -0.001392 -0.001038 -0.001611 -0.001312 -0.001264 -0.001288 -0.000732 -0.001117 -0.00072 -0.001257 -0.001105 -0.001056 -0.001483 -0.001044 -0.000812 -0.000549 -0.001447 -0.001264 -0.001245 -0.001349 -0.000794 -0.001007 -0.001495 -0.001099 -0.000964 -0.001202 -0.000824 -0.000873 -0.000665 -0.001477 -0.001166 -0.001556 -0.001282 -0.001245 -0.00061 -0.000848 -0.001953 -0.000922 -0.001154 -0.000922 +2025-07-04_09-22-19 2025-07-04_09-24-39 2025-07-04_09-24-47 0.0305 -100.0427 -0.0 100.04270464926465 0.03452631578947362 0.002263157894736802 0.017245383293928003 7.221312761306763 0.002977297994237408 0.022687168761081226 [-0.030000000000000016, nan, nan, nan, nan, nan, nan, 0.03452631578947362] [-0.03946650829570589, nan, nan, nan, nan, nan, nan, 0.045421104284180704] -0.000555 0.00094 0.00083 0.000781 0.001434 9.2e-05 0.000397 0.001795 0.000818 0.000732 0.000616 0.000671 0.000934 0.000708 -0.000519 0.016401 0.015363 0.01471 0.015284 0.014759 0.015602 0.014912 0.014936 0.014826 0.014485 0.014149 0.013917 0.014729 0.014588 0.015223 0.000641 0.000732 0.000989 7.3e-05 0.000702 0.000684 9.2e-05 0.001233 0.000891 0.000146 0.000983 0.000671 0.000684 0.000153 0.00069 -0.002405 0.001038 0.004853 -0.004737 0.001343 0.005048 -0.005201 0.001734 0.006031 -0.004566 0.000543 0.005622 -0.003516 0.000604 0.003681 0.013648 0.013337 0.011915 0.012959 0.012977 0.013563 0.012727 0.013282 0.012702 0.012397 0.012348 0.011713 0.011921 0.012672 0.01247 -0.002399 -0.005597 -0.004505 -0.001703 -0.00127 -0.001154 -0.000104 0.00105 0.00072 0.001422 0.002271 0.001874 0.004145 0.004041 0.004102 +2025-07-04_09-26-23 2025-07-04_09-28-20 2025-07-04_09-28-27 0.12210000000000001 -100.0732 -0.0 100.07327448749741 0.07589473684210528 0.05963157894736838 0.008693023552730467 24.582375049591064 0.02304496611320815 0.0033594688708613297 [0.04336842105263148, nan, nan, nan, nan, nan, nan, 0.07589473684210528] [0.016759975355060446, nan, nan, nan, nan, nan, nan, 0.029329956871355853] -0.000391 0.000922 0.000549 0.001355 0.001398 -0.000354 0.001001 0.001795 0.00033 0.001257 0.000671 0.000275 0.001404 0.000696 -0.000885 0.014588 0.013545 0.013081 0.013764 0.013191 0.014155 0.013801 0.013838 0.013807 0.013429 0.013075 0.012904 0.013728 0.013459 0.014179 0.001086 0.00163 0.00177 9.8e-05 0.000781 0.000641 -0.00014 0.001007 0.000629 -8.5e-05 0.000726 0.000415 0.000574 1.2e-05 0.000568 -0.00224 0.001019 0.004566 -0.004157 0.001312 0.00459 -0.004596 0.001734 0.005536 -0.004029 0.000598 0.005213 -0.003046 0.000586 0.003302 0.011835 0.011518 0.010279 0.011451 0.01142 0.012122 0.011622 0.012196 0.011689 0.011353 0.011274 0.010706 0.010926 0.011549 0.011433 -0.001941 -0.004682 -0.003711 -0.001672 -0.001184 -0.001196 -0.000336 0.000824 0.000452 0.001184 0.002002 0.001605 0.004016 0.003882 0.003961 diff --git a/Legacy/TF_Control/requirements.txt b/Legacy/TF_Control/requirements.txt new file mode 100644 index 0000000..6353d21 --- /dev/null +++ b/Legacy/TF_Control/requirements.txt @@ -0,0 +1,20 @@ +contourpy==1.3.0 +cycler==0.12.1 +fonttools==4.54.1 +kiwisolver==1.4.7 +matplotlib==3.9.2 +numpy==1.26.4 +packaging==24.1 +pillow==11.0.0 +PyOpenGL==3.1.7 +pyparsing==3.2.0 +PyQt6==6.6.1 +PyQt6-Qt6==6.6.2 +PyQt6-sip==13.6.0 +pyqtgraph==0.13.4 +python-dateutil==2.9.0.post0 +PyVISA==1.14.1 +scipy==1.14.0 +simple-pid==2.0.1 +six==1.16.0 +typing_extensions==4.10.0 diff --git a/Legacy/TF_Control/scripts/Analyze_cooldowns_CRAFT.py b/Legacy/TF_Control/scripts/Analyze_cooldowns_CRAFT.py new file mode 100644 index 0000000..fd820c7 --- /dev/null +++ b/Legacy/TF_Control/scripts/Analyze_cooldowns_CRAFT.py @@ -0,0 +1,204 @@ +import numpy as np +import matplotlib.pyplot as plt +import datetime as dt +from scipy.optimize import curve_fit + +# Define linear fit function: +def linear_fit(x, a, b): + return a+b*x + +# Define smooth_transition function for correcting not-linear section in the beginning of the cooldown +def smooth_transition(x, a, b, c, x0): + """ + A function that is constant before t0 and transitions smoothly into a linear function after t0. + + Parameters: + t : array-like, time values + t0 : float, transition point + a : float, constant value before t0 + b : float, slope of the linear function after t0 + c : float, controls the smoothness of the transition + + Returns: + array-like, function values + """ + return a + (b * (x - x0)) / (1 + np.exp(-c * np.clip(x - x0, -100, 100))) + +# Define the path to the converted CSV file +data_path = r'/Users/alexandercierpka/Documents/Eigene Dokumente/Universität/Masterarbeit/Daten/TF_CRAFT_2025-03-06/calibrated_data_2025_03_06.csv' + + +#Define the path to the points.txt file +good_points_path = r'/Users/alexandercierpka/Documents/Eigene Dokumente/Universität/Masterarbeit/Daten/TF_CRAFT_2025-03-06/points/good points/good_points2.txt' + + +# Load the CSV file as a numpy array +data = np.loadtxt(data_path, delimiter=' ', dtype=float) # Load the CSV file as a numpy array, column 0 is time, column 1-8 are the temperatures of the 8 Cernox sensors, followed by AMR, followed by FG + +# Correct for imc timeshift: +data[:,0] = data[:,0] - (1737650746.34 - 1737650711) - 4 -33 # Correct the time shift of the data 2025_03_06 + +# Load the points.txt file as a numpy array +points = np.loadtxt(good_points_path, delimiter='\t', dtype=str, skiprows=1) # Load the points.txt file as a numpy array, column 0: t_start, column 1: t_stop, column 2: t_save, columne 3,4,5: B_start_x, y, z + +# GENERAL PARAMETERS + +# "Tc" measured by the two Cernox sensors (Temperature at which AMR sensors start to measure superconducting transition). This Tc is NOT the real Tc of the material +Tc_top = 9.62 #Critical temperature of the superconductor for the top sensor +Tc_bottom = 9.7 #Critical temperature of the superconductor for the bottom sensor + +Distance = 9.2 #Distance between Cernox 1 and 8 in cm +Sample_length = 10 #Length of the sample in cm + +# Timepoints t_Tc_start / _stop are calculated automatically by checking time when Cernox 1 and 8 transition Tc_top and Tc_bottom. Use this delta to adjust the time interval. +t_Tc_start_delta = 0 +t_Tc_stop_delta = 0 + +#Define cooldown_array to save all cooldown parameters +cooldown_parameters = np.empty((0,15)) + +# Go through all points and calculate the cooldown parameters +total_points = len(points[:,0]) # Total number of points +for i in range(total_points): + t_start = points[i,0] + t_stop = points[i,1] + t_save = points[i,2] + B_start = points[i,3:6] + + # Convert time strings to floats (seconds since 01.01.1970) + time_format = '%Y-%m-%d_%H-%M-%S' + t_start_sec = (dt.datetime.strptime(t_start, time_format) - dt.datetime(1970,1,1)).total_seconds() + t_stop_sec = (dt.datetime.strptime(t_stop, time_format) - dt.datetime(1970,1,1)).total_seconds() + t_save_sec = (dt.datetime.strptime(t_save, time_format) - dt.datetime(1970,1,1)).total_seconds() + + # Convert B_start to floats + B_start = B_start.astype(float) + + # Find the indices of the data array which are between t_start and t_save + cooldown_indices = np.where((data[:,0] >= t_start_sec) & (data[:,0] <= t_save_sec)) + + #Calculate t_Tc_start: Lowest timepoint where Tc is reached by Cernox 1 OR 8. "OR" is important, because CRAFT allows for negative gradients during cooldown + t_Tc_start = np.min(data[cooldown_indices,0][0][np.where((data[cooldown_indices,1][0] <= Tc_top) | (data[cooldown_indices,8][0] <= Tc_bottom))]) + #Calculate t_Tc_stop: Highest timepoint where Tc is reached by Cernox 1 OR 8 + t_Tc_stop = np.max(data[cooldown_indices,0][0][np.where((data[cooldown_indices,1][0] >= Tc_top) | (data[cooldown_indices,8][0] >= Tc_bottom))]) + + # Smooth_transition fit to the temperature data of Cernox 1 and 8, from t_Tc_start - t_Tc_start_delta until t_Tc_stop + t_Tc_stop_delta + # Often a linear fit is sufficient. But when the sc transitions starts immediately after cooldown start, the temperature data is not linear in the beginning. + + fit_indices = np.where((data[cooldown_indices,0][0] >= t_Tc_start - t_Tc_start_delta) & (data[cooldown_indices,0][0] <= t_Tc_stop + t_Tc_stop_delta)) # Indices of the data array which are in the interesting time interval + t0 = data[cooldown_indices,0][0][fit_indices[0][0]] #Set t0 to the first timepoint of the fit_indices. Reduces the number of digits in the fit parameters... + t_T1 = data[cooldown_indices,0][0][fit_indices] - t0 + y_T1 = data[cooldown_indices,1][0][fit_indices] + t_T8 = data[cooldown_indices,0][0][fit_indices] - t0 + y_T8 = data[cooldown_indices,8][0][fit_indices] + # Fit the smooth_transition function to the data + popt_T1, pcov_T1 = curve_fit(smooth_transition, t_T1, y_T1, p0=[y_T1[0], -0.03, 0.1, 30], maxfev=10000) + popt_T8, pcov_T8 = curve_fit(smooth_transition, t_T8, y_T8, p0=[y_T8[0], -0.03, 0.1, 30], maxfev=10000) + y_T1_fit = smooth_transition(t_T1, *popt_T1) + y_T8_fit = smooth_transition(t_T8, *popt_T8) + + # print(f"Fit parameters Cernox 1: {popt_T1}") + # print(f"Fit parameters Cernox 8: {popt_T8}") + + # Linear fit for calculating cooldown speed + + popt_T1_linear, pcov_T1_linear = curve_fit(linear_fit, t_T1, y_T1) + popt_T8_linear, pcov_T8_linear = curve_fit(linear_fit, t_T8, y_T8) + y_T1_linearfit = linear_fit(t_T1, *popt_T1_linear) + y_T8_linearfit = linear_fit(t_T8, *popt_T8_linear) + + + #Calculate cooldown speed using the linear fit. + cooldown_speed_T1 = popt_T1_linear[1] + cooldown_speed_T1_std = np.sqrt(np.diag(pcov_T1_linear))[1] + cooldown_speed_T8 = popt_T8_linear[1] + cooldown_speed_T8_std = np.sqrt(np.diag(pcov_T8_linear))[1] + #Calculate the mean cooldown speed + cooldown_speed = np.mean([cooldown_speed_T1, cooldown_speed_T8]) + #Calculate the std of the mean cooldown speed + cooldown_speed_std = np.sqrt(cooldown_speed_T1_std**2 + cooldown_speed_T8_std**2) + + #Calculate the mean and std temperature gradient by calc. difference of y_T1 and y_T8 for each x inbetween t_Tc_start and t_Tc_stop. Here, smooth_transition fit could be crucial! + Gradients = (y_T1_fit - y_T8_fit) / Distance + Gradients = Gradients[np.where((t_T1 + t0 >= t_Tc_start) & (t_T1 +t0 <= t_Tc_stop))] + mean_gradient = np.mean(Gradients) + std_gradient = np.std(Gradients) + + #B0: B-field of AMR sensor 8 at t_start + B0 = [data[cooldown_indices,16][0][0], data[cooldown_indices,31][0][0], data[cooldown_indices,46][0][0]] + B0_std = 1.5 #Hardcoded error of the AMR sensor + + #Trapped flux: B-field of AMR sensor 8 at t_save (B=sqrt(Bx^2+By^2+Bz^2)) + TF = np.sqrt(data[cooldown_indices,16][0][-1]**2 + data[cooldown_indices,31][0][-1]**2 + data[cooldown_indices,46][0][-1]**2) + TF_std = 1.5 #Hardcoded error of the AMR sensor + + #Save the cooldown parameters to the cooldown_array + cooldown_parameters = np.append(cooldown_parameters, [[t_start_sec, t_stop_sec, t_save_sec, t_Tc_start, t_Tc_stop, cooldown_speed, cooldown_speed_std, mean_gradient, std_gradient, TF, TF_std, B0[0], B0[1], B0[2], B0_std]], axis=0) + + print(f"Cooldown {i+1} done.") + + + # Plot Cernox 1 and Cernox 8 and AMR 8y with two y-axes. + #COMMENT THE FOLLOWING LINES TO PREVENT PLOTTING EACH COOLDOWN + fig, ax1 = plt.subplots() + ax1.plot(data[cooldown_indices,0][0], data[cooldown_indices,1][0], label='Sample Cernox 1', color='tab:blue') + ax1.plot(data[cooldown_indices,0][0], data[cooldown_indices,8][0], label='Sample Cernox 8', color='tab:orange') + ax1.set_xlabel("Time (s)") + ax1.set_ylabel("Temperature (K)", color='tab:blue') + ax1.tick_params(axis='y', labelcolor='tab:blue') + ax2 = ax1.twinx() + ax2.plot(data[cooldown_indices,0][0], np.abs(data[cooldown_indices,31][0]), label='AMR Sensor 8y', color='tab:green') + ax2.plot(data[cooldown_indices,0][0], np.abs(data[cooldown_indices,25][0]), label='AMR Sensor 2y', color='tab:green') + ax2.plot(data[cooldown_indices,0][0], np.abs(data[cooldown_indices,37][0]), label='AMR Sensor 14y', color='tab:green') + ax2.set_ylabel("Absolute magnetic Field (μT)", color='tab:green') + ax2.tick_params(axis='y', labelcolor='tab:green') + plt.title(f"Cooldown {i+1}") + + # Plot the linear fits + ax1.plot(t_T1+t0, smooth_transition(t_T1, *popt_T1), color='tab:red', linestyle='dashed', label='Fit Cernox 1') + ax1.plot(t_T8+t0, smooth_transition(t_T8, *popt_T8), color='tab:purple', linestyle='dashed', label='Fit Cernox 8') + + # Plot t_start, t_stop, t_save as vertical dashed lines + ax1.axvline(x=t_start_sec, color='black', linestyle='dashed') + ax1.axvline(x=t_stop_sec, color='black', linestyle='dashed') + ax1.axvline(x=t_save_sec, color='black', linestyle='dashed') + + plt.show() + # COMMENT END + + +# # Center the data by fitting a gauss + lorentz +# def gauss_lorentz(x, a, b, c, d, e): +# exponent = -b*(x-c)**2 +# exponent_clip = np.clip(exponent, -100, 100) +# return a*np.exp(exponent_clip) + d/(1+e*(x-c)**2) + +# # popt, pcov = curve_fit(gauss_lorentz, cooldown_parameters[:,7], cooldown_parameters[:,9], maxfev=10000) +# # print(popt[2]) + +#Import mVTS data +mVTS_data_path = r'/Users/alexandercierpka/Documents/Eigene Dokumente/Universität/Masterarbeit/Daten/mVTS Daten/LG-01/LG-01_TF_vs_Gradient.txt' +mVTS_data = np.loadtxt(mVTS_data_path, delimiter='\t', dtype=float, skiprows=1) + + +#Plot TF vs Gradient +fig, ax1 = plt.subplots() +ax1.errorbar(cooldown_parameters[:,7], cooldown_parameters[:,9], xerr=cooldown_parameters[:,8], yerr=cooldown_parameters[:,10], fmt='x', capsize= 3, label="CRAFT") +ax1.set_xlabel("Temperature Gradient (K/cm)") +ax1.set_ylabel("Trapped Flux (μT)") + +#Plot mVTS data +# ax1.plot(mVTS_data[:,0], mVTS_data[:,1], 'x', label='mVTS') +ax1.errorbar(mVTS_data[:,0], mVTS_data[:,1], xerr=mVTS_data[:,2], yerr=mVTS_data[:,3], fmt='x', capsize=3, label='mVTS') +plt.title("Trapped Flux vs Temperature Gradient") +plt.grid() +plt.legend() +plt.show() + + +# Save the cooldown parameters to a txt file +cooldown_parameters_path = r'/Users/alexandercierpka/Documents/Eigene Dokumente/Universität/Masterarbeit/Daten/TF_CRAFT_2025-03-06/Auswertung/Cooldowns_TF_vs_Gradient_V3.txt' + + + +# np.savetxt(cooldown_parameters_path, cooldown_parameters, delimiter='\t', header='t_start\tt_stop\tt_save\tt_Tc_start\tt_Tc_stop\tcooldown_speed\tcooldown_speed_std\tmean_gradient\tstd_gradient\tTF\tTF_std\tB0\tB0_std', comments='') \ No newline at end of file diff --git a/Legacy/TF_Control/scripts/adjust_imc_time.py b/Legacy/TF_Control/scripts/adjust_imc_time.py new file mode 100644 index 0000000..2899bec --- /dev/null +++ b/Legacy/TF_Control/scripts/adjust_imc_time.py @@ -0,0 +1,15 @@ +'''reads raw data from path and adds delta_t to first column. Saves the adjusted data in path_save''' +import import_txt +import numpy as np + +#import data +path = r"D:\Glaskryostat\Data\2025-04-01 Nb3SN-Nb-Cu-HZB-SI\calibrated_data_2025_04_02.csv" +path_save = r"D:\Glaskryostat\Data\2025-04-01 Nb3SN-Nb-Cu-HZB-SI\calibrated_data_2025_04_02_correct_time.csv" +data = import_txt.read_raw_np(path,delim = ' ') + +#adjust time +delta_t = -67 # delta t in seconds +data[:,0] = data[:,0] + delta_t + +#save adjusted data +np.savetxt(path_save,data,delimiter=' ') \ No newline at end of file diff --git a/Legacy/TF_Control/scripts/analyse_cooldown_tools.py b/Legacy/TF_Control/scripts/analyse_cooldown_tools.py new file mode 100644 index 0000000..bb87a60 --- /dev/null +++ b/Legacy/TF_Control/scripts/analyse_cooldown_tools.py @@ -0,0 +1,260 @@ +import numpy as np +import datetime +from scipy.optimize import curve_fit + +# start = [11.75-0.25*i for i in range(8)] +# print(start) + +# temps = [] +# for s in start: +# temps.append([s-i*0.0194 for i in range(150)]) + +# data = np.array(temps) +# times = [i for i in range(150)] + + +# Define linear fit function: +def linear_fit(x, a, b): + ''' + Linear function for fitting of CRAFT data + ''' + return a+b*x + +# Define smooth_transition function for correcting not-linear section in the beginning of the cooldown +def smooth_transition(x, a, b, c, x0): + """ + A function that is constant before t0 and transitions smoothly into a linear function after t0. + Is needed for fitting of CRAFT data. In case the temperature does not increase linear at the + beginning of the cooldown. + Parameters: + t : array-like, time values + t0 : float, transition point + a : float, constant value before t0 + b : float, slope of the linear function after t0 + c : float, controls the smoothness of the transition + + Returns: + array-like, function values + """ + return a + (b * (x - x0)) / (1 + np.exp(-c * np.clip(x - x0, -100, 100))) +def mean_sigma(input): #calculate average an standart deviation + ''' + Calculates the mean and standard deviation of a given list of numbers. + Parameters + ---------- + input : list of numbers + List of numbers to be analyzed. + Returns + ------- + mean : float + Mean of the input list. + sigma : float + Standard deviation of the input list. + ''' + n = len(input) + mean = np.nanmean([input]) + deviation = [(xi - mean)**2 for xi in input] + sigma = np.sqrt(1/(n-1)*np.nansum(deviation)) + return(mean, sigma) + +def find_index_of_first_equal_to(lst, value): + '''Finds the index of the first element in a list that is equal to a given value. Returns -1 if no such element is found.''' + return next((i for i, x in enumerate(lst) if x == value), np.nan) + +def calc_gradient(input, times, sensors:list = [1,3,4,5,6,7,8], Tc = 9.2, return_indices: bool = False): + '''Analyses cooldown. "sensors" specifies all sensors that are being used (1 to 8) + input is np.array of temperatures + times is np.array of times + sensors is list with sensors used for analysis + Tc is critical temperature + return_indices specifies if the indices of the sensors closest to the critical temperature should be returned''' + #find indices of numbers closest to Tc + positions = [9.5 - ((x-1)*9.5/7) for x in sensors] #get the sensor position on the sample + indices = []#list of indices + #convert input to np.array if necessary + if type(input) == list: + input = np.array(input) + #convert datetime to timestamp, if necessary + if type(times[0]) == datetime.datetime: + times = [t.timestamp() for t in times] + #transpose array if fist dimension if larger than second + if input.shape[0] > input.shape[1]: + input = input.T + + #find indices at which critical temperature is reached + input = input[[x-1 for x in sensors]] + for i in input: + index = (np.abs(i - Tc)).argmin() + indices.append(index) + + + #calculate local gradients and cooldown rates + grad_loc = [np.NaN for x in range(8)] #local temperature gradients + rate_loc = [np.NaN for x in range(8)] #local cooldown rates + + for i in range(len(sensors)): + if i == 0: #for first sensor take temperature difference to the sensor below + DT = input[0,indices[0]] - input[1,indices[0]] #temperature difference + t = times[indices[0]] - times[indices[1]] #time it took the pahsefront to move from second sensor to first sensor + Ds = positions[i] - positions[i+1] #distance between sensors + grad_loc[sensors[i]-1] = (DT/Ds) + try: + rate_loc[sensors[i]-1] = (DT/t) + except ValueError: + rate_loc[sensors[i]-1] = 0 + elif i == len(sensors)-1: #for last sensor take temperature difference to the sensor above + DT = input[i-1,indices[i]] - input[i,indices[i]] #temperature difference + t = times[indices[i-1]] - times[indices[i]] #time it took the pahsefront to move from sensor 7 to sensor 8 + Ds = positions[i-1] - positions[i] #distance between sensors + grad_loc[sensors[i]-1] = (DT/Ds) + try: + rate_loc[sensors[i]-1] = (DT/t) + except ValueError: + rate_loc[sensors[i]-1] = 0 + else: #for middle sensors take average temperature difference to sensor below and above + Ds_top = positions[i-1] - positions[i] #distance to sensor above + Ds_bot = positions[i] - positions[i+1] #distance to sensor above + DT = np.mean([input[i-1,indices[i]] - input[i,indices[i]] , input[i,indices[i]] - input[i+1,indices[i]]]) #mean temperature difference to sensor above and below + grad = np.mean([(input[i-1,indices[i]] - input[i,indices[i]]) / Ds_top , (input[i,indices[i]] - input[i+1,indices[i]]) / Ds_bot]) #mean temperature gradient to sensor above and below + t = np.mean([times[indices[i-1]] - times[indices[i]], times[indices[i]] - times[indices[i+1]]]) #mean time to sensor above and from sensor below + grad_loc[sensors[i]-1] = grad + try: + rate_loc[sensors[i]-1] = (DT/t) + except ValueError: + rate_loc[sensors[i]-1] = 0 + + #calc global gradient and transition time + grad_glob = (input[0,indices[-1]] - input[-1,indices[-1]]) / (positions[0] - positions[-1]) #gives gradient in K/cm. Its 9.5 cm instead of 10 cm since the cernox sensors are not at the very end of the sample. This is momentary global gradient when the lowest sensor passes Tc + trans_time = times[indices[0]] - times[indices[-1]] + (av_grad_glob, e_av_grad_glob) = mean_sigma(grad_loc) #average gradient from local gradients. The error is also returned. + (av_rate_glob, e_av_rate_glob) = mean_sigma(rate_loc) #average cooldown rate from local rates. + + if return_indices: + return([grad_glob, av_grad_glob, e_av_grad_glob, trans_time, av_rate_glob, e_av_rate_glob, grad_loc, rate_loc, indices]) + else: + return([grad_glob, av_grad_glob, e_av_grad_glob, trans_time, av_rate_glob, e_av_rate_glob, grad_loc, rate_loc]) + +def calc_gradient_CRAFT(input, times, sensors:list = [1,3,4,5,6,7,8], Tc_top = 9.2, Tc_bottom = 9.2, return_indices: bool = False): + '''Analyses cooldown. "sensors" specifies all sensors that are being used (1 to 8) + input is np.array of temperatures + times is np.array of times + sensors is list with sensors used for analysis + Tc is critical temperature + return_indices specifies if the indices of the sensors closest to the critical temperature should be returned''' + #find indices of numbers closest to Tc + sensors = [1,8] #override sensor list that is passed to function for now because only 1 and 8 are used + positions = [9.5 - ((x-1)*9.5/7) for x in sensors] #get the sensor position on the sample + indices = []#list of indices + #convert input to np.array if necessary + if type(input) == list: + input = np.array(input) + #convert datetime to timestamp, if necessary and convert it to np.array + if type(times[0]) == datetime.datetime: + times = [t.timestamp() for t in times] + times = np.array(times) + #transpose array if fist dimension if larger than second + if input.shape[0] > input.shape[1]: + input = input.T + + #find indices at which critical temperature is reached + input = input[[x-1 for x in sensors]] + #Calculate t_Tc_start: Lowest timepoint where Tc is reached by Cernox 1 OR 8. "OR" is important, because CRAFT allows for negative gradients during cooldown + t_Tc_start = times[np.min(np.where((input[0] <= Tc_top) | (input[1] <= Tc_bottom)))] + #Calculate t_Tc_stop: Highest timepoint where Tc is reached by Cernox 1 OR 8 + t_Tc_stop = times[np.max(np.where((input[0] >= Tc_top) | (input[1] >= Tc_bottom)))] + + # Smooth_transition fit to the temperature data of Cernox 1 and 8, from t_Tc_start - t_Tc_start_delta until t_Tc_stop + t_Tc_stop_delta + # Often a linear fit is sufficient. But when the sc transitions starts immediately after cooldown start, the temperature data is not linear in the beginning. + + # Timepoints t_Tc_start / _stop are calculated automatically by checking time when Cernox 1 and 8 transition Tc_top and Tc_bottom. Use this delta to adjust the time interval. + t_Tc_start_delta = 0 + t_Tc_stop_delta = 0 + + fit_indices = np.where((times >= t_Tc_start - t_Tc_start_delta) & (times <= t_Tc_stop + t_Tc_stop_delta)) # Indices of the data array which are in the interesting time interval + t0 = times[fit_indices[0][0]] #Set t0 to the first timepoint of the fit_indices. Reduces the number of digits in the fit parameters... + t_end = times[fit_indices[0][-1]] + t_T1 = times[fit_indices] - t0 + y_T1 = input[0][fit_indices] + t_T8 = times[fit_indices] - t0 + y_T8 = input[1][fit_indices] + trans_time = abs(t_T1[-1]) + # Fit the smooth_transition function to the data + popt_T1, pcov_T1 = curve_fit(smooth_transition, t_T1, y_T1, p0=[y_T1[0], -0.03, 0.1, 0], maxfev=10000) + popt_T8, pcov_T8 = curve_fit(smooth_transition, t_T8, y_T8, p0=[y_T8[0], -0.03, 0.1, 0], maxfev=10000) + # popt_T1, pcov_T1_linear = curve_fit(linear_fit, t_T1, y_T1) + # popt_T8, pcov_T8_linear = curve_fit(linear_fit, t_T8, y_T8) + y_T1_fit = smooth_transition(t_T1, *popt_T1) + y_T8_fit = smooth_transition(t_T8, *popt_T8) + # y_T1_fit = linear_fit(t_T1, *popt_T1) + # y_T8_fit = linear_fit(t_T8, *popt_T8) + + # Linear fit for calculating cooldown speed + popt_T1_linear, pcov_T1_linear = curve_fit(linear_fit, t_T1, y_T1) + popt_T8_linear, pcov_T8_linear = curve_fit(linear_fit, t_T8, y_T8) + y_T1_linearfit = linear_fit(t_T1, *popt_T1_linear) + y_T8_linearfit = linear_fit(t_T8, *popt_T8_linear) + + + #Calculate cooldown speed using the linear fit. + cooldown_speed_T1 = popt_T1_linear[1] + cooldown_speed_T1_std = np.sqrt(np.diag(pcov_T1_linear))[1] + cooldown_speed_T8 = popt_T8_linear[1] + cooldown_speed_T8_std = np.sqrt(np.diag(pcov_T8_linear))[1] + #Calculate the mean cooldown speed + cooldown_speed = np.mean([cooldown_speed_T1, cooldown_speed_T8]) + #Calculate the std of the mean cooldown speed + cooldown_speed_std = np.sqrt(cooldown_speed_T1_std**2 + cooldown_speed_T8_std**2) + + #Calculate the mean and std temperature gradient by calc. difference of y_T1 and y_T8 for each x inbetween t_Tc_start and t_Tc_stop. Here, smooth_transition fit could be crucial! + Distance = 9.5 + Gradients = (y_T1_fit - y_T8_fit) / Distance + Gradients = Gradients[np.where((t_T1 + t0 >= t_Tc_start) & (t_T1 +t0 <= t_Tc_stop))] + mean_gradient = np.mean(Gradients) + std_gradient = np.std(Gradients) + + if return_indices: + indices = [fit_indices[0][0], fit_indices[0][-1]] + return([mean_gradient, mean_gradient, std_gradient, trans_time, cooldown_speed, cooldown_speed_std, + 0, 0, indices, np.append(popt_T1,np.array([t0, t_end])), + np.append(popt_T8,np.array([t0, t_end]))]) #pass times with fit parameters for plotting + else: + return([mean_gradient, mean_gradient, std_gradient, trans_time, cooldown_speed, cooldown_speed_std, + 0, 0, np.append(popt_T1,np.array([t0, t_end])), + np.append(popt_T8,np.array([t0, t_end]))]) #pass times with fit parameters for plotting + +def analyse_B_field(input, times, timestamps): + ''' + input: np.array of full data set (temperaute,AMRs,fluxgates) + times: list of times corresponding to the data points + timestamps: list of timestamps: start_ramp, stop_ramp, save_point + ''' + #timestamp "stop_ramp" must be adjusted by three seconds because main records the time when the PID controllers are turned off. After that it waits 3 seconds. + # timestamps[1] = timestamps[1] +datetime.timedelta(0,3) + + #find indices corresponding to timestamps + indices = [find_index_of_first_equal_to(times,timestamp) for timestamp in timestamps] + print(indices) + #calculate AMR magnitude + AMR_mag = np.zeros(shape = (len(input[:,0]),15)) + for j in range(15): + for i in range(len(input[:,0])): + AMR_mag[i,j] = np.sqrt(input[i,j+8]**2 + input[i,j+23]**2 + input[i,j+38]**2) + + #find B_start from fluxgates + B_start = [input[indices[0],53],input[indices[0],54],input[indices[0],55]] + B_start.append(np.sqrt(B_start[0]**2+B_start[1]**2+B_start[2]**2)) #magnitude of B_start + + #find expelled flux + B_expelled = np.hstack((input[indices[1],8:53], AMR_mag[indices[1],:])) + + #find trapped flux + B_trapped = np.hstack((input[indices[2],8:53], AMR_mag[indices[2],:])) + + #calculate wave magnitude + WM_x = np.max(np.max(abs(input[indices[0]:indices[1],8:23]) - abs(input[indices[0],8:23]))) + WM_y = np.max(np.max(abs(input[indices[0]:indices[1],23:38]) - abs(input[indices[0],23:38]))) + WM_z = np.max(np.max(abs(input[indices[0]:indices[1],38:53]) - abs(input[indices[0],38:53]))) + + return([B_start, B_expelled, B_trapped, [WM_x, WM_y, WM_z], indices]) + + \ No newline at end of file diff --git a/Legacy/TF_Control/scripts/calibrate_csv_raw_file.py b/Legacy/TF_Control/scripts/calibrate_csv_raw_file.py new file mode 100644 index 0000000..7f83519 --- /dev/null +++ b/Legacy/TF_Control/scripts/calibrate_csv_raw_file.py @@ -0,0 +1,193 @@ +import os +import numpy as np +import datetime +#import matplotlib.pyplot as plt +from scipy.optimize import curve_fit +import csv + +def calibration_function(x,a,b,c): #Calibration function for Cernox sensors + return 1/(a + b*np.log(x)+c*np.log(x)**2) + +def load_AMR_params(path):#loads self.params (the fit parameters) from file and sets self.params to the new values. Is called when load button is pushed + rows = [] + with open(path, 'r') as file: + csvreader = csv.reader(file,delimiter = '\t') + for row in csvreader: + rows.append(row) + + #recreate arrays + coeffs = [] + for r in rows[0][0:45]: #last entry is '' at index 45 + r_short = r[2:-1] #get rid of "[ "at the beginning, and "]" at the end + r_split = r_short.split(' ') #split at every space + coeff_list = [x for x in r_split if x != ''] #get rid of empty entries that can occur if a double space was written in the text file + coeff_list = [float(x) for x in coeff_list] #convert str to float + coeff_array = np.array(coeff_list) + coeffs.append([coeff_array,0]) #append a list with a dummy zero, just so the data structure is as it was when self.params is created by the programm + + params = coeffs + return params + +def convert_AMR_Data(Vx,Vy,Vz, params):#is constantly running. If self.convert == True the voltage data is converted to B + Bx = [0 for i in range(15)] #store converted AMR data + By = [0 for i in range(15)] + Bz = [0 for i in range(15)] + + #solve system of linear equation according to Felix' diss p.49 eq. 3.3. + for i,V in enumerate(zip(Vx,Vy,Vz)): + V = np.array(V) #convert tuple from zip into np.array + V0 = np.array([params[i][0][3],params[i+15][0][3],params[i+30][0][3]]) #get the offset voltages of all sensors in group number i + S = np.array([params[i][0][0:3],params[i+15][0][0:3],params[i+30][0][0:3]]) #assemble the sensitivity matrix of group number i + try: + B = np.linalg.solve(S,V-V0) #solve the linear equation + except: + B = [0,0,0] + print(i) + Bx[i] = B[0] + By[i] = B[1] + Bz[i] = B[2] + + # print(B) + # print(i) + + return [Bx, By, Bz] + +#paths +raw_data_path = r"D:\Data\TF_CRAFT_2025-04-28\merged_data_2025_04_28.csv" +cernox_calibration_data_path = r"D:\Data\TF_CRAFT_2025-04-28\Cernox_Calibration" +AMR_calibration_folder_path = r"D:\Data\TF_CRAFT_2025-04-28\AMR_Calibration\Short" + +#import files +raw_data = np.loadtxt(raw_data_path, skiprows=0) +cernox_calibration_data_U = np.loadtxt(cernox_calibration_data_path + "\\Cernox_calibration_rawdata_U.txt", skiprows=0) +cernox_calibration_data_T = np.loadtxt(cernox_calibration_data_path + "\\Cernox_calibration_rawdata_T.txt", skiprows=0) + +#Import all AMR Calibration Files +AMR_Calibration_Filename_list = os.listdir(AMR_calibration_folder_path) + +AMR_Params_List = [] #Parameter list with structure [time in seconds, AMR Parameters] + +for Filename in AMR_Calibration_Filename_list: #Iterate through all AMR Calibration files and import parameters + + file_path = AMR_calibration_folder_path +"\\" + Filename #File path of single calibration file + AMR_Params = load_AMR_params(file_path) + file_date = datetime.datetime.strptime(Filename[:-10], "%Y-%m-%d_%H-%M-%S") #Date of filename + file_date_sec = (file_date - datetime.datetime(1970,1,1)).total_seconds() #Date of filename in seconds since 1970 + + AMR_Params_List.append([file_date_sec, AMR_Params]) + + +# AMR_Params = load_AMR_params(AMR_calibration_data_path) + +row_count = len(raw_data[:,0]) + +Cernox_fit_params = [] + +for i in range(0,8): #Perform fit for all 8 Cernox sensors + Params, Cov = curve_fit(calibration_function, cernox_calibration_data_U[:,i], cernox_calibration_data_T[:,i]) + + Umin = np.min(cernox_calibration_data_U[:,i]) + Umax = np.max(cernox_calibration_data_U[:,i]) + + #Create list of U_values and calculate T values for plotting purposes + U_values = np.linspace(Umin*0.95, Umax*1.05, 1000) + T_fit = calibration_function(U_values, *Params) + + Cernox_fit_params.append([Params,Umin, Umax]) #Save fit params and Umin and Umax in Cernox_fit_params list + +# plt.plot(U_values, T_fit, linestyle="--", label=f"Fit of Cernox {i}") +# plt.plot(cernox_calibration_data_U[:,i], cernox_calibration_data_T[:,i], marker="x", label=f"Data of Cernox {i}") + +# plt.legend() +# plt.xlabel("Resistance (Ohm)") +# plt.ylabel("Temperature (K)") +# plt.title("Cernox calibration fits") +# plt.show() + + +#UNCOMMENT PART + +#list of all datetime objects for every measurement point +date_list = [] +calibrated_data = raw_data + +#New data structure: 1. Column: Time, 2-9 Column: Cernox, 10-54 Column: AMRx, AMRy, AMRz, 3 fluxgate +new_calibrated_data = np.empty(shape=(row_count,1+8+45+3)) #timestamp + 8 cernox + 45 amr + 3 fluxgate + +for i in range(0,row_count): + + #Convert seconds to datetime objects, which will be stored in date_list + date_in_sec = raw_data[i,0] + date = datetime.datetime(1970,1,1) + datetime.timedelta(seconds= date_in_sec) + date_list.append(date) + + new_list = [date_in_sec] + + #Convert cernox voltages to temperature values + V_Cernox_List = raw_data[i,-8:] #List of Cernox voltages at measurement point i + # print(V_Cernox_List) + for i_Cernox in range(0,8): + V_Cernox = V_Cernox_List[i_Cernox] + # print(V_Cernox) + if V_Cernox >= Cernox_fit_params[i_Cernox][1] and V_Cernox <= Cernox_fit_params[i_Cernox][2]: + T_Cernox = calibration_function(V_Cernox, *Cernox_fit_params[i_Cernox][0]) + else: + T_Cernox = 0 + calibrated_data[i,-8+i_Cernox] = T_Cernox + new_list.append(T_Cernox) + + #Perform AMR calibration + AMR_Ux = [raw_data[i][1+j] for j in [0,3,4,9,12,13,18,21,22,28,31,32,37,40,41]] #1+j since first column is time in seconds + AMR_Uy = [raw_data[i][1+j] for j in [8,7,6,17,16,15,27,26,25,36,35,34,45,44,43]] #1+j since first column is time in seconds + AMR_Uz = [raw_data[i][1+j] for j in [1,2,5,10,11,14,19,20,24,29,30,33,38,39,42]] #1+j since first column is time in seconds + + #Find matching AMR Parameters (according to time of measurements and time of calibration) + for j in range(0,len(AMR_Params_List)): + Calibration_time = AMR_Params_List[j][0] #Time in seconds in which AMR calibration was performed + if j < len(AMR_Params_List)-1: + NextCalibration_time = AMR_Params_List[j+1][0] + else: + NextCalibration_time = 10e12 + + if date_in_sec >= Calibration_time and date_in_sec < NextCalibration_time: + AMR_Params = AMR_Params_List[j][1] + + save_times = [Calibration_time, NextCalibration_time] #Save times of picked AMR Params for debugging purposes + + Converted_AMR = convert_AMR_Data(AMR_Ux, AMR_Uy, AMR_Uz, AMR_Params) + for AMR_Direction in Converted_AMR: + for AMR_Sensor_B in AMR_Direction: + new_list.append(AMR_Sensor_B) + + #append FluxGate data + FluxGate_B = [100*raw_data[i][1+j] for j in [46,47,48]] #fluxgate data in µT + + for FluxGate_value in FluxGate_B: + new_list.append(FluxGate_value) + # print(FluxGate_value) + + + new_calibrated_data[i,:] = new_list + + if i%1000 == 0: + print(f"Loading... {np.round(100*i/row_count,1)} % calibrated.") + + # print(f"Measurement point time = {date_in_sec} s, {save_times} s") + + + + + + + + +# np.savetxt("D:\\Dokumente\\Masterarbeit\\Auswertung\\TF Analyse\\calibrated_data_test.csv", calibrated_data) +np.savetxt(r"D:\Data\TF_CRAFT_2025-04-28\calibrated_data_2025_04_28.csv", new_calibrated_data) + +# for i in range(0,8): +# plt.plot(calibrated_data[:,0], calibrated_data[:,-8+i], label=f"Cernox {i}") + +# plt.xlabel("time (sec)") +# plt.ylabel("Temperature (K)") +# plt.legend() +# plt.show() \ No newline at end of file diff --git a/Legacy/TF_Control/scripts/imc_csv_to_one_csv_file.py b/Legacy/TF_Control/scripts/imc_csv_to_one_csv_file.py new file mode 100644 index 0000000..8431a10 --- /dev/null +++ b/Legacy/TF_Control/scripts/imc_csv_to_one_csv_file.py @@ -0,0 +1,49 @@ +import os +import numpy as np +import datetime +# dir_name = "D:\\Dokumente\\Masterarbeit\\Auswertung\\Messdaten\\TF_2024-10-29\\fast csv raw_files" +dir_name=r'D:\Data\TF_CRAFT_2025-04-28\TF-CSV' + +# specifying an empty list for content +# content = [] + +#Import first csv file in order to get column_count. This is important for creating an empty np array +csv_filename_list = os.listdir(dir_name) +first_data = np.loadtxt(dir_name +"\\"+csv_filename_list[0],delimiter='\t',skiprows=1) +column_count = len(first_data[0,:]) + +#Create empty np.array in which all data will be stored +data = np.empty(shape=(0,int(column_count))) + + +for file in csv_filename_list: + data_time = [] + #Build filepath of the csv file + file_path = dir_name +"\\" + file + + #Load csv file without header + df = np.loadtxt(file_path,delimiter='\t',skiprows=1) + df_data = df[:,1:] + row_count = len(df[:,0]) + + + #Get datetime format out of filename + filedate = datetime.datetime.strptime(file[:-4], "%Y-%m-%d %H-%M-%S") + print(filedate) + + first_time = df[0,0] #Time in seconds of the first data point. + for i in range(0,row_count): + time_relative_in_seconds = df[i,0] - first_time #Normalize all times, such that all files begin with time = 0 sec. + time_of_measurement = filedate + datetime.timedelta(seconds= time_relative_in_seconds) + time_in_seconds = (time_of_measurement - datetime.datetime(1970,1,1)).total_seconds() + data_time.append(time_in_seconds) + + data_with_time = np.concatenate([np.array([data_time]).T, df_data], axis=1 ) + # print(data_with_time) + data = np.append(data, data_with_time, axis=0) + +# print(data[2853,0]) +# np.savetxt("D:\\Dokumente\\Masterarbeit\\Auswertung\\Messdaten\\TF_2024-10-29\\merged_fast_data_2024_10_29.csv", data) +np.savetxt(r"D:\Data\TF_CRAFT_2025-04-28\merged_data_2025_04_28.csv", data) + + diff --git a/Legacy/TF_Control/scripts/import_AMR_cal.py b/Legacy/TF_Control/scripts/import_AMR_cal.py new file mode 100644 index 0000000..f588076 --- /dev/null +++ b/Legacy/TF_Control/scripts/import_AMR_cal.py @@ -0,0 +1,20 @@ +import numpy as np +import csv + +path = "D:\\Glaskryostat\\Daten\\2024-09-25 LG Python test\\AMR_Kalibration\\2024-09-25_14-48-23_short.txt" +delim = "\t" +rows = [] +with open(path, 'r') as file: + csvreader = csv.reader(file,delimiter = delim) + for row in csvreader: + rows.append(row) + +#recreate arrays +coeffs = [] +for r in rows[0][0:44]: #last entry is '' at index 45 + r_short = r[2:-1] #get rid of "[ "at the beginning, and "]" at the end + r_split = r_short.split(' ') #split at every space + coeff_list = [x for x in r_split if x != ''] #get rid of empty entries that can occur if a double space was written in the text file + coeff_list = [float(x) for x in coeff_list] #convert str to float + coeff_array = np.array(coeff_list) + coeffs.append(coeff_array) diff --git a/Legacy/TF_Control/scripts/import_txt.py b/Legacy/TF_Control/scripts/import_txt.py new file mode 100644 index 0000000..5c180a0 --- /dev/null +++ b/Legacy/TF_Control/scripts/import_txt.py @@ -0,0 +1,359 @@ +import csv +import numpy as np +import fnmatch +import datetime + + +def read_wdate(path,dateformat,rowheader = 0,delim = '\t'): + ''' + imports csv data from path, with header in rows to "rowheader", + time in first column in "dateformat" (if dateformat == timestamp time from 1970 in seconds is used), + and with delimiter "delim". Returns header and times as list and data as numpy array. + ''' + rows = [] + header = [] + with open(path, 'r') as file: + csvreader = csv.reader(file,delimiter = delim) + for i, row in enumerate(csvreader): + header.append(row) + if i == rowheader: + break + for row in csvreader: + rows.append(row) + rows = rows[rowheader:] + + temp = rows[0] #Check if las column is empty and adjust number of colums + if temp[-1] == '': + c = len(temp)-1 + else: + c = len(temp) + out = np.empty([len(rows),c-1]) + + if len(fnmatch.filter(rows[-1],'*,*')) > 0: #Convert comma to point in numbers if necassary + for i,r in enumerate(rows): + temp = [s.replace(',','.') for s in r] + for n,s in enumerate(temp): #replace empty entries to 0, so it can be converted + if s == '' or s == 'Off': + temp[n] = '0' + elif s == 'On': + temp[n] = '1' + try: #if therer a non convertable string in the row replace them with NaN + out[i] = np.asarray(temp[1:c],dtype = float) #convert row to np array and set in in "out" array + except: + for k,v in enumerate(temp[1:c]): #find the entry that cannot be converted and set it to NaN + try: + float(v) + except: + temp[k+1] = 'Nan' + out[i] = np.asarray(temp[1:c],dtype = float) #convert the modified row to np array and set it in "out" + else: + for i,r in enumerate(rows): + for n,s in enumerate(r): #replace empty entries to 0, so it can be converted + if s == '' or s == 'Off': + r[n] = '0' + elif s == 'On': + r[n] = '1' + + try: #if therer a non convertable string in the row replace them with NaN + out[i] = np.asarray(r[1:c],dtype = float) #convert row to np array and set in in "out" array + except: + for k,v in enumerate(r[1:c]): #find the entry that cannot be converted and set it to NaN + try: + float(v) + except: + r[k+1] = 'NaN' + out[i] = np.asarray(r[1:c],dtype = float) #convert the modified row to np array and set it in "out" + #Create time list + times = [] + if dateformat == 'timestamp': + for r in rows: + times.append(datetime.datetime.utcfromtimestamp(float(r[0]))) + else: + for r in rows: + times.append(datetime.datetime.strptime(r[0],dateformat)) + + + return(header,out,times) + +def read_w2dates(path,dateformat,rowheader = 0,delim = '\t'): + ''' + imports csv data from path, with header in rows to "rowheader", times in + first and second column in "dateformat", and with delimiter "delim". + Returns header and times as list and data as numpy array. + ''' + rows = [] + header = [] + with open(path, 'r') as file: + csvreader = csv.reader(file,delimiter = delim) + for i, row in enumerate(csvreader): + header.append(row) + if i == rowheader: + break + for row in csvreader: + rows.append(row) + rows = rows[rowheader:] + + temp = rows[0] #Check if las column is empty and adjust number of colums + if temp[-1] == '': + c = len(temp)-1 + else: + c = len(temp) + out = np.empty([len(rows),c-2]) + + if len(fnmatch.filter(rows[-1],'*,*')) > 0: #Convert comma to point in numbers if necassary + for i,r in enumerate(rows): + temp = [s.replace(',','.') for s in r] + for n,s in enumerate(temp): #replace empty entries to 0, so it can be converted + if s == '' or s == 'Off': + temp[n] = '0' + elif s == 'On': + temp[n] = '1' + try: #if therer a non convertable string in the row replace them with NaN + out[i] = np.asarray(temp[2:c],dtype = float) #convert row to np array and set in in "out" array + except: + for k,v in enumerate(temp[2:c]): #find the entry that cannot be converted and set it to NaN + try: + float(v) + except: + temp[k+2] = 'Nan' + out[i] = np.asarray(temp[2:c],dtype = float) #convert the modified row to np array and set it in "out" + else: + for i,r in enumerate(rows): + for n,s in enumerate(r): #replace empty entries to 0, so it can be converted + if s == '' or s == 'Off': + r[n] = '0' + elif s == 'On': + r[n] = '1' + + try: #if therer a non convertable string in the row replace them with NaN + out[i] = np.asarray(r[2:c],dtype = float) #convert row to np array and set in in "out" array + except: + for k,v in enumerate(r[2:c]): #find the entry that cannot be converted and set it to NaN + try: + float(v) + except: + r[k+2] = 'NaN' + out[i] = np.asarray(r[2:c],dtype = float) #convert the modified row to np array and set it in "out" + #Create time list + times = [] + for r in rows: + time_1 = datetime.datetime.strptime(r[0],dateformat) + time_2 = datetime.datetime.strptime(r[1],dateformat) + times.append([time_1, time_2]) + + + return(header,out,times) + +def read_w3dates(path,dateformat,rowheader = 0,delim = '\t'): + ''' + imports csv data from path, with header in rows to "rowheader", times in + first to third column in "dateformat", and with delimiter "delim". Returns header + and times as list and data as numpy array. + ''' + rows = [] + header = [] + with open(path, 'r') as file: + csvreader = csv.reader(file,delimiter = delim) + for i, row in enumerate(csvreader): + header.append(row) + if i == rowheader: + break + for row in csvreader: + rows.append(row) + rows = rows[rowheader:] + + temp = rows[0] #Check if las column is empty and adjust number of colums + if temp[-1] == '': + c = len(temp)-1 + else: + c = len(temp) + out = np.empty([len(rows),c-3]) + + if len(fnmatch.filter(rows[-1],'*,*')) > 0: #Convert comma to point in numbers if necassary + for i,r in enumerate(rows): + temp = [s.replace(',','.') for s in r] + for n,s in enumerate(temp): #replace empty entries to 0, so it can be converted + if s == '' or s == 'Off': + temp[n] = '0' + elif s == 'On': + temp[n] = '1' + try: #if therer a non convertable string in the row replace them with NaN + out[i] = np.asarray(temp[3:c],dtype = float) #convert row to np array and set in in "out" array + except: + for k,v in enumerate(temp[3:c]): #find the entry that cannot be converted and set it to NaN + try: + float(v) + except: + temp[k+3] = 'Nan' + out[i] = np.asarray(temp[3:c],dtype = float) #convert the modified row to np array and set it in "out" + else: + for i,r in enumerate(rows): + for n,s in enumerate(r): #replace empty entries to 0, so it can be converted + if s == '' or s == 'Off': + r[n] = '0' + elif s == 'On': + r[n] = '1' + + try: #if therer a non convertable string in the row replace them with NaN + out[i] = np.asarray(r[3:c],dtype = float) #convert row to np array and set in in "out" array + except: + for k,v in enumerate(r[3:c]): #find the entry that cannot be converted and set it to NaN + try: + float(v) + except: + r[k+3] = 'NaN' + out[i] = np.asarray(r[3:c],dtype = float) #convert the modified row to np array and set it in "out" + #Create time list + times = [] + for r in rows: + time_1 = datetime.datetime.strptime(r[0],dateformat) + time_2 = datetime.datetime.strptime(r[1],dateformat) + time_3 = datetime.datetime.strptime(r[2],dateformat) + times.append([time_1, time_2, time_3]) + + + return(header,out,times) + +def read_wheader(path,rowheader = 0,delim = '\t'): + '''imports csv data from path, with header in rows to "rowheader", and with delimiter "delim". + Returns header as list and data as numpy array.''' + rows = [] + header = [] + with open(path, 'r') as file: + csvreader = csv.reader(file,delimiter = delim) + for i, row in enumerate(csvreader): + header.append(row) + if i == rowheader: + break + for row in csvreader: + rows.append(row) + rows = rows[rowheader:] + + temp = rows[0] #Check if las column is empty and adjust number of colums + if temp[-1] == '': + c = len(temp)-1 + else: + c = len(temp) + out = np.empty([len(rows),c]) + + if len(fnmatch.filter(rows[-1],'*,*')) > 0: #Convert comma to point in numbers if necassary + for i,r in enumerate(rows): + temp = [s.replace(',','.') for s in r] + for n,s in enumerate(temp): #replace empty entries to 0, so it can be converted + if s == '' or s == 'Off': + temp[n] = '0' + elif s == 'On': + temp[n] = '1' + try: #if therer a non convertable string in the row replace them with NaN + out[i] = np.asarray(temp[0:c],dtype = float) #convert row to np array and set in in "out" array + except: + for k,v in enumerate(temp[0:c]): #find the entry that cannot be converted and set it to NaN + try: + float(v) + except: + temp[k] = 'Nan' + out[i] = np.asarray(temp[0:c],dtype = float) #convert the modified row to np array and set it in "out" + else: + for i,r in enumerate(rows): + for n,s in enumerate(r): #replace empty entries to 0, so it can be converted + if s == '' or s == 'Off': + r[n] = '0' + elif s == 'On': + r[n] = '1' + + try: #if therer a non convertable string in the row replace them with NaN + out[i] = np.asarray(r[0:c],dtype = float) #convert row to np array and set in in "out" array + except: + for k,v in enumerate(r[0:c]): #find the entry that cannot be converted and set it to NaN + try: + float(v) + except: + r[k] = 'NaN' + out[i] = np.asarray(r[0:c],dtype = float) #convert the modified row to np array and set it in "out" + + return(header,out) + +def read_raw_np(path,delim = '\t'): + ''' + imports csv data from path, without header, and with delimiter "delim". + Returns data as numpy array. + ''' + rows = [] + with open(path, 'r') as file: + csvreader = csv.reader(file,delimiter = delim) + for row in csvreader: + rows.append(row) + + temp = rows[0] #Check if last column is empty and adjust number of colums + if temp[-1] == '': + c = len(temp)-1 + else: + c = len(temp) + out = np.empty([len(rows),c]) + + if len(fnmatch.filter(rows[-1],'*,*')) > 0: #Convert comma to point in numbers if necassary + for i,r in enumerate(rows): + temp = [s.replace(',','.') for s in r] + for n,s in enumerate(temp): #replace empty entries to 0, so it can be converted + if s == '' or s == 'Off': + temp[n] = '0' + elif s == 'On': + temp[n] = '1' + try: #if therer a non convertable string in the row replace them with NaN + out[i] = np.asarray(temp[0:c],dtype = float) #convert row to np array and set in in "out" array + except: + for k,v in enumerate(temp[0:c]): #find the entry that cannot be converted and set it to NaN + try: + float(v) + except: + temp[k] = 'NaN' + out[i] = np.asarray(temp[0:c],dtype = float) #convert the modified row to np array and set it in "out" + else: + for i,r in enumerate(rows): + for n,s in enumerate(r): #replace empty entries to 0, so it can be converted + if s == '' or s == 'Off': + r[n] = '0' + elif s == 'On': + r[n] = '1' + + try: #if therer a non convertable string in the row replace them with NaN + out[i] = np.asarray(r[0:c],dtype = float) #convert row to np array and set in in "out" array + except: + for k,v in enumerate(r[0:c]): #find the entry that cannot be converted and set it to NaN + try: + float(v) + except: + r[k] = 'NaN' + out[i] = np.asarray(r[0:c],dtype = float) #convert the modified row to np array and set it in "out" + + + return(out) + +def read_raw(path,delim = '\t',convert = False): + ''' + imports csv data from path, without header, and with delimiter "delim". Can also import strings. + Returns data as list. If convert = True commas will be changed to points. + Carefull: not only converts commas in numbers, but in all strings. + ''' + rows = [] + with open(path, 'r') as file: + csvreader = csv.reader(file,delimiter = delim) + for row in csvreader: + rows.append(row) + + temp = rows[0] #Check if last column is empty and adjust number of colums + if temp[-1] == '': + c = len(temp)-1 + else: + c = len(temp) + out = [] + + if len(fnmatch.filter(rows[-1],'*,*')) > 0 and convert == True: #Convert comma to point in numbers if necassary + for i,r in enumerate(rows): + temp = [s.replace(',','.') for s in r] + out.append(temp[0:c]) + else: + for i,r in enumerate(rows): + out.append(r[0:c]) + + return(out) diff --git a/Legacy/TF_Control/scripts/plot_raw_data.py b/Legacy/TF_Control/scripts/plot_raw_data.py new file mode 100644 index 0000000..6133058 --- /dev/null +++ b/Legacy/TF_Control/scripts/plot_raw_data.py @@ -0,0 +1,63 @@ +import numpy as np +import sys,os +import matplotlib.pyplot as plt + + +# Get the current script's directory +current_dir = os.path.dirname(os.path.abspath(__file__)) +# Get the parent directory by going one level up +parent_dir = os.path.dirname(current_dir) +# Add the parent directory to sys.path +sys.path.append(parent_dir) +from scripts import import_txt + +#import "raw" data from file +path = r"D:\Glaskryostat\Data\2025-04-01 Nb3SN-Nb-Cu-HZB-SI\calibrated_data_2025_04_02_correct_time.csv" +path_points = r"D:\Glaskryostat\Data\2025-04-01 Nb3SN-Nb-Cu-HZB-SI\points\TF-v-DT.txt" +[header,data,times] = import_txt.read_wdate(path,'timestamp',delim=' ') + +#extract times from points file if it exists to plot them +point_times = [] +try: + [header,data_arr,point_times] = import_txt.read_w3dates(path_points, '%Y-%m-%d_%H-%M-%S',delim = '\t') + point_times = [x for xs in point_times for x in xs] #flatten list +except: + pass + +#plot tempeature data versus time +plt.figure(1) +for i in range(8): + plt.plot(times,data[:,i],label=str(i+1)) + +try: + for i in range(len(point_times)): + plt.axvline(x=point_times[i],color='black',linestyle='dashed') +except: + pass +plt.legend() +plt.show(block=False) +plt.title('Temperature') + +#plot AMR_x data versus time +plt.figure(2) +plt.plot(times,data[:,8:23]) +plt.show(block=False) +plt.title('AMR_x') + +#plot AMR_y data versus time +plt.figure(3) +plt.plot(times,data[:,23:38]) +plt.show(block=False) +plt.title('AMR_y') + +#plot AMR_z data versus time +plt.figure(4) +plt.plot(times,data[:,38:53]) +plt.show(block=False) +plt.title('AMR_z') + +#plot fluxgate data versus time +plt.figure(5) +plt.plot(times,data[:,53:56]) +plt.show() +plt.title('Fluxgate') \ No newline at end of file diff --git a/Legacy/TF_Control/write_LabView2GlobalVars.py b/Legacy/TF_Control/write_LabView2GlobalVars.py new file mode 100644 index 0000000..b7d3660 --- /dev/null +++ b/Legacy/TF_Control/write_LabView2GlobalVars.py @@ -0,0 +1,46 @@ +#recieves data from LabView and writes it in global variables TF. +import multiprocessing +import multiprocessing.managers +import socket +import struct +from timeit import default_timer as timer + +#establish connection to global variables} +manager = multiprocessing.managers.BaseManager(address=('localhost',5001), authkey=b'') +manager.connect() +manager.register('sync_imc') +sync_imc = manager.sync_imc() + + + +client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) +server_address = ('localhost', 8089) +client.connect(server_address) + +try: + print('Press strg+c to close the programm') + while True: + start = timer() + size = struct.unpack('i', client.recv(4))[0] # Extract the msg size from four bytes - mind the encoding + str_data = client.recv(size) + str_data = str_data.decode() + str_data = str_data.replace(',','.') + data = [float(splits) for splits in str_data.split('\t')] + #order the revieved data in the different sensor types. There is one empty pin on the board (channel 88 on imc). Therefore, index 23 is missing in the AMR indixes and Fluxgates start from 46. + sync_imc.update({'T':data[-8:]}) + + #ATTENTION: MINUS SIGN FOR FG X AND Z FOR CRAFT APPARATUS + FG_data=[-data[46],data[47],-data[48]] + sync_imc.update({'FG':FG_data}) + #USUAL CODE: + + # sync_imc.update({'FG':data[46:49]}) + sync_imc.update({'AMR_x':[data[i] for i in [0,3,4,9,12,13,18,21,22,28,31,32,37,40,41]]}) + sync_imc.update({'AMR_y':[data[i] for i in [8,7,6,17,16,15,27,26,25,36,35,34,45,44,43]]}) + sync_imc.update({'AMR_z':[data[i] for i in [1,2,5,10,11,14,19,20,24,29,30,33,38,39,42]]}) + end = timer() + # print('Data size: %s Data value: %s' % (size, str_data.decode('ascii'))) + print(end - start) +except KeyboardInterrupt: + print('shutting down') + client.sendall(b'Enough data :) Thanks') # Sending anything back closes the connection diff --git a/todo.org b/todo.org new file mode 100644 index 0000000..e9e85ee --- /dev/null +++ b/todo.org @@ -0,0 +1,4 @@ +* Make BK9132B_control a module +- with GUI built-in/as user module +- config files as yaml +[[file:Instrument_Drivers/BK_9132B_control.py][the python file]]