如何将一个文件中的pyqt按钮信号连接到另一个python文件中的函数?我尝试了各种各样的东西,但似乎没有任何效果。 这是第一个文件:
from PyQt4 import QtGui
from PyQt4.QtGui import QMainWindow
from MainUIFile import Ui_Main
from pythonfile import myOutsideFunction
class MainWindow(QMainWindow,Ui_file):
def __init__(self):
QMainWindow.__init__(self)
self.setupUi(self)
self.btn.clicked.connect(myOutsideFunction())
第一个调用的第二个文件:
def myOutsideFunction(self):
# Do some stuff here
我将如何做到这一点?
答案 0 :(得分:2)
您当前正在调用myOutsideFunction
并将结果传递给connect
函数,该函数需要将可调用作为参数。
从连接调用中的myOutsideFunction
删除括号
self.btn.clicked.connect(myOutsideFunction)
答案 1 :(得分:0)
连接到代码之外的函数有什么重要性?你能不能做这样的事情:
def myOutsideFunction(a,b,c,d):
#process variables/objects a,b,c,d as you wish
return answer
from PyQt4 import QtGui
from PyQt4.QtGui import QMainWindow
from MainUIFile import Ui_Main
from pythonfile import myOutsideFunction
class MainWindow(QMainWindow,Ui_file):
def __init__(self):
QMainWindow.__init__(self)
self.setupUi(self)
self.btn.clicked.connect(self.pressed_the_button())
#initialize your variables/objects for your outside function if need be
def pressed_the_button(self):
answer_from_outside_function = myOutsideFunction(self.a,self.b,self.c,self.d)
# run whatever you need to here...