【PyQt5】學習筆記(1)


 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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM