Files
Dunestorm aedd54b6a9 LiquidGUI [1.3.0.0]
- Unified Labels class to handle Linux and Windows.
2025-01-29 21:13:16 +00:00

46 lines
1.4 KiB
Python

from PySide6.QtWidgets import QLabel
from PySide6.QtGui import QFont
from PySide6.QtCore import Qt
import globals
def _set_os_family_font(ClassName: str):
_font = None
if globals.os == "Linux":
if ClassName == MainLabel.__name__ or SubLabel.__name__:
_font = "Noto Sans"
elif ClassName == SubLabelValue.__name__:
_font = "Noto Sans Mono"
elif globals.os == "Windows":
if ClassName == MainLabel.__name__ or SubLabel.__name__:
_font = "Calibri"
elif ClassName == SubLabelValue.__name__:
_font = "Cascadia Code"
return _font
class MainLabel(QLabel):
def __init__(self):
super().__init__()
self.setAlignment(Qt.AlignmentFlag.AlignCenter)
self.setFont(QFont(_set_os_family_font(__class__.__name__),
16,
weight=QFont.Weight.ExtraBold))
class SubLabel(QLabel):
""" Formatting for sub-labels. """
def __init__(self, value):
super().__init__()
self.setFont(QFont(_set_os_family_font(__class__.__name__),
12,
weight=QFont.Weight.Thin))
self.setText(value)
class SubLabelValue(QLabel):
""" Formatting for values. """
def __init__(self):
super().__init__()
self.setAlignment(Qt.AlignmentFlag.AlignRight)
self.setFont(QFont(_set_os_family_font(__class__.__name__), 8))