如何在qt设计器中将函数连接到qt小部件?-python

如何在qt设计器中将函数连接到qt小部件?-python,python,qt,function,pyqt4,qt-designer,Python,Qt,Function,Pyqt4,Qt Designer,我是python和pyqt的新手 我为大数字乘法创建了一个小应用程序,用于通过控制台进行练习。现在我正在尝试运行gui应用程序。我使用函数创建我的应用程序,我的代码是: def digit(n): len(str(n)) def multi(u,v): n = max(digit(u),digit(v)) if (u==0) or (v==0): return 0 elif n < 4:

我是python和pyqt的新手

我为大数字乘法创建了一个小应用程序,用于通过控制台进行练习。现在我正在尝试运行gui应用程序。我使用函数创建我的应用程序,我的代码是:

def digit(n):
        len(str(n))

def multi(u,v):
        n = max(digit(u),digit(v))

        if (u==0) or (v==0):
                return 0
        elif n < 4:
                return u*v
        else:
                m = int(n/2)

                x = u/10**m
                y = u%10**m

                w = v/10**m
                z = v%10**m

                return ( multi(x,w)*(10**m * 10**m) + (multi(x,z)+multi(w,y))*(10**m) + multi(y,z) )
def数字(n):
len(str(n))
def多功能(u、v):
n=最大值(数字(u)、数字(v))
如果(u==0)或(v==0):
返回0
elif n<4:
返回u*v
其他:
m=int(n/2)
x=u/10**m
y=u%10**m
w=v/10**m
z=v%10**m
返回(多(x,w)*(10**m*10**m)+(多(x,z)+多(w,y))*(10**m)+多(y,z))
我在qtDesigner中设计了一个用户界面,如下所示:

我的问题是如何将函数连接到标签和计算按钮?
tnx

首先,您需要保存表单并将其转换为python模块。您可以使用
pyuic
工具执行此操作:

    pyuic4 -o form_ui.py form.ui
接下来,您需要创建一个脚本,该脚本将导入
表单ui
模块,并将您的应用程序逻辑连接到GUI。
窗口
类的基类必须与Qt设计器中的顶级小部件相同(即
QWidget
QMainWindow
QDialog
)。还要注意的是,来自Qt设计器的小部件将成为在
\uuuu init\uuuu
方法中创建的
ui
对象的属性。显然,您将需要更改我在示例中使用的名称,以与实际ui中的名称相匹配

from PyQt4 import QtCore, QtGui
from form_ui import Ui_Form

def digit(n):
    len(str(n))

def multi(u,v):
    n = max(digit(u),digit(v))

    if (u==0) or (v==0):
        return 0
    elif n < 4:
        return u*v
    else:
        m = int(n/2)

        x = u/10**m
        y = u%10**m

        w = v/10**m
        z = v%10**m

        return ( multi(x,w)*(10**m * 10**m) + (multi(x,z)+multi(w,y))*(10**m) + multi(y,z) )    

class Window(QtGui.QWidget):
    def __init__(self):
        QtGui.QWidget.__init__(self)
        self.ui = Ui_Form()
        self.ui.setupUi(self)
        self.ui.calcButton.clicked.connect(self.handleCalculate)

    def handleCalculate(self):
        u = int(str(self.ui.lineEdit1.text()))
        v = int(str(self.ui.lineEdit2.text()))
        # calculate answer...
        self.ui.label.setText(str(answer))

if __name__ == '__main__':

    import sys
    app = QtGui.QApplication(sys.argv)
    window = Window()
    window.show()
    sys.exit(app.exec_())
从PyQt4导入QtCore,QtGui
从表单导入用户界面表单
def数字(n):
len(str(n))
def多功能(u、v):
n=最大值(数字(u)、数字(v))
如果(u==0)或(v==0):
返回0
elif n<4:
返回u*v
其他:
m=int(n/2)
x=u/10**m
y=u%10**m
w=v/10**m
z=v%10**m
返回(多(x,w)*(10**m*10**m)+(多(x,z)+多(w,y))*(10**m)+多(y,z))
类窗口(QtGui.QWidget):
定义初始化(自):
QtGui.QWidget.\uuuuu init\uuuuuuu(self)
self.ui=ui_Form()
self.ui.setupUi(self)
self.ui.calcButton.clicked.connect(self.handleCalculate)
def手动计算(自):
u=int(str(self.ui.lineEdit1.text())
v=int(str(self.ui.lineEdit2.text())
#计算答案。。。
self.ui.label.setText(str(应答))
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
导入系统
app=QtGui.QApplication(sys.argv)
window=window()
window.show()
sys.exit(app.exec_())

您可以在运行时直接加载.ui文件,而不是使用
pyuic4
,有关示例,请参阅。