コード例 #1
0
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])