Pyqt学习笔记

在PyQt中,所以class都是从QObject派生而来,QWidget对象就可以有一个parent。这种parent-child关系主要用于两个方面:

没有parent的QWidget类被认为是最上层的窗体(通常是MainWindow),由于MainWindow的一些操作生成的新窗体对象,parent都应该指向MainWindow。
由于parent-child关系的存在,它保证了child窗体在主窗体被回收之时也被回收。
parent作为构造函数的最后一个参数被传入,但通常情况下不必显示去指定parent对象。因为当调用局管理器时,部局管理器会自动处理这种parent-child关系。但是在一些特殊的情况下,我们必须显示的指定parent-child关系。如当生成的子类不是QWidget对象但继承了QObject对象,用作dock widgets的QWidget对象。

 

我们可以看到,对象之间有了依赖和生命周期,把IOC容器运用到GUI编程中是自然而然的事情了。
 

# -*- coding: utf-8 -*- 

'''
    【简介】
	PyQT5中主窗口例子
  
  
'''

import sys
from PyQt5.QtWidgets import QMainWindow , QApplication
from PyQt5.QtGui import QIcon 

class MainWidget(QMainWindow):				//子类继承了QMainWindow
	def __init__(self,parent=None):
		super(MainWidget,self).__init__(parent)			//继承初始化:找到MainWidget的父类,执行父类的__init__()
        # 设置主窗体标签
		self.setWindowTitle("QMainWindow 例子")         
		self.resize(400, 200) 
		self.status = self.statusBar()						//创建状态栏
		self.status.showMessage("这是状态栏提示",5000)		//左下角的状态栏(内容,时间(毫秒))


if __name__ == "__main__": 
	app = QApplication(sys.argv)
	app.setWindowIcon(QIcon("./images/cartoon1.ico"))
	main = MainWidget()
	main.show()
	sys.exit(app.exec_())

 

你可能感兴趣的:(PyQt5学习)