def refreshAbsoluteList(self):
# remove any entries that don't exist anymore
framesInList = []
for i in reversed(xrange(self.absolute_list.count())):
frame = self.absolute_list.item(i).data(QtCore.Qt.UserRole)
framesInList.append(frame)
if frame not in self.mAbsoluteOnionSet:
self.absolute_list.takeItem(i)
# add any missing entry
for frame in self.mAbsoluteOnionSet:
if frame not in framesInList:
listWidget = OnionListFrame()
listWidget.frame_number.setText(str(int(frame)))
listWidget.frame_opacity_slider.setValue(onionCore.viewRenderOverrideInstance.getAbsoluteOpacity(int(frame)))
listWidget.addRemoveButton()
listWidget.frame_visibility_btn.setChecked(onionCore.viewRenderOverrideInstance.absoluteOnionExists(int(frame)))
listWidget.frame_remove_btn.clicked.connect(lambda b_frame = frame: self.removeAbsoluteFrame(b_frame))
listWidget.frame_visibility_btn.clicked.connect(self.toggleAbsoluteFrame)
listWidget.frame_opacity_slider.sliderMoved.connect(self.setAbsoluteOpacity)
listItem = QtGui.QListWidgetItem()
listItem.setData(QtCore.Qt.UserRole, int(frame))
listItem.setSizeHint(listWidget.sizeHint())
# insert item at correct position
correctRow = 0
for i in xrange(self.absolute_list.count()):
if frame < self.absolute_list.item(i).data(QtCore.Qt.UserRole):
break
correctRow = i+1
self.absolute_list.insertItem(correctRow, listItem)
self.absolute_list.setItemWidget(listItem, listWidget)
# ---------------------------
# CONNECTIONS
#
onionSkinRendererWindow.py 文件源码
python
阅读 23
收藏 0
点赞 0
评论 0
评论列表
文章目录