我正在尝试创建类似于大多数图像编辑软件中看到的图层编辑器,为此需要将新图层添加到QListWidget
的顶部。我目前尝试的代码如下:
def new_layer(self):
layer = Layer(layer_name="Layer %d" % self.number_of_layers)
layer_item = QListWidgetItem(self)
layer_item.setSizeHint(layer.sizeHint())
if self.number_of_layers % 2 == 0:
layer_item.setBackground(Qt.darkGray)
else:
layer_item.setBackground(Qt.gray)
self.setItemWidget(layer_item, layer)
self.insertItem(0, layer_item)
self.number_of_layers += 1
即使将QListWidgetItem
插入到第0行,当添加新层时,它仍会显示在先前创建的第一层下方。我该怎么做才能解决这个问题?
self.setItemWidget(layer_item, layer)
行与self.insertItem(0, layer_item)
行交换了一下位置,现在它按照预期工作了。感谢你的回答。 - Matheus Fernando