1. 简述
QObject类是PyQt5中所有类的父类,其提供了PyQt5中所有控件所具有的共性。
2. QObject中的常见API
>设置和获取父控件和子控件的方法
setParent(parent)
:设置该控件的父控件(父对象),如果设置多个父控件,以最后设置的父控件为准parent()
:获取父控件children()
:获取该对象的直接子对象findChildren(obj_type)
:获取该对象的子控件,需要一个参数来指定查找子控件的类型,比如QLabel
附: 子控件与父控件的关系为子控件的生命周期会被父对象所接管,并且当子控件的大小大于父控件时,会被裁剪为和父控件一样大。
>判定对象
isWidgetType()
:判断该控件是否是Widget的子类或其本身的对象inherits("父类")
:判断该控件是否是指定父类及其子类的对象
>删除对象
deleteLater()
:该方法并没有立即销毁对象,而是向主消息循环发送了一个event,主循环受到event后,会在下次循环时删除掉这个对象,这种方法会的好处是可以在延迟时间内做一些操作,坏处就是内存释放不及时.
>定时器
-
startTimer(ms,Qt.TimerType) -> timer_id
:开启一个定时器
Qt.TimerType(定时器类型):Qt.PreciseTimer
:精确定时器,尽可能保持在毫秒级别的精确度Qt.CoarseTimer
:粗定时器,5%的误差间隔Qt.VeryCoarseTimer
:很粗的定时器,只能精确到秒级
timer_id:定时器的唯一标识
-
killTimer(timer_id)
:根据定时器id杀死(关闭)定时器 -
timerEvent()
:定时器事件
3. 消息队列和信号与槽
消息队列ÿ