# Form implementation generated from reading ui file 'kirdy_qt.ui' # # Created by: PyQt6 UI code generator 6.6.0 # # 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(1280, 720) MainWindow.setMinimumSize(QtCore.QSize(1280, 720)) MainWindow.setMaximumSize(QtCore.QSize(3840, 2160)) icon = QtGui.QIcon.fromTheme("application-x-executable") MainWindow.setWindowIcon(icon) self.main_widget = QtWidgets.QWidget(parent=MainWindow) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding) sizePolicy.setHorizontalStretch(1) sizePolicy.setVerticalStretch(1) sizePolicy.setHeightForWidth(self.main_widget.sizePolicy().hasHeightForWidth()) self.main_widget.setSizePolicy(sizePolicy) self.main_widget.setObjectName("main_widget") self.gridLayout_2 = QtWidgets.QGridLayout(self.main_widget) self.gridLayout_2.setContentsMargins(3, 3, 3, 3) self.gridLayout_2.setSpacing(3) self.gridLayout_2.setObjectName("gridLayout_2") self.main_layout = QtWidgets.QVBoxLayout() self.main_layout.setSpacing(0) self.main_layout.setObjectName("main_layout") self.horizontalLayout = QtWidgets.QHBoxLayout() self.horizontalLayout.setSizeConstraint(QtWidgets.QLayout.SizeConstraint.SetDefaultConstraint) self.horizontalLayout.setSpacing(0) self.horizontalLayout.setObjectName("horizontalLayout") self.ctrl_vertical_layout = QtWidgets.QVBoxLayout() self.ctrl_vertical_layout.setSizeConstraint(QtWidgets.QLayout.SizeConstraint.SetMaximumSize) self.ctrl_vertical_layout.setSpacing(0) self.ctrl_vertical_layout.setObjectName("ctrl_vertical_layout") self.ld_section_label = QtWidgets.QLabel(parent=self.main_widget) font = QtGui.QFont() font.setPointSize(14) font.setBold(True) self.ld_section_label.setFont(font) self.ld_section_label.setWordWrap(False) self.ld_section_label.setObjectName("ld_section_label") self.ctrl_vertical_layout.addWidget(self.ld_section_label) self.ld_status = ParameterTree(parent=self.main_widget) self.ld_status.setEnabled(False) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.ld_status.sizePolicy().hasHeightForWidth()) self.ld_status.setSizePolicy(sizePolicy) self.ld_status.setMaximumSize(QtCore.QSize(16777215, 55)) self.ld_status.setObjectName("ld_status") self.ctrl_vertical_layout.addWidget(self.ld_status) self.ld_tree = ParameterTree(parent=self.main_widget) self.ld_tree.setEnabled(False) self.ld_tree.setObjectName("ld_tree") self.ctrl_vertical_layout.addWidget(self.ld_tree) self.ld_btns_layout = QtWidgets.QHBoxLayout() self.ld_btns_layout.setContentsMargins(10, -1, 10, -1) self.ld_btns_layout.setSpacing(30) self.ld_btns_layout.setObjectName("ld_btns_layout") self.ld_pwr_on_btn = QtWidgets.QPushButton(parent=self.main_widget) self.ld_pwr_on_btn.setEnabled(False) self.ld_pwr_on_btn.setObjectName("ld_pwr_on_btn") self.ld_btns_layout.addWidget(self.ld_pwr_on_btn) self.ld_pwr_off_btn = QtWidgets.QPushButton(parent=self.main_widget) self.ld_pwr_off_btn.setEnabled(False) self.ld_pwr_off_btn.setObjectName("ld_pwr_off_btn") self.ld_btns_layout.addWidget(self.ld_pwr_off_btn) self.ld_clear_alarm_btn = QtWidgets.QPushButton(parent=self.main_widget) self.ld_clear_alarm_btn.setEnabled(False) self.ld_clear_alarm_btn.setObjectName("ld_clear_alarm_btn") self.ld_btns_layout.addWidget(self.ld_clear_alarm_btn) self.ctrl_vertical_layout.addLayout(self.ld_btns_layout) self.tec_section_label = QtWidgets.QLabel(parent=self.main_widget) font = QtGui.QFont() font.setPointSize(14) font.setBold(True) self.tec_section_label.setFont(font) self.tec_section_label.setWordWrap(False) self.tec_section_label.setObjectName("tec_section_label") self.ctrl_vertical_layout.addWidget(self.tec_section_label) self.tec_status = ParameterTree(parent=self.main_widget) self.tec_status.setEnabled(False) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.tec_status.sizePolicy().hasHeightForWidth()) self.tec_status.setSizePolicy(sizePolicy) self.tec_status.setMaximumSize(QtCore.QSize(16777215, 55)) self.tec_status.setObjectName("tec_status") self.ctrl_vertical_layout.addWidget(self.tec_status) self.tec_tree = ParameterTree(parent=self.main_widget) self.tec_tree.setEnabled(False) self.tec_tree.setObjectName("tec_tree") self.ctrl_vertical_layout.addWidget(self.tec_tree) self.tec_btns_layout = QtWidgets.QHBoxLayout() self.tec_btns_layout.setContentsMargins(10, -1, 10, -1) self.tec_btns_layout.setSpacing(30) self.tec_btns_layout.setObjectName("tec_btns_layout") self.tec_pwr_on_btn = QtWidgets.QPushButton(parent=self.main_widget) self.tec_pwr_on_btn.setEnabled(False) self.tec_pwr_on_btn.setObjectName("tec_pwr_on_btn") self.tec_btns_layout.addWidget(self.tec_pwr_on_btn) self.tec_pwr_off_btn = QtWidgets.QPushButton(parent=self.main_widget) self.tec_pwr_off_btn.setEnabled(False) self.tec_pwr_off_btn.setObjectName("tec_pwr_off_btn") self.tec_btns_layout.addWidget(self.tec_pwr_off_btn) self.tec_clear_alarm_btn = QtWidgets.QPushButton(parent=self.main_widget) self.tec_clear_alarm_btn.setEnabled(False) self.tec_clear_alarm_btn.setObjectName("tec_clear_alarm_btn") self.tec_btns_layout.addWidget(self.tec_clear_alarm_btn) self.ctrl_vertical_layout.addLayout(self.tec_btns_layout) self.ctrl_vertical_layout.setStretch(0, 1) self.ctrl_vertical_layout.setStretch(1, 1) self.ctrl_vertical_layout.setStretch(2, 10) self.ctrl_vertical_layout.setStretch(3, 1) self.ctrl_vertical_layout.setStretch(4, 1) self.ctrl_vertical_layout.setStretch(5, 1) self.ctrl_vertical_layout.setStretch(6, 10) self.ctrl_vertical_layout.setStretch(7, 1) self.horizontalLayout.addLayout(self.ctrl_vertical_layout) self.graphgroup = QtWidgets.QGridLayout() self.graphgroup.setSizeConstraint(QtWidgets.QLayout.SizeConstraint.SetNoConstraint) self.graphgroup.setSpacing(0) self.graphgroup.setObjectName("graphgroup") self.tec_temp_graph = LivePlotWidget(parent=self.main_widget) self.tec_temp_graph.setEnabled(False) self.tec_temp_graph.setObjectName("tec_temp_graph") self.graphgroup.addWidget(self.tec_temp_graph, 1, 0, 1, 1) self.tec_i_graph = LivePlotWidget(parent=self.main_widget) self.tec_i_graph.setEnabled(False) self.tec_i_graph.setObjectName("tec_i_graph") self.graphgroup.addWidget(self.tec_i_graph, 1, 2, 1, 1) self.pd_mon_pwr_graph = LivePlotWidget(parent=self.main_widget) self.pd_mon_pwr_graph.setEnabled(False) self.pd_mon_pwr_graph.setObjectName("pd_mon_pwr_graph") self.graphgroup.addWidget(self.pd_mon_pwr_graph, 0, 0, 1, 1) self.ld_i_set_graph = LivePlotWidget(parent=self.main_widget) self.ld_i_set_graph.setEnabled(False) self.ld_i_set_graph.setObjectName("ld_i_set_graph") self.graphgroup.addWidget(self.ld_i_set_graph, 0, 2, 1, 1) self.horizontalLayout.addLayout(self.graphgroup) self.horizontalLayout.setStretch(0, 1) self.horizontalLayout.setStretch(1, 2) self.main_layout.addLayout(self.horizontalLayout) self.bottom_settings_group = QtWidgets.QFrame(parent=self.main_widget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.bottom_settings_group.sizePolicy().hasHeightForWidth()) self.bottom_settings_group.setSizePolicy(sizePolicy) self.bottom_settings_group.setMinimumSize(QtCore.QSize(0, 40)) self.bottom_settings_group.setMaximumSize(QtCore.QSize(16777215, 40)) self.bottom_settings_group.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel) self.bottom_settings_group.setFrameShadow(QtWidgets.QFrame.Shadow.Raised) self.bottom_settings_group.setObjectName("bottom_settings_group") self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.bottom_settings_group) self.horizontalLayout_2.setContentsMargins(3, 3, 3, 3) self.horizontalLayout_2.setSpacing(3) self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.settings_layout = QtWidgets.QHBoxLayout() self.settings_layout.setObjectName("settings_layout") self.connect_btn = QtWidgets.QToolButton(parent=self.bottom_settings_group) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.connect_btn.sizePolicy().hasHeightForWidth()) self.connect_btn.setSizePolicy(sizePolicy) self.connect_btn.setMinimumSize(QtCore.QSize(100, 0)) self.connect_btn.setMaximumSize(QtCore.QSize(100, 16777215)) self.connect_btn.setBaseSize(QtCore.QSize(100, 0)) self.connect_btn.setPopupMode(QtWidgets.QToolButton.ToolButtonPopupMode.MenuButtonPopup) self.connect_btn.setToolButtonStyle(QtCore.Qt.ToolButtonStyle.ToolButtonFollowStyle) self.connect_btn.setObjectName("connect_btn") self.settings_layout.addWidget(self.connect_btn) self.status_lbl = QtWidgets.QLabel(parent=self.bottom_settings_group) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.status_lbl.sizePolicy().hasHeightForWidth()) self.status_lbl.setSizePolicy(sizePolicy) self.status_lbl.setMinimumSize(QtCore.QSize(240, 0)) self.status_lbl.setMaximumSize(QtCore.QSize(120, 16777215)) self.status_lbl.setBaseSize(QtCore.QSize(120, 50)) self.status_lbl.setObjectName("status_lbl") self.settings_layout.addWidget(self.status_lbl) self.kirdy_settings = QtWidgets.QToolButton(parent=self.bottom_settings_group) self.kirdy_settings.setEnabled(False) self.kirdy_settings.setText("⚙") self.kirdy_settings.setPopupMode(QtWidgets.QToolButton.ToolButtonPopupMode.InstantPopup) self.kirdy_settings.setObjectName("kirdy_settings") self.settings_layout.addWidget(self.kirdy_settings) self.plot_settings = QtWidgets.QToolButton(parent=self.bottom_settings_group) self.plot_settings.setPopupMode(QtWidgets.QToolButton.ToolButtonPopupMode.InstantPopup) self.plot_settings.setObjectName("plot_settings") self.settings_layout.addWidget(self.plot_settings) self.limits_warning = QtWidgets.QLabel(parent=self.bottom_settings_group) self.limits_warning.setToolTipDuration(1000000000) self.limits_warning.setObjectName("limits_warning") self.settings_layout.addWidget(self.limits_warning) self.background_task_lbl = QtWidgets.QLabel(parent=self.bottom_settings_group) self.background_task_lbl.setObjectName("background_task_lbl") self.settings_layout.addWidget(self.background_task_lbl) self.loading_spinner = QtWaitingSpinner(parent=self.bottom_settings_group) self.loading_spinner.setObjectName("loading_spinner") self.settings_layout.addWidget(self.loading_spinner) spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum) self.settings_layout.addItem(spacerItem) self.horizontalLayout_3 = QtWidgets.QHBoxLayout() self.horizontalLayout_3.setContentsMargins(10, -1, 10, -1) self.horizontalLayout_3.setSpacing(10) self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.save_flash_btn = QtWidgets.QPushButton(parent=self.bottom_settings_group) self.save_flash_btn.setEnabled(False) self.save_flash_btn.setObjectName("save_flash_btn") self.horizontalLayout_3.addWidget(self.save_flash_btn) self.load_flash_btn = QtWidgets.QPushButton(parent=self.bottom_settings_group) self.load_flash_btn.setEnabled(False) self.load_flash_btn.setObjectName("load_flash_btn") self.horizontalLayout_3.addWidget(self.load_flash_btn) self.settings_layout.addLayout(self.horizontalLayout_3) self.report_group = QtWidgets.QWidget(parent=self.bottom_settings_group) self.report_group.setEnabled(False) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.report_group.sizePolicy().hasHeightForWidth()) self.report_group.setSizePolicy(sizePolicy) self.report_group.setMinimumSize(QtCore.QSize(40, 0)) self.report_group.setObjectName("report_group") self.horizontalLayout_4 = QtWidgets.QHBoxLayout(self.report_group) self.horizontalLayout_4.setContentsMargins(0, 0, 0, 0) self.horizontalLayout_4.setSpacing(0) self.horizontalLayout_4.setObjectName("horizontalLayout_4") self.report_layout = QtWidgets.QHBoxLayout() self.report_layout.setSizeConstraint(QtWidgets.QLayout.SizeConstraint.SetDefaultConstraint) self.report_layout.setContentsMargins(0, -1, -1, -1) self.report_layout.setSpacing(6) self.report_layout.setObjectName("report_layout") self.report_lbl = QtWidgets.QLabel(parent=self.report_group) self.report_lbl.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) self.report_lbl.setObjectName("report_lbl") self.report_layout.addWidget(self.report_lbl) self.report_refresh_spin = QtWidgets.QDoubleSpinBox(parent=self.report_group) self.report_refresh_spin.setEnabled(False) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.report_refresh_spin.sizePolicy().hasHeightForWidth()) self.report_refresh_spin.setSizePolicy(sizePolicy) self.report_refresh_spin.setMinimumSize(QtCore.QSize(70, 0)) self.report_refresh_spin.setMaximumSize(QtCore.QSize(70, 16777215)) self.report_refresh_spin.setBaseSize(QtCore.QSize(70, 0)) self.report_refresh_spin.setDecimals(1) self.report_refresh_spin.setMinimum(0.1) self.report_refresh_spin.setSingleStep(0.1) self.report_refresh_spin.setStepType(QtWidgets.QAbstractSpinBox.StepType.AdaptiveDecimalStepType) self.report_refresh_spin.setProperty("value", 1.0) self.report_refresh_spin.setObjectName("report_refresh_spin") self.report_layout.addWidget(self.report_refresh_spin) self.report_box = QtWidgets.QCheckBox(parent=self.report_group) self.report_box.setEnabled(False) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.report_box.sizePolicy().hasHeightForWidth()) self.report_box.setSizePolicy(sizePolicy) self.report_box.setMaximumSize(QtCore.QSize(80, 16777215)) self.report_box.setBaseSize(QtCore.QSize(80, 0)) self.report_box.setObjectName("report_box") self.report_layout.addWidget(self.report_box) self.report_apply_btn = QtWidgets.QPushButton(parent=self.report_group) self.report_apply_btn.setEnabled(False) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.report_apply_btn.sizePolicy().hasHeightForWidth()) self.report_apply_btn.setSizePolicy(sizePolicy) self.report_apply_btn.setMinimumSize(QtCore.QSize(80, 0)) self.report_apply_btn.setMaximumSize(QtCore.QSize(80, 16777215)) self.report_apply_btn.setBaseSize(QtCore.QSize(80, 0)) self.report_apply_btn.setObjectName("report_apply_btn") self.report_layout.addWidget(self.report_apply_btn) self.report_layout.setStretch(1, 1) self.report_layout.setStretch(2, 1) self.report_layout.setStretch(3, 1) self.horizontalLayout_4.addLayout(self.report_layout) self.settings_layout.addWidget(self.report_group) self.horizontalLayout_2.addLayout(self.settings_layout) self.main_layout.addWidget(self.bottom_settings_group) self.gridLayout_2.addLayout(self.main_layout, 0, 0, 1, 1) MainWindow.setCentralWidget(self.main_widget) self.actionReset = QtGui.QAction(parent=MainWindow) self.actionReset.setMenuRole(QtGui.QAction.MenuRole.NoRole) self.actionReset.setObjectName("actionReset") self.actionEnter_DFU_Mode = QtGui.QAction(parent=MainWindow) self.actionEnter_DFU_Mode.setMenuRole(QtGui.QAction.MenuRole.NoRole) self.actionEnter_DFU_Mode.setObjectName("actionEnter_DFU_Mode") self.actionNetwork_Settings = QtGui.QAction(parent=MainWindow) self.actionNetwork_Settings.setMenuRole(QtGui.QAction.MenuRole.NoRole) self.actionNetwork_Settings.setObjectName("actionNetwork_Settings") self.actionAbout_Kirdy = QtGui.QAction(parent=MainWindow) self.actionAbout_Kirdy.setMenuRole(QtGui.QAction.MenuRole.NoRole) self.actionAbout_Kirdy.setObjectName("actionAbout_Kirdy") self.actionLoad_all_configs = QtGui.QAction(parent=MainWindow) self.actionLoad_all_configs.setMenuRole(QtGui.QAction.MenuRole.NoRole) self.actionLoad_all_configs.setObjectName("actionLoad_all_configs") self.actionSave_all_configs = QtGui.QAction(parent=MainWindow) self.actionSave_all_configs.setMenuRole(QtGui.QAction.MenuRole.NoRole) self.actionSave_all_configs.setObjectName("actionSave_all_configs") self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "Kirdy Control Panel")) self.ld_section_label.setText(_translate("MainWindow", " Laser Diode")) self.ld_pwr_on_btn.setText(_translate("MainWindow", "POWER ON")) self.ld_pwr_off_btn.setText(_translate("MainWindow", "POWER OFF")) self.ld_clear_alarm_btn.setText(_translate("MainWindow", "CLEAR ALARM")) self.tec_section_label.setText(_translate("MainWindow", " Thermostat")) self.tec_pwr_on_btn.setText(_translate("MainWindow", "POWER ON")) self.tec_pwr_off_btn.setText(_translate("MainWindow", "POWER OFF")) self.tec_clear_alarm_btn.setText(_translate("MainWindow", "CLEAR ALAM")) self.connect_btn.setText(_translate("MainWindow", "Connect")) self.status_lbl.setText(_translate("MainWindow", "Disconnected")) self.plot_settings.setToolTip(_translate("MainWindow", "Plot Settings")) self.plot_settings.setText(_translate("MainWindow", "📉")) self.background_task_lbl.setText(_translate("MainWindow", "Ready.")) self.save_flash_btn.setText(_translate("MainWindow", "Save Settings to Flash")) self.load_flash_btn.setText(_translate("MainWindow", "Load Settings from Flash")) self.report_lbl.setText(_translate("MainWindow", "Poll every: ")) self.report_refresh_spin.setSuffix(_translate("MainWindow", " s")) self.report_box.setText(_translate("MainWindow", "Report")) self.report_apply_btn.setText(_translate("MainWindow", "Apply")) self.actionReset.setText(_translate("MainWindow", "Reset")) self.actionReset.setToolTip(_translate("MainWindow", "Reset the Kirdy")) self.actionEnter_DFU_Mode.setText(_translate("MainWindow", "Enter DFU Mode")) self.actionEnter_DFU_Mode.setToolTip(_translate("MainWindow", "Reset kirdy and enter USB device firmware update (DFU) mode")) self.actionNetwork_Settings.setText(_translate("MainWindow", "Network Settings")) self.actionNetwork_Settings.setToolTip(_translate("MainWindow", "Configure IPv4 address, netmask length, and optional default gateway")) self.actionAbout_Kirdy.setText(_translate("MainWindow", "About Kirdy")) self.actionAbout_Kirdy.setToolTip(_translate("MainWindow", "Show Kirdy hardware revision, and settings related to i")) self.actionLoad_all_configs.setText(_translate("MainWindow", "Load all channel configs from flash")) self.actionLoad_all_configs.setToolTip(_translate("MainWindow", "Restore configuration for all channels from flash")) self.actionSave_all_configs.setText(_translate("MainWindow", "Save all channel configs to flash")) self.actionSave_all_configs.setToolTip(_translate("MainWindow", "Save configuration for all channels to flash")) from pglive.sources.live_plot_widget import LivePlotWidget from pyqtgraph.parametertree import ParameterTree from waitingspinnerwidget import QtWaitingSpinner 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())