python3.4+;PyQt5-如何在不同文件之间连接信号
我最近正在使用python3.4和PyQt5。它似乎太大,无法将所有代码放在一个.py文件中,而且不便于将来扩展。所以我试着把它分成几个文件 不幸的是,我在连接信号时遇到了一些问题 下面是我的代码示例:python3.4+;PyQt5-如何在不同文件之间连接信号,python,pyqt5,Python,Pyqt5,我最近正在使用python3.4和PyQt5。它似乎太大,无法将所有代码放在一个.py文件中,而且不便于将来扩展。所以我试着把它分成几个文件 不幸的是,我在连接信号时遇到了一些问题 下面是我的代码示例: from PyQt5 import QtWidgets from PyQt5.QtWidgets import QMainWindow from Ui_BA import Ui_MainWindow from PyQt5.QtGui import * import AA, sys class
from PyQt5 import QtWidgets
from PyQt5.QtWidgets import QMainWindow
from Ui_BA import Ui_MainWindow
from PyQt5.QtGui import *
import AA, sys
class BA(QMainWindow, Ui_MainWindow):
def __init__(self, parent=None):
super(BA, self).__init__(parent)
self.setupUi(self)
a = AA.AAUI.search_button_released(self)
self.aa_search_button.released.connect(lambda: a)
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
dlg = BA()
dlg.show()
sys.exit(app.exec_())
AA.py是这样的:
from PyQt5.QtWidgets import QMainWindow
from Ui_BA import Ui_MainWindow
class AAUI(QMainWindow, Ui_MainWindow):
def __init__(self, parent=None):
super(AAUI, self).__init__(parent)
self.setupUi(self)
def search_button_released(self):
self.statusBar.showMessage('BlaBlaBla')
当我运行主py时,状态栏会自动显示消息,而不是在单击搜索按钮之后
谢谢你的阅读。请帮助。首先,您不应该以这种方式拆分项目。在我自己的作品中,我试图将每个文件中的每个类分开,而不是将一个类的代码分割成几个文件。将来你会遇到很多问题(这只是我的看法!) 在您的例子中,字符串
a=AA.AAUI.search\u button\u released(self)
自动执行该函数。您应该将其卸下并更换lambda:
self.aa_search_button.released.connect(lambda: AA.AAUI.search_button_released(self))
这会有帮助的 真管用!非常感谢。实际上我有几个类,这就是为什么我想把它们分成不同的文件。现在看起来还可以。