赞
踩
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
在PyQt5学习(一)基础上,封装一个MyWindow类
- #2.py
- '''
- 使用类对行为进行封装,具有条理性
- 行为:
- 创建对象时:初始化建立窗口
- 初始化UI界面
- 按钮链接的事件&&执行
- '''
- from PyQt5 import QtWidgets
- from PyQt5.QtWidgets import QApplication,QMainWindow
- import sys
-
- class Mywindow(QMainWindow):
- def __init__(self):
- super(Mywindow,self).__init__()
- self.setGeometry(150,100,1600,900)
- self.setWindowTitle("The system of vehicle dectectng and tracking based on UVA")
- self.initUI()
-
- def initUI(self):
- self.label = QtWidgets.QLabel(self)
- self.label.setText("本车辆目标检测与跟踪系统非常先进")
- self.label.move(50, 50)
-
- self.b1 = QtWidgets.QPushButton(self) #创建一个button
- self.b1.setText("Click me") #button上的字
- self.b1.clicked.connect(self.clicked) #按下button触发事件
-
- def clicked(self):
- self.label.setText("本车辆目标检测与跟踪系统非常先进")
- self.update()
-
- def window():
- app = QApplication(sys.argv)
- win = Mywindow()
- win.show()
- sys.exit(app.exec_())
-
- window()

self指的是实例Instance本身,在Python类中规定,函数的第一个参数是实例对象本身,并且约定俗成,把其名字写为self,也就是说,类中的方法的第一个参数一定要是self,而且不能省略。
在python中创建类后,通常会创建一个 __ init__ ()方法,这个方法会在创建类的实例的时候自动执行。__ init__ ()方法必须包含一个self参数,而且要是第一个参数。我们在实例化对象的时候, __ init__ ()方法就已经自动执行了。
Python中的super(Mywindow, self).__init__()是指首先找到Mywindow的父类(QMainWindow),然后把类Mywindow的对象self转换为类QMainWindowt的对象,然后“被转换”的类QMainWindow对象调用自己的init函数.
其实简单理解就是子类把父类的__init__()放到自己的__init__()当中,这样子类就有了父类的__init__()的那些东西。
super(Mywindow self).__init__()就是对继承自父类QMainWindow的属性进行初始化。而且是用QMainWindow的初始化方法来初始化继承的属性。
- class Mywindow(QMainWindow):
- def __init__(self):
- super(Mywindow,self).__init__()
- self.setGeometry(150,100,1600,900)
- self.setWindowTitle("The system of vehicle dectectng and tracking based on UVA")
- self.initUI()
简单窗口
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。