我创建了一个gui,它有两个按钮:一个是“打开输入文件”,另一个是“运行”。你知道吗
当某人单击“打开输入文件:”时,他/她可以选择一个文件作为输入,当此人单击“运行”时,脚本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
但是,当点击按钮2时,不是运行“runScrapy”,而是在我启动这个脚本之后,“runScrapy”立即开始运行。我不明白为什么,因为showDialog只有在您单击“打开输入文件:”后才会弹出。你知道吗
问:如何更改代码,使runScrapy只在单击按钮2时运行?你知道吗
提前谢谢!你知道吗
您应该从Qt事件处理开始。你知道吗
也许本教程也有帮助:Qt GUI app with python
相关问题 更多 >
编程相关推荐