def newFrame(self): wrapper = QWidget() wrapperLayout = QVBoxLayout() wrapperLayout.setContentsMargins(0, 0, 0, 0) widget = QSplitter(Qt.Horizontal) widget.setProperty("class", "contentWrapper") statusBar = self.plugin.onWidgetStatusBar(wrapper) wrapper.setLayout(wrapperLayout) wrapperLayout.addWidget(widget) if not statusBar is None: wrapperLayout.addWidget(statusBar) # widgets settings self.settingWidget = QWidget() self.settingWidget.setProperty("class", "settingWidget") settingLayout = QVBoxLayout() self.settingWidget.setLayout(settingLayout) # get connection settings widgets connSettingsGroupBox = QGroupBox(_("Connection")) layout = QVBoxLayout() connSettingsGroupBox.setLayout(layout) self.connSelectCommbox = ComboBox() for conn in self.conns: self.connSelectCommbox.addItem(conn.name) layout.addWidget(self.connSelectCommbox) layout.setContentsMargins(1, 6, 0, 0) self.connsParent = QWidget() layout2 = QVBoxLayout() layout2.setContentsMargins(0, 0, 0, 0) self.connsParent.setLayout(layout2) layout.addWidget(self.connsParent) settingLayout.addWidget(connSettingsGroupBox) # get settings widgets subSettingWidget = self.plugin.onWidgetSettings(widget) if not subSettingWidget is None: settingLayout.addWidget(subSettingWidget) settingLayout.addStretch() # widgets main self.mainWidget = self.plugin.onWidgetMain(widget) # widgets functional self.functionalWidget = QWidget() layout3 = QVBoxLayout() self.functionalWidget.setLayout(layout3) loadConfigBtn = QPushButton(_("Load config")) shareConfigBtn = QPushButton(_("Share config")) layout3.addWidget(loadConfigBtn) layout3.addWidget(shareConfigBtn) loadConfigBtn.clicked.connect(lambda: self.selectLoadfile()) shareConfigBtn.clicked.connect(lambda: self.selectSharefile()) pluginFuncWidget = self.plugin.onWidgetFunctional(widget) if not pluginFuncWidget is None: layout3.addWidget(pluginFuncWidget) layout3.addStretch() # add to frame widget.addWidget(self.settingWidget) widget.addWidget(self.mainWidget) widget.addWidget(self.functionalWidget) widget.setStretchFactor(0, 1) widget.setStretchFactor(1, 2) widget.setStretchFactor(2, 1) self.functionalWidget.hide() # UI init done self.plugin.onUiInitDone() return wrapper