Wobuzz/wobuzz/ui/settings/sub_category.py

34 lines
1.1 KiB
Python

#!/usr/bin/python3
from PyQt6.QtCore import Qt
from PyQt6.QtGui import QFont
from PyQt6.QtWidgets import QGroupBox, QLabel, QSizePolicy, QFormLayout
class SubCategory(QGroupBox):
description_font = QFont()
description_font.setPointSize(8)
def __init__(self, title: str, description: str=None, parent=None):
super().__init__(title, parent)
self.setSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Fixed)
self.setAlignment(Qt.AlignmentFlag.AlignLeading | Qt.AlignmentFlag.AlignVCenter)
self.setStyleSheet("QGroupBox{font-weight: bold;}")
self.layout = QFormLayout()
self.setLayout(self.layout)
if description is not None:
self.description = QLabel(description + "\n", self)
self.layout.addRow(self.description)
def add_setting(self, text: str, setting, description: str=None):
self.layout.addRow(text, setting)
if description is not None:
description_label = QLabel(" " + description.replace("\n", "\n "))
description_label.setFont(self.description_font)
self.layout.addRow(description_label)