Update specialwidget.py

This commit is contained in:
恍兮惚兮 2024-04-12 17:24:04 +08:00
parent 2131a3ba24
commit 2b3d7e3133

View File

@ -173,22 +173,19 @@ class ScrollFlow(QWidget):
self.qscrollarea.setWidgetResizable(True) self.qscrollarea.setWidgetResizable(True)
self.qscrollarea.setWidget(self.listWidget) self.qscrollarea.setWidget(self.listWidget)
self.qscrollarea.scrolled.connect(self.doshowlazywidget) self.qscrollarea.scrolled.connect(self.doshowlazywidget)
@trypass
def doshowlazywidget(self,region:QRect): def doshowlazywidget(self,region:QRect):
try: for i,widget in enumerate(self.lazyitems):
#print(region) if i in self.lazydoneidx:
for i,widget in enumerate(self.lazyitems): continue
if i in self.lazydoneidx: widget_rect = widget.geometry() #有可能已被delete必须try
continue #print(widget_rect)
widget_rect = widget.geometry() #有可能已被delete必须try if region.intersects(widget_rect):
#print(widget_rect) #print(i,widget_rect)
if region.intersects(widget_rect): self.lazydoneidx.append(i)
#print(i,widget_rect) widget.do()
self.lazydoneidx.append(i) QApplication.processEvents()
widget.do()
QApplication.processEvents()
except:
print_exc()
def refreshscroll(self): def refreshscroll(self):
QApplication.processEvents() QApplication.processEvents()
self.doshowlazywidget(self.geometry()) self.doshowlazywidget(self.geometry())