将列表对象从列表添加到QWidget

时间:2016-01-28 15:06:44

标签: python list pyqt qwidget

我正在尝试将列表中的类对象作为QWidget添加到QSplitter

这是代码:

class Windows(QMainWindow):

  list_1 = []

  def __init__(self):
    #Some stuff in here
    self.splitter = QSplitter(Qt.Vertical)

  def methodA(self):
    plot = Plot()

    Windows.list_1.append(plot)
    self.splitter.addwidget(???)    #Here is where i want to put the specific class object 
                                    #from the list

class Plot():
  #this is a Matplotlib figure

首先,我调用类对象plot并在推送组合键时将其追加到list_1,然后我需要在列表中添加该特定对象QSplitter 1}}使用addWidget

我该怎么做?希望你能帮帮我。

我需要这样做,以便从列表中识别对象,所以稍后我可以创建另一种方法从分割器中删除该对象。

1 个答案:

答案 0 :(得分:2)

由于您已经有了要添加到QSplitter的对象的引用,因此您无需将其从列表中删除。

def methodA(self):
    plot = Plot()

    Windows.list_1.append(plot)
    self.splitter.addwidget(plot)    

如果您没有对窗口小部件的引用,但想要最近添加到列表中的项目,则可以使用否定列表索引 -

def methodA(self):
    plot = Plot()

    Windows.list_1.append(plot)
    self.splitter.addwidget(Windows.list_1[-1])