initial fluent-widgets ui
This commit is contained in:
41
qfluentwidgets/components/layout/v_box_layout.py
Normal file
41
qfluentwidgets/components/layout/v_box_layout.py
Normal file
@ -0,0 +1,41 @@
|
||||
# coding:utf-8
|
||||
from typing import List
|
||||
from PySide6.QtCore import Qt
|
||||
from PySide6.QtWidgets import QVBoxLayout, QWidget
|
||||
|
||||
|
||||
class VBoxLayout(QVBoxLayout):
|
||||
""" Vertical box layout """
|
||||
|
||||
def __init__(self, parent):
|
||||
super().__init__(parent)
|
||||
self.widgets = []
|
||||
|
||||
def addWidgets(self, widgets: List[QWidget], stretch=0, alignment=Qt.AlignTop):
|
||||
""" add widgets to layout """
|
||||
for widget in widgets:
|
||||
self.addWidget(widget, stretch, alignment)
|
||||
|
||||
def addWidget(self, widget: QWidget, stretch=0, alignment=Qt.AlignTop):
|
||||
""" add widget to layout """
|
||||
super().addWidget(widget, stretch, alignment)
|
||||
self.widgets.append(widget)
|
||||
widget.show()
|
||||
|
||||
def removeWidget(self, widget: QWidget):
|
||||
""" remove widget from layout but not delete it """
|
||||
super().removeWidget(widget)
|
||||
self.widgets.remove(widget)
|
||||
|
||||
def deleteWidget(self, widget: QWidget):
|
||||
""" remove widget from layout and delete it """
|
||||
self.removeWidget(widget)
|
||||
widget.hide()
|
||||
widget.deleteLater()
|
||||
|
||||
def removeAllWidget(self):
|
||||
""" remove all widgets from layout """
|
||||
for widget in self.widgets:
|
||||
super().removeWidget(widget)
|
||||
|
||||
self.widgets.clear()
|
||||
Reference in New Issue
Block a user