我有以下问题:
我想在python中动态地将多个组添加到Qt Gui布局中。所以:有些用例我只需要一次这个组,并且有一些用例我需要4x组。
因此我添加了一个for循环,并希望将元素存储在一个dicts数组中:
self.swUiElements = []
for i in range(1,5):
self.sw = dict()
self.sw["groupBox"] = QtGui.QGroupBox(SWCopyMainWindow)
self.sw["groupBox"].setMinimumSize(QtCore.QSize(915, 0))
self.sw["groupBox"].setObjectName("gBSw_" + str(i))
self.sw["groupBox"].setTitle("Test")
self.sw["gridLayout"] = QtGui.QGridLayout(self.sw["groupBox"])
self.sw["gridLayout"].setObjectName("gridLayout_" + str(i))
self.sw["lbStatus"] = QtGui.QLabel(self.sw["groupBox"])
self.sw["lbStatus"].setObjectName("lbStatus_" + str(i))
self.sw["lbStatus"].setText("Status")
self.swUiElements.append(copy.deepcopy(self.sw))
布局根据需要正确初始化。
我希望使用self.swUiElements[0]["lbStatus"].text()
来工作,但事实并非如此。正如我从这个answer中学到的,这是因为深度复制不适用于Qt对象。
关于如何实现目标的任何其他建议?