From eda2fbeb71dd5546e16c589d91f4a039d2c80140 Mon Sep 17 00:00:00 2001 From: Dunestorm Date: Sun, 30 Jun 2024 14:57:29 +0100 Subject: [PATCH] LiquidGUI [1.0.3.2] Release - Refactored some code. - Corrected fonts and updated styles. --- main.pyw | 76 ++++++++++++++++++++++------------------ requirements.txt | Bin 940 -> 980 bytes styles/SubLabel.py | 9 +++++ styles/SubLabelValue.py | 10 ++++++ 4 files changed, 60 insertions(+), 35 deletions(-) create mode 100644 styles/SubLabel.py create mode 100644 styles/SubLabelValue.py diff --git a/main.pyw b/main.pyw index 57430f8..737cc99 100644 --- a/main.pyw +++ b/main.pyw @@ -1,46 +1,50 @@ import sys import win32mica -import resources, pkg_resources.extern from PySide6.QtWidgets import QApplication, QMainWindow, QWidget, QVBoxLayout, QLabel, QProgressBar from PySide6.QtCore import Qt, QTimer, QThreadPool from PySide6.QtGui import QFont, QIcon from LiquidCTL_Helper import LiquidCTL_Helper from MessageHandler import MessageHandler +import resources, pkg_resources.extern +from styles.SubLabel import SubLabel +from styles.SubLabelValue import SubLabelValue + class MainWindow(QMainWindow): + """ Main application window. """ def __init__(self, lctl): super(MainWindow, self).__init__() - self.setWindowTitle("LiquidGUI (v.1.0.3.0)") + self.setWindowTitle("LiquidGUI (v.1.0.3.2)") self.setFixedSize(450, 385) self.lctl = lctl - # Widgets Style #################################### - lbl_style = QFont("Calibri", 12, weight=QFont.Weight.Bold) - lbl_align = Qt.AlignmentFlag.AlignCenter - # Widgets ########################################## - self.lbl_device_name = QLabel(font=QFont("Calibri", 16, weight=QFont.Weight.Bold)) - self.lbl_temp = QLabel("💧 Liquid Temperature:", - font=lbl_style) + self.lbl_device_name = QLabel(font=QFont("Calibre", + 14, + weight=QFont.Weight.Bold), + alignment=Qt.AlignmentFlag.AlignCenter) + + self.lbl_temp = SubLabel(value="💧 Liquid Temperature:") self.prg_temp = QProgressBar(textVisible=False, minimum=0, maximum=50) - self.lbl_prg_temp = QLabel(alignment=lbl_align) - self.lbl_fanSpeed = QLabel("🍃 Fan Speed:", - font=lbl_style) - self.prg_fanSpeed = QProgressBar(textVisible=False, + self.lbl_value_prg_temp = SubLabelValue() + + self.lbl_fanspeed = SubLabel(value="🍃 Fan Speed:") + self.prg_fanspeed = QProgressBar(textVisible=False, minimum=520, maximum=1700) - self.lbl_prg_fanSpeed = QLabel(alignment=lbl_align) - self.lbl_pumpSpeed = QLabel("⛽ Pump Speed:", - font=lbl_style) - self.prg_pumpSpeed = QProgressBar(textVisible=False, + self.lbl_value_prg_fanspeed = SubLabelValue() + + self.lbl_pumpspeed = SubLabel(value="⛽ Pump Speed:") + self.prg_pumpspeed = QProgressBar(textVisible=False, minimum=1900, maximum=2700) - self.lbl_prg_pumpSpeed = QLabel(alignment=lbl_align) - self.lbl_fwVers = QLabel(alignment=Qt.AlignmentFlag.AlignRight) + self.lbl_value_prg_pumpspeed = SubLabelValue() + + self.lbl_fwvers = SubLabelValue() # Layout ########################################## widget = QWidget(self) @@ -48,14 +52,14 @@ class MainWindow(QMainWindow): layout.addWidget(self.lbl_device_name) layout.addWidget(self.lbl_temp) layout.addWidget(self.prg_temp) - layout.addWidget(self.lbl_prg_temp) - layout.addWidget(self.lbl_fanSpeed) - layout.addWidget(self.prg_fanSpeed) - layout.addWidget(self.lbl_prg_fanSpeed) - layout.addWidget(self.lbl_pumpSpeed) - layout.addWidget(self.prg_pumpSpeed) - layout.addWidget(self.lbl_prg_pumpSpeed) - layout.addWidget(self.lbl_fwVers) + layout.addWidget(self.lbl_value_prg_temp) + layout.addWidget(self.lbl_fanspeed) + layout.addWidget(self.prg_fanspeed) + layout.addWidget(self.lbl_value_prg_fanspeed) + layout.addWidget(self.lbl_pumpspeed) + layout.addWidget(self.prg_pumpspeed) + layout.addWidget(self.lbl_value_prg_pumpspeed) + layout.addWidget(self.lbl_fwvers) layout.setSpacing(10) self.setLayout(layout) @@ -72,18 +76,20 @@ class MainWindow(QMainWindow): self.timer.start() def update_widgets(self): - self.lbl_device_name.setText("- "+self.lctl.device_name+" -") + """ Update widgets using LiquidCTL library.""" + self.lbl_device_name.setText("- " + self.lctl.device_name + " -") self.prg_temp.setValue(self.lctl.device_temp) - self.lbl_prg_temp.setText(str(self.lctl.device_temp)+"°C") - self.prg_fanSpeed.setValue(self.lctl.device_fanSpeed) - self.lbl_prg_fanSpeed.setText(str(self.lctl.device_fanSpeed)+" rpm") - self.prg_pumpSpeed.setValue(self.lctl.device_pumpSpeed) - self.lbl_prg_pumpSpeed.setText(str(self.lctl.device_pumpSpeed)+" rpm") + self.lbl_value_prg_temp.setText(str(self.lctl.device_temp) + "°C") + self.prg_fanspeed.setValue(self.lctl.device_fanSpeed) + self.lbl_value_prg_fanspeed.setText(str(self.lctl.device_fanSpeed) + " rpm") + self.prg_pumpspeed.setValue(self.lctl.device_pumpSpeed) + self.lbl_value_prg_pumpspeed.setText(str(self.lctl.device_pumpSpeed) + " rpm") if self.lctl.device_fwVers is not None: - self.lbl_fwVers.setText(f"Firmware: v{self.lctl.device_fwVers}") + self.lbl_fwvers.setText(f"Firmware: v{self.lctl.device_fwVers}") def main(): + """ Initialize application and setup window parameters. """ app = QApplication(sys.argv) icon = QIcon(":/icons/LiquidGUI.ico") app.setWindowIcon(icon) @@ -93,7 +99,7 @@ def main(): window.setAttribute(Qt.WidgetAttribute.WA_TranslucentBackground) # Show error and quit app if no devices are found - if window.lctl.TestConnectionState() == True: + if window.lctl.TestConnectionState(): MessageHandler().ShowNoDevicesFoundError() sys.exit(1) else: diff --git a/requirements.txt b/requirements.txt index 73963ee331b94c149d6f287e84fb2f9190082877..5a33f078ee85b4345e5214ce1406141528fa44f8 100644 GIT binary patch delta 166 zcmZ3(euaI5A0wmTW`9OmMpXj_JqAM{HfP{v;9>}1sALFc$Ye-iNM$f%umwUhklf^n zOyc74430qY6o!0;JceRaImYo+O}(Y@l6vD7GatdjbGMh#t-W delta 106 zcmcb@zJ`5+A0wmDW`9OmMpYvQJqAM{Heldo;9>}1sALFc$Ye-iNM$f%umwUhpq%OC siA>_+x(tp$@f3!9hCGI1R5?c7$=8`=8BHgDWeS~K#4G`1bu)Vc03cfxS^xk5 diff --git a/styles/SubLabel.py b/styles/SubLabel.py new file mode 100644 index 0000000..f2ce70d --- /dev/null +++ b/styles/SubLabel.py @@ -0,0 +1,9 @@ +from PySide6.QtWidgets import QLabel +from PySide6.QtGui import QFont + +class SubLabel(QLabel): + """ Formatting for sub-labels. """ + def __init__(self, value): + super().__init__() + self.setFont(QFont("Calibre", 10, weight=QFont.Weight.Bold)) + self.setText(value) \ No newline at end of file diff --git a/styles/SubLabelValue.py b/styles/SubLabelValue.py new file mode 100644 index 0000000..1a4a236 --- /dev/null +++ b/styles/SubLabelValue.py @@ -0,0 +1,10 @@ +from PySide6.QtWidgets import QLabel +from PySide6.QtGui import QFont +from PySide6.QtCore import Qt + +class SubLabelValue(QLabel): + """ Formatting for values. """ + def __init__(self): + super().__init__() + self.setAlignment(Qt.AlignmentFlag.AlignRight) + self.setFont(QFont("Cascadia Code", 8)) \ No newline at end of file