• 3482阅读
  • 3回复

关于this指针 [复制链接]

上一主题 下一主题
离线wxxzs123
 

只看楼主 倒序阅读 楼主  发表于: 2014-07-13
QPainter paint(this);
定义对象时为什么要用this指针初始化呢?

QTimer *timer=new QTimer(this);
创建定时器也是用this指针初始化,求解释

离线bingyifeng

只看该作者 1楼 发表于: 2014-07-13
资源管理用的,具体你可以看QObject 说明。
说明QPainter 和 Qtimer 资源是使用this(当前对象)管理的
生命周期同步,
释放当前对象的时候,自动会释放QPainter 和 Timer 资源。
当然你也可以不传this, 资源的释放,你自己处理掉。
<span style="color:blue ">淘宝,绿石斋</span> <a href="http://shop33295817.taobao.com“> <span style="color:blue ">各种水晶饰品,手链,项链 </span></a>
离线wxxzs123

只看该作者 2楼 发表于: 2014-07-13
回 bingyifeng 的帖子
bingyifeng:资源管理用的,具体你可以看QObject 说明。
说明QPainter 和 Qtimer 资源是使用this(当前对象)管理的
生命周期同步,
释放当前对象的时候,自动会释放QPainter 和 Timer 资源。
当然你也可以不传this, 资源的释放,你自己处理掉。 (2014-07-13 12:06) 

哦这样啊,谢谢
离线lingdhox

只看该作者 3楼 发表于: 2014-07-15
QTimer的this参数, 是为qobject对象指定parent.

而QPainter的构造中传入 的this, 并不是这个意思.
QPainter(QPaintDevice * device) 这是函数原型
this作为paintdevice传入. 是为了绘制.
Constructs a painter that begins painting the paint device immediately.
快速回复
限100 字节
 
上一个 下一个