Skip to content

Commit

Permalink
hotfix: return widgets except placeholders in containers
Browse files Browse the repository at this point in the history
  • Loading branch information
ChinaIceF committed Aug 24, 2024
1 parent 4b3906e commit 4bd28b6
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 12 deletions.
35 changes: 24 additions & 11 deletions siui/components/widgets/container.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
import random
import time
from typing import Union

from PyQt5.Qt import QColor
from PyQt5.QtCore import Qt, QTimer
from PyQt5.QtWidgets import QGraphicsDropShadowEffect
from PyQt5.QtWidgets import QGraphicsDropShadowEffect, QWidget

from siui.components.widgets.label import SiLabel
from siui.components.widgets.abstracts.container import ABCSiDividedContainer
from siui.components.widgets.abstracts.widget import SiWidget
from siui.components.widgets.label import SiLabel


class PlaceHolderWidget(QWidget):
pass


class ABCDenseContainer(SiWidget):
Expand Down Expand Up @@ -76,6 +79,14 @@ def setSpacing(self, spacing: int):
def widgets(self):
raise NotImplementedError()

@staticmethod
def get_widget_except_placeholders(widgets):
no_placeholders = []
for widget in widgets:
if isinstance(widget, PlaceHolderWidget) is False:
no_placeholders.append(widget)
return no_placeholders

def __enter__(self):
return self

Expand All @@ -102,7 +113,7 @@ def addPlaceholder(self, length, side="left", index=10000):
:param index: 插入位置
:return:
"""
new_label = SiLabel(self)
new_label = PlaceHolderWidget(self)
new_label.setVisible(False)
new_label.resize(length, 0)
self.addWidget(new_label, side=side, index=index)
Expand Down Expand Up @@ -140,13 +151,14 @@ def getSpareSpace(self):

def widgets(self, side=None):
if side is None:
return self.widgets_left + self.widgets_right
widgets = self.widgets_left + self.widgets_right
elif side == "left":
return self.widgets_left
widgets = self.widgets_left
elif side == "right":
return self.widgets_right
widgets = self.widgets_right
else:
raise ValueError(f"Unexpected side: {side}")
return self.get_widget_except_placeholders(widgets)

def removeWidget(self, widget):
"""
Expand Down Expand Up @@ -287,7 +299,7 @@ def addPlaceholder(self, length, side="top", index=10000):
:param index: 插入位置
:return:
"""
new_label = SiLabel(self)
new_label = PlaceHolderWidget(self)
new_label.setVisible(False)
new_label.resize(0, length)
self.addWidget(new_label, side=side, index=index)
Expand Down Expand Up @@ -349,13 +361,14 @@ def getSpareSpace(self):

def widgets(self, side=None):
if side is None:
return self.widgets_top + self.widgets_bottom
widgets = self.widgets_top + self.widgets_bottom
elif side == "top":
return self.widgets_top
widgets = self.widgets_top
elif side == "bottom":
return self.widgets_bottom
widgets = self.widgets_bottom
else:
raise ValueError(f"Unexpected side: {side}")
return self.get_widget_except_placeholders(widgets)

def removeWidget(self, widget):
"""
Expand Down
2 changes: 1 addition & 1 deletion siui/core/animation/animation.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ class SiExpAccelerateAnimation(SiExpAnimation):
def __init__(self, parent=None):
super().__init__(parent)

self.accelerate_function = lambda x: x ** 2
self.accelerate_function = lambda x: x ** 1.6
self.step_length_bound = 0
self.frame_counter = 0

Expand Down

0 comments on commit 4bd28b6

Please sign in to comment.