QLayout: Es wird versucht, QLayout "" zu QWidget "" hinzuzufügen, das bereits über ein Layout verfügt

Ich möchte einige Registerkarten erstellen und habe die folgende Antwort gelesen:So fügen Sie einen Tab in PySide hinzu

Ich habe den Code in der Antwort verwendet und einige Änderungen vorgenommen. Denn mein Code muss einige Dateien lesen und den Namen meiner Tabs aus dieser Datei abrufen, damit ich eine for-Schleife in meinen Code einfüge. Und hier ist mein Code.

from PySide import QtCore, QtGui
import sys
import dflash_controller as con

if __name__ == "__main__":
    list = [['a', 3], ['b', 4], ['c', 5], ['d', 6]]
    app = QtGui.QApplication(sys.argv)
    wid = QtGui.QWidget()
    grid = QtGui.QGridLayout(wid)
    wid.setLayout(grid)

    # setting the inner widget and layout
    grid_inner = QtGui.QGridLayout(wid)
    wid_inner = QtGui.QWidget(wid)
    wid_inner.setLayout(grid_inner)

    # add the inner widget to the outer layout
    grid.addWidget(wid_inner)

    # add tab frame to widget
    wid_inner.tab = QtGui.QTabWidget(wid_inner)
    grid_inner.addWidget(wid_inner.tab)

    # create tab


    for i, index in enumerate(list[0:]):
        new_tab = QtGui.QWidget(wid_inner.tab)
        grid_tab = QtGui.QGridLayout(new_tab)
        grid_tab.setSpacing(10)
        wid_inner.tab.addTab(new_tab, index[0])
        new_tab.setLayout(grid_tab)


    wid.show()
    app.exec_()

Es zeigt wirklich meine Registerkarten. Ich habe jedoch eine Warnung erhalten:QLayout: Es wird versucht, QLayout "" zu QWidget "" hinzuzufügen, das bereits über ein Layout verfügt Da dieser Tab-Code nur ein Teil des gesamten Codes ist, blockiert das Problem den Datenfluss. Und ich habe keine Ahnung, was daran falsch ist. Ich habe nach Antworten gesucht, aber andere Antworten sind nicht in Python geschrieben.

Wenn mir jemand helfen kann, danke im Voraus.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage