# Form implementation generated from reading ui file 'tec_qt.ui' # # Created by: PyQt6 UI code generator 6.4.2 # # 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)) 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.graph_group = QtWidgets.QFrame(parent=self.main_widget) self.graph_group.setEnabled(False) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding) sizePolicy.setHorizontalStretch(1) sizePolicy.setVerticalStretch(1) sizePolicy.setHeightForWidth(self.graph_group.sizePolicy().hasHeightForWidth()) self.graph_group.setSizePolicy(sizePolicy) self.graph_group.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel) self.graph_group.setFrameShadow(QtWidgets.QFrame.Shadow.Raised) self.graph_group.setObjectName("graph_group") self.graphs_layout = QtWidgets.QGridLayout(self.graph_group) self.graphs_layout.setSizeConstraint(QtWidgets.QLayout.SizeConstraint.SetDefaultConstraint) self.graphs_layout.setContentsMargins(3, 3, 3, 3) self.graphs_layout.setSpacing(2) self.graphs_layout.setObjectName("graphs_layout") self.ch1_tree = ParameterTree(parent=self.graph_group) self.ch1_tree.setObjectName("ch1_tree") self.graphs_layout.addWidget(self.ch1_tree, 1, 0, 1, 1) self.ch0_tree = ParameterTree(parent=self.graph_group) self.ch0_tree.setObjectName("ch0_tree") self.graphs_layout.addWidget(self.ch0_tree, 0, 0, 1, 1) self.ch1_t_graph = PlotWidget(parent=self.graph_group) self.ch1_t_graph.setObjectName("ch1_t_graph") self.graphs_layout.addWidget(self.ch1_t_graph, 1, 1, 1, 1) self.ch0_t_graph = PlotWidget(parent=self.graph_group) self.ch0_t_graph.setObjectName("ch0_t_graph") self.graphs_layout.addWidget(self.ch0_t_graph, 0, 1, 1, 1) self.ch0_i_graph = PlotWidget(parent=self.graph_group) self.ch0_i_graph.setObjectName("ch0_i_graph") self.graphs_layout.addWidget(self.ch0_i_graph, 0, 2, 1, 1) self.ch1_i_graph = PlotWidget(parent=self.graph_group) self.ch1_i_graph.setObjectName("ch1_i_graph") self.graphs_layout.addWidget(self.ch1_i_graph, 1, 2, 1, 1) self.graphs_layout.setColumnMinimumWidth(0, 100) self.graphs_layout.setColumnMinimumWidth(1, 100) self.graphs_layout.setColumnMinimumWidth(2, 100) self.graphs_layout.setRowMinimumHeight(0, 100) self.graphs_layout.setRowMinimumHeight(1, 100) self.graphs_layout.setColumnStretch(0, 1) self.graphs_layout.setColumnStretch(1, 1) self.graphs_layout.setColumnStretch(2, 1) self.graphs_layout.setRowStretch(0, 1) self.graphs_layout.setRowStretch(1, 1) self.main_layout.addWidget(self.graph_group) 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.ip_set_line = QtWidgets.QLineEdit(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.ip_set_line.sizePolicy().hasHeightForWidth()) self.ip_set_line.setSizePolicy(sizePolicy) self.ip_set_line.setMinimumSize(QtCore.QSize(160, 0)) self.ip_set_line.setMaximumSize(QtCore.QSize(160, 16777215)) self.ip_set_line.setMaxLength(15) self.ip_set_line.setClearButtonEnabled(True) self.ip_set_line.setObjectName("ip_set_line") self.settings_layout.addWidget(self.ip_set_line) self.port_set_spin = QtWidgets.QSpinBox(parent=self.bottom_settings_group) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.port_set_spin.sizePolicy().hasHeightForWidth()) self.port_set_spin.setSizePolicy(sizePolicy) self.port_set_spin.setMinimumSize(QtCore.QSize(70, 0)) self.port_set_spin.setMaximumSize(QtCore.QSize(70, 16777215)) self.port_set_spin.setMaximum(65535) self.port_set_spin.setProperty("value", 23) self.port_set_spin.setObjectName("port_set_spin") self.settings_layout.addWidget(self.port_set_spin) self.connect_btn = QtWidgets.QPushButton(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.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.thermostat_settings = QtWidgets.QToolButton(parent=self.bottom_settings_group) self.thermostat_settings.setText("⚙") self.thermostat_settings.setPopupMode(QtWidgets.QToolButton.ToolButtonPopupMode.InstantPopup) self.thermostat_settings.setObjectName("thermostat_settings") self.settings_layout.addWidget(self.thermostat_settings) self.line_0 = QtWidgets.QFrame(parent=self.bottom_settings_group) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.line_0.sizePolicy().hasHeightForWidth()) self.line_0.setSizePolicy(sizePolicy) self.line_0.setFrameShape(QtWidgets.QFrame.Shape.VLine) self.line_0.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken) self.line_0.setObjectName("line_0") self.settings_layout.addWidget(self.line_0) self.fan_group = QtWidgets.QWidget(parent=self.bottom_settings_group) self.fan_group.setEnabled(False) self.fan_group.setMinimumSize(QtCore.QSize(40, 0)) self.fan_group.setObjectName("fan_group") self.horizontalLayout_6 = QtWidgets.QHBoxLayout(self.fan_group) self.horizontalLayout_6.setContentsMargins(0, 0, 0, 0) self.horizontalLayout_6.setSpacing(0) self.horizontalLayout_6.setObjectName("horizontalLayout_6") self.gan_layout = QtWidgets.QHBoxLayout() self.gan_layout.setSpacing(9) self.gan_layout.setObjectName("gan_layout") self.fan_pwm_warning = QtWidgets.QLabel(parent=self.fan_group) self.fan_pwm_warning.setMinimumSize(QtCore.QSize(16, 0)) self.fan_pwm_warning.setText("") self.fan_pwm_warning.setObjectName("fan_pwm_warning") self.gan_layout.addWidget(self.fan_pwm_warning) self.fan_lbl = QtWidgets.QLabel(parent=self.fan_group) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.fan_lbl.sizePolicy().hasHeightForWidth()) self.fan_lbl.setSizePolicy(sizePolicy) self.fan_lbl.setMinimumSize(QtCore.QSize(40, 0)) self.fan_lbl.setMaximumSize(QtCore.QSize(40, 16777215)) self.fan_lbl.setBaseSize(QtCore.QSize(40, 0)) self.fan_lbl.setObjectName("fan_lbl") self.gan_layout.addWidget(self.fan_lbl) self.fan_power_slider = QtWidgets.QSlider(parent=self.fan_group) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.fan_power_slider.sizePolicy().hasHeightForWidth()) self.fan_power_slider.setSizePolicy(sizePolicy) self.fan_power_slider.setMinimumSize(QtCore.QSize(200, 0)) self.fan_power_slider.setMaximumSize(QtCore.QSize(200, 16777215)) self.fan_power_slider.setBaseSize(QtCore.QSize(200, 0)) self.fan_power_slider.setMinimum(1) self.fan_power_slider.setMaximum(100) self.fan_power_slider.setOrientation(QtCore.Qt.Orientation.Horizontal) self.fan_power_slider.setObjectName("fan_power_slider") self.gan_layout.addWidget(self.fan_power_slider) self.fan_auto_box = QtWidgets.QCheckBox(parent=self.fan_group) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.fan_auto_box.sizePolicy().hasHeightForWidth()) self.fan_auto_box.setSizePolicy(sizePolicy) self.fan_auto_box.setMinimumSize(QtCore.QSize(70, 0)) self.fan_auto_box.setMaximumSize(QtCore.QSize(70, 16777215)) self.fan_auto_box.setObjectName("fan_auto_box") self.gan_layout.addWidget(self.fan_auto_box) self.horizontalLayout_6.addLayout(self.gan_layout) self.settings_layout.addWidget(self.fan_group) self.line_1 = QtWidgets.QFrame(parent=self.bottom_settings_group) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.line_1.sizePolicy().hasHeightForWidth()) self.line_1.setSizePolicy(sizePolicy) self.line_1.setFrameShape(QtWidgets.QFrame.Shape.VLine) self.line_1.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken) self.line_1.setObjectName("line_1") self.settings_layout.addWidget(self.line_1) 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) 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) 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) 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, 1, 1, 1) MainWindow.setCentralWidget(self.main_widget) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "Thermostat Control Panel")) self.ch1_t_graph.setTitle(_translate("MainWindow", "Channel 1 Temperature")) self.ch0_t_graph.setTitle(_translate("MainWindow", "Channel 0 Temperature")) self.ch0_i_graph.setTitle(_translate("MainWindow", "Channel 0 Current")) self.ch1_i_graph.setTitle(_translate("MainWindow", "Channel 1 Current")) self.ip_set_line.setText(_translate("MainWindow", "192.168.1.26")) self.ip_set_line.setPlaceholderText(_translate("MainWindow", "IP:port for the Thermostat")) self.connect_btn.setText(_translate("MainWindow", "Connect")) self.status_lbl.setText(_translate("MainWindow", "Disconnected")) self.fan_lbl.setToolTip(_translate("MainWindow", "Adjust the fan")) self.fan_lbl.setText(_translate("MainWindow", "Fan:")) self.fan_auto_box.setText(_translate("MainWindow", "Auto")) 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")) from pyqtgraph import PlotWidget from pyqtgraph.parametertree import ParameterTree 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())