2016-08-02 17 views
0

py pysideスクリプトに少し問題があります。プッシュボタンをクリックすると、2つの機能が交互に表示される - Pyside

最初はこの1つである:私は2つのソリューションを試してみた

...その後librairiesなどのすべてのインストールをする私は、セットアップ・ウィザードを作り、私は私のstackedwidgetに私の現在のウィジェットを変更したい

self.pushButton.clicked.connect(lambda: changepage(self, MainWindow)) 
self.pushButton.clicked.connect(lambda: makeinstall(self, MainWindow)) 

これは動作せず、ウィンドウが変更されずにインストールが開始されます。

目は次のとおりです。

def changepage(self, MainWindow): 
    self.stackedWidget.setCurrentIndex(4) 
    makeinstall(self, MainWindow) 

、それはあまりにも動作しません。 2つのソリューションでは、インストール後にページが変更されます(機能が終了した後)。

誰かがpysideで2つの機能を実行するソリューションを持っていましたか?それが戻るまでGUIは更新されないように

よろしく、

答えて

0

信号に接続されたスロットは、同期と呼ばれています。そこにこれを解決するためにさまざまな方法がたくさんがありますが、あなたはこのようなアップデートを強制的に試すことができます。

def changepage(self, MainWindow): 
    self.stackedWidget.setCurrentIndex(4) 
    QtGui.qApp.processEvents() 

それとも問題が解決しない場合は、インストーラを実行するために、シングルショットタイマーを使用してみてください:

QtCore.QTimer.singleShot(0, lambda: makeinstall(self, MainWindow)) 
+0

完璧な、最初の解決策は、多くのおかげで働いています! :) –

関連する問題