31 lines
1,002 B
Python
31 lines
1,002 B
Python
#!/usr/bin/python3
|
|
|
|
from PyQt6.QtWidgets import QWidget, QScrollArea, QVBoxLayout
|
|
|
|
|
|
class Category(QWidget):
|
|
def __init__(self, parent=None):
|
|
super().__init__(parent)
|
|
|
|
self.layout = QVBoxLayout(self)
|
|
self.setLayout(self.layout)
|
|
|
|
self.scroll_area = QScrollArea(self)
|
|
self.scroll_area.setWidgetResizable(True)
|
|
|
|
self.settings_container = QWidget(self.scroll_area)
|
|
self.settings_layout = QVBoxLayout(self.settings_container)
|
|
|
|
# spacer widget to create a sort of list where the subcategory-spacing doesn't depend on the window height
|
|
spacer_widget = QWidget(self)
|
|
|
|
self.settings_layout.addWidget(spacer_widget)
|
|
|
|
self.settings_container.setLayout(self.settings_layout)
|
|
|
|
self.scroll_area.setWidget(self.settings_container)
|
|
|
|
self.layout.addWidget(self.scroll_area)
|
|
|
|
def add_sub_category(self, sub_category):
|
|
self.settings_layout.insertWidget(self.settings_layout.count() - 1, sub_category)
|