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.