deepfake-detection-bypass / collapsible_box.py
Fioceen's picture
GUI Improvement and Auto AWB Addition
fe2e16c
from PyQt5.QtWidgets import QWidget, QToolButton, QVBoxLayout
from PyQt5.QtCore import Qt
class CollapsibleBox(QWidget):
"""A simple collapsible container widget with a chevron arrow."""
def __init__(self, title: str = "", parent=None):
super().__init__(parent)
self.toggle = QToolButton(text=title, checkable=True, checked=True)
self.toggle.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)
self.toggle.setArrowType(Qt.DownArrow)
self.toggle.clicked.connect(self.on_toggled)
self.toggle.setStyleSheet("QToolButton { border: none; font-weight:600; padding:6px; }")
self.content = QWidget()
self.content_layout = QVBoxLayout()
self.content_layout.setContentsMargins(8, 4, 8, 8)
self.content.setLayout(self.content_layout)
lay = QVBoxLayout(self)
lay.setSpacing(0)
lay.setContentsMargins(0, 0, 0, 0)
lay.addWidget(self.toggle)
lay.addWidget(self.content)
def on_toggled(self):
checked = self.toggle.isChecked()
self.toggle.setArrowType(Qt.DownArrow if checked else Qt.RightArrow)
self.content.setVisible(checked)