2016-08-02 2 views
0

py pyside 스크립트에 약간의 문제가 있습니다.클릭 버튼을 누를 때마다 두 가지 기능이 차례로 나옵니다. - Pyside

첫 번째는 이것이다 : 나는 두 가지 솔루션을 시도했습니다

... 다음 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) 

그것도 작동하지 않습니다

두 번째입니다. 두 가지 솔루션에서 설치 후 페이지가 변경됩니다 (생각한 기능이 끝난 후).

누군가 파이사이드에서 하나씩 두 가지 기능을 실행하는 솔루션을 갖고 있습니까? 이 리턴 할 때까지 GUI가 업데이트되지 않도록

감사

답변

0

신호 접속 슬롯은 동기식불린다. 이이 문제를 해결하기 위해 여러 가지 방법이 많이 있지만,이 같은 업데이 트를 강제로 시도 할 수 있습니다 :

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

또는 작동하지 않는 경우, 설치 프로그램을 실행하는 하나의 샷 타이머를 사용하려고

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

완벽한 솔루션입니다. 덕분에 많이 !! :) –

관련 문제