Hi, I am trying to create scrollArea under my tabWidget. I have already written code for creating widgets under my tab widgets but now i wanted scrollArea. running code with scrollArea i can not se any Widgets in my scrollArea and maya is geting crached if i move the window or change the tab.
Below Code is working perfectly fine WITHOUT scrollArea In my tabWidget: def buildTabLodUpdate(self): # all tabs in widget tabs = [self.buildTabWidget.tabText(index) for index in range(self.buildTabWidget.count())] allLod = [lod for lod in self.uiData["spModularRig"]["rig"]] # if lod exist deleting default tab if len(allLod) > 0: # deleting default tab if exists if "spModularRig" in tabs: self.buildTabWidget.removeTab(0) # creating tab for all lod and updating widgets. for lod in allLod: if lod.keys()[0] not in tabs: W_lod = QtWidgets.QWidget() VerL_lod = QtWidgets.QVBoxLayout(W_lod) self.buildTabWidget.addTab(W_lod, lod.keys()[0]) self.buildTabWidget.setCurrentIndex(self.buildTabWidget.count()-1) # updating rig data widgets inside tab self.buildTabSWUpdate() def buildTabSWUpdate(self): self.buildTabSWRemoveAll() Widget = self.buildTabWidget.currentWidget() layout = Widget.findChild(QtWidgets.QVBoxLayout) for num, rigData in enumerate(self.uiData["spModularRig"]["rig"][self.lodIndex][self.selectedLodName]): GB_name = self.uiData["spModularRig"]["rig"][self.lodIndex][self.selectedLodName][num][rigData.keys()[0]]["name"] if rigData.keys()[0] == "rigInfo": # gathering data from dictionary. assetName = self.uiData["spModularRig"]["rig"][self.lodIndex][self.selectedLodName][num][rigData.keys()[0]]["assetName"] assetType = self.uiData["spModularRig"]["rig"][self.lodIndex][self.selectedLodName][num][rigData.keys()[0]]["assetType"] assetOtherType = self.uiData["spModularRig"]["rig"][self.lodIndex][self.selectedLodName][num][rigData.keys()[0]]["OtherType"] # creating widget with above values. rigInfoW = self.rigInfoUIFunc(Widget, layout, GB_name, assetName, assetType, assetOtherType) # connecting. rigInfoW.LE_assetName.editingFinished.connect(lambda data=[num, rigInfoW.LE_assetName]: self.RI_assetNameUpdate(data)) rigInfoW.LE_assetOtherType.editingFinished.connect(lambda data=[num, rigInfoW.LE_assetOtherType]: self.RI_assetOtherTypeUpdate(data)) rigInfoW.ComB_assetType.currentIndexChanged.connect(self.RI_assetTypeUpdate) rigInfoW.B_applyRigInfo.clicked.connect(self.applyRigInfo) below is the code where i am adding scrollArea: def buildTabLodUpdate(self): # all tabs in widget tabs = [self.buildTabWidget.tabText(index) for index in range(self.buildTabWidget.count())] allLod = [lod for lod in self.uiData["spModularRig"]["rig"]] # if lod exist deleting default tab if len(allLod) > 0: # deleting default tab if exists if "spModularRig" in tabs: self.buildTabWidget.removeTab(0) # creating tab for all lod and updating widgets. for lod in allLod: if lod.keys()[0] not in tabs: W_lod = QtWidgets.QWidget() VerL_lod = QtWidgets.QVBoxLayout(W_lod) SA_buildTab = QtWidgets.QScrollArea(W_lod) SA_buildTab.setObjectName("SA_buildTab") SA_W_rigData = QtWidgets.QWidget() SA_W_rigData.setObjectName("SA_W_rigData") VerL_SA_W_rigData = QtWidgets.QVBoxLayout(SA_W_rigData) VerL_SA_W_rigData.setObjectName("VerL_SA_W_rigData") SA_buildTab.setWidget(SA_W_rigData) VerL_lod.addWidget(SA_buildTab) self.buildTabWidget.addTab(W_lod, lod.keys()[0]) self.buildTabWidget.setCurrentIndex(self.buildTabWidget.count()-1) # updating rig data widgets inside tab self.buildTabSWUpdate() def buildTabSWUpdate(self): self.buildTabSWRemoveAll() Widget = [Widget for Widget in self.buildTabWidget.currentWidget().findChildren(QtWidgets.QWidget) if Widget.objectName() == "SA_W_rigData"][0] layout = Widget.findChild(QtWidgets.QVBoxLayout) for num, rigData in enumerate(self.uiData["spModularRig"]["rig"][self.lodIndex][self.selectedLodName]): GB_name = self.uiData["spModularRig"]["rig"][self.lodIndex][self.selectedLodName][num][rigData.keys()[0]]["name"] if rigData.keys()[0] == "rigInfo": # gathering data from dictionary. assetName = self.uiData["spModularRig"]["rig"][self.lodIndex][self.selectedLodName][num][rigData.keys()[0]]["assetName"] assetType = self.uiData["spModularRig"]["rig"][self.lodIndex][self.selectedLodName][num][rigData.keys()[0]]["assetType"] assetOtherType = self.uiData["spModularRig"]["rig"][self.lodIndex][self.selectedLodName][num][rigData.keys()[0]]["OtherType"] # creating widget with above values. rigInfoW = self.rigInfoUIFunc(Widget, layout, GB_name, assetName, assetType, assetOtherType) # connecting. rigInfoW.LE_assetName.editingFinished.connect(lambda data=[num, rigInfoW.LE_assetName]: self.RI_assetNameUpdate(data)) rigInfoW.LE_assetOtherType.editingFinished.connect(lambda data=[num, rigInfoW.LE_assetOtherType]: self.RI_assetOtherTypeUpdate(data)) rigInfoW.ComB_assetType.currentIndexChanged.connect(self.RI_assetTypeUpdate) rigInfoW.B_applyRigInfo.clicked.connect(self.applyRigInfo) What am i doing wrong here? -- You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group. To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_maya+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/bcadbece-a05b-4ee2-abd4-636fcd95dd8c%40googlegroups.com.