class MainWindow(QMainWindow): def __init__(self, parent=None): QApplication.setStyle(QStyleFactory.create("Plastique")) QApplication.setPalette(QApplication.style().standardPalette()) super(MainWindow, self).__init__(None) centralwidget = QWidget(self) self.setCentralWidget(centralwidget) self.layout = QVBoxLayout(centralwidget) button = QPushButton("Set WSDL Address") button.clicked.connect(self.request_wsdl) self.layout.addWidget(button) self.toolbox = QToolBox() self.layout.addWidget(self.toolbox) self.url = "" def request_wsdl(self): dialog = WSDLDialog(self.url) if dialog.exec_() == dialog.Accepted: if dialog.auth_enabled(): t = HttpAuthenticated(username=dialog.get_user(), password=dialog.get_pass()) client = Client(dialog.get_url(), transport=t) else: client = Client(dialog.get_url()) self.url = dialog.get_url() self.wsdl_change(client) def wsdl_change(self, client): self.toolbox.hide() del self.toolbox self.toolbox = QToolBox() self.layout.addWidget(self.toolbox) for method in client.sd[0].ports[0][1]: tab = Tab(client, method) self.toolbox.addItem(tab, method[0])