为了账号安全,请及时绑定邮箱和手机立即绑定

PyQt5:未调用单独文件中的插槽

PyQt5:未调用单独文件中的插槽

PIPIONE 2021-09-11 10:34:57
我现在有一个基本的 GUI,每个页面都在自己的文件中。我可以毫无问题地在每个页面之间导航,但我很难将搜索查询简单地传递给另一个小部件。这是我在主文件中设置连接的地方:from PyQt5.QtCore import *from PyQt5.QtGui import *from PyQt5.QtWidgets import *import sysimport searchimport watchingimport helpinfoimport resultsclass MainWindow(QMainWindow):    def __init__(self, parent=None):        '''        Constructor        '''        QMainWindow.__init__(self, parent)        self.centralWidget = QStackedWidget()        self.setCentralWidget(self.centralWidget)        self.startScreen = Start(self)        self.searchScreen = search.Search(self)        self.watchingScreen = watching.Watching(self)        self.helpInfoScreen = helpinfo.HelpInfo(self)        self.resultsScreen = results.Results(self)        self.centralWidget.addWidget(self.startScreen)        self.centralWidget.addWidget(self.searchScreen)        self.centralWidget.addWidget(self.watchingScreen)        self.centralWidget.addWidget(self.helpInfoScreen)        self.centralWidget.addWidget(self.resultsScreen)        self.centralWidget.setCurrentWidget(self.startScreen)        self.startScreen.searchClicked.connect(lambda: self.centralWidget.setCurrentWidget(self.searchScreen))        self.startScreen.watchingClicked.connect(lambda: self.centralWidget.setCurrentWidget(self.watchingScreen))        self.startScreen.helpInfoClicked.connect(lambda: self.centralWidget.setCurrentWidget(self.helpInfoScreen))        self.searchScreen.searchSubmitted.connect(lambda: self.centralWidget.setCurrentWidget(self.resultsScreen))        self.searchScreen.passQuery.connect(lambda: self.resultsScreen.grabSearch) #This is the problem line按照我的理解,我现在所拥有的应该是有效的。当用户在搜索页面上提交一些文本时,它会调用 submitSearch() 函数。该函数发出两个信号:第一个,searchSubmitted,将屏幕更改为结果屏幕(这按预期工作)。第二个,passQuery,应该将文本框的内容传递给结果文件中连接的函数grabSearch()。但是,尽管已连接,但 passQuery 似乎从未被结果页面捕获。我和打印报表证实它正在被发出,但仅此而已。我在这里缺少什么?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 152 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号