1 # -*- coding: utf-8 -*-
 2 from PyQt5 import QtWidgets,QtCore                        #从pyqt库导入QtWindget通用窗口类
 3 from formnew import Ui_Form
 4 
 5 class mywindow(QtWidgets.QWidget,Ui_Form):                  #自己建的类,继承QtWidgets.Qwidget类方法和Ui_Form界面类
 6 
 7     _signal = QtCore.pyqtSignal(str)                #定义信号,定义参数类型为str
 8 
 9     def __init__(self):
10         super(mywindow,self).__init__()             #首先找到子类(mywindow)的父类(QWidget),然后把my的对象self转成QWidget的对象,然后被转化的self调用自己的init函数
11         self.setupUi(self)                          #直接继承界面类,调用类的setupUi方法
12 
13         self.pushButton_2.clicked.connect(self.myPrint)       #连接自己的槽函数
14         self._signal.connect(self.mySignal)               #将信号连接到函数mySignal
15 
16     def myPrint(self):                                     #自定义的槽函数。槽其实就是个函数(方法)
17         self.textBrowser.setText("")
18         self.textBrowser.append("我是槽函数")
19         self._signal.emit("发射信号,传递字符串")
20 
21     def mySignal(self,string):                                  #自定义信号函数
22         self.textBrowser.append(string)                                           #接受到字符串,打印出来
23         self.textBrowser.append("我是信号函数")
24 
25 
26 if __name__=="__main__":
27     import sys
28 
29     app=QtWidgets.QApplication(sys.argv)            #pyqt窗口必须在QApplication方法中使用
30     myshow=mywindow()                               #生成mywindow类的实例 myshow
31     myshow.show()                                   #myshow调用show方法
32     sys.exit(app.exec())                            #消息结束的时候,结束进程,并返回0,接着调用sys.exit(0)退出程序

上面这个是index.py

 

从qtdesigner直接生成的代码:

 

 1 __author__ = 'yangyang5'
 2 
 3 from PyQt5 import QtCore, QtGui, QtWidgets                              #导入模块
 4 
 5 class Ui_Form(object):                                                  #创建窗口类,继承object
 6 
 7     def setupUi(self, Form):
 8         Form.setObjectName("Form")                                        #设置窗口名
 9         Form.resize(400, 300)                                              #设置窗口大小
10         self.pushButton = QtWidgets.QPushButton(Form)                       #新建按钮,并加入到窗口中
11         self.pushButton.setGeometry(QtCore.QRect(270, 240, 75, 23))         #设置按钮的大小和位置
12         self.pushButton.setObjectName("pushButton")                         #设置按钮名
13         self.textBrowser = QtWidgets.QTextBrowser(Form)
14         self.textBrowser.setGeometry(QtCore.QRect(60, 20, 256, 192))
15         self.textBrowser.setObjectName("textBrowser")
16         self.pushButton_2 = QtWidgets.QPushButton(Form)
17         self.pushButton_2.setGeometry(QtCore.QRect(40, 240, 75, 23))
18         self.pushButton_2.setObjectName("pushButton_2")
19 
20 
21         self.retranslateUi(Form)
22         self.pushButton.clicked.connect(Form.close)                         #点击按钮,关闭窗体
23         QtCore.QMetaObject.connectSlotsByName(Form)                         #关联信号槽
24 
25     def retranslateUi(self, Form):
26         _translate = QtCore.QCoreApplication.translate
27         Form.setWindowTitle(_translate("Form", "Form"))                     #设置窗口标题
28         self.pushButton.setText(_translate("Form", "Quit"))                 #设置按钮名
29         self.pushButton_2.setText(_translate("Form", "Print"))

 

使用环境:

Python3.4 + Pyqt5第三方库

 

 

 

 

相关资料:

http://blog.csdn.net/a359680405/article/details/45096185