对象new和不new的理解

1、现象

在一个线程类【QObject】中声明一个对象QTimer,【不new,直接声明】,在槽函数中timer.start()

报警告:不能跨线程调用对象

2、分析

不使用new的方式,直接A a;这样是同时:声明+定义【分配空间】,所以如果在A头文件中这样定义一个对象,然后再A a;这样是在主线程中分配的空间,就不能再a中使用定时器对象了

而使用new的方式,可以在A的槽函数中分配空间,可以使用

posted @ 2018-08-20 14:29  朱小勇  阅读(747)  评论(0编辑  收藏  举报