2
我創建了一個有兩個按鈕的GUI:一個說「打開輸入文件:」,另一個說「運行」。Qt:腳本在按下按鈕之前運行
當有人點擊「打開輸入文件:」時,他/她可以選擇一個文件作爲輸入,當該人點擊「運行」時,應該啓動腳本runScrapy。
當按鈕被設置的部分看起來像這樣:
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
self.pushButton.setText(_translate("MainWindow", "Open Input File:"))
self.pushButton.clicked.connect(self.showDialog)
self.pushButton_2.setText(_translate("MainWindow", "Run"))
self.pushButton_2.clicked.connect(self.runScrapy)
self.label.setText(_translate("MainWindow", "Happy Scraping"))
def showDialog(self):
fileName = QFileDialog.getOpenFileName()
if fileName:
global file
file = fileName[0]
print(file)
def runScrapy(self):
process = CrawlerProcess()
process.crawl(BasicSpider)
process.start() # the script will block here until the crawling is finished
然而,不是被點擊pushButton_2時運行「runScrapy」,「runScrapy」開始運行後,我開始這個腳本。我不明白爲什麼,因爲showDialog只會在點擊「打開輸入文件:」後彈出。
問:如何更改我的代碼,以便runScrapy僅在單擊pushButton_2時運行?
在此先感謝!