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