社区
Qt
帖子详情
QPointer 到底是什么?能否简单地说一下.
li569685235
2014-07-05 09:07:36
看了一些QPointer的文章,总是感觉有点看不懂,谁能简单地说一下它是什么?
...全文
95
2
打赏
收藏
QPointer 到底是什么?能否简单地说一下.
看了一些QPointer的文章,总是感觉有点看不懂,谁能简单地说一下它是什么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
li569685235
2014-07-05
打赏
举报
回复
喔,这么回事!还是用一个简单例子比较实在.
小K小Q
2014-07-05
打赏
举报
回复
QPointer是一个指针封装类,其作用类似于智能指针,但是它最大的特点应该是在指针的控制上,它希望一个Qt的指针(当然是从QObject派生的)可以同时被多个类拥有,这在 界面编程中当然是很常见的事情了,但是当这个指针被删除时,我们不希望再找到那两个界面类然后通知它们,相反我们希望这两个界面类可以直接判断QPointer中的isNull方法 很自然的知道原始指针已经不存在了 试验代码: #include <QApplication> #include <QPushButton> #include <QPointer> int main(int argc, char *argv[]) { QApplication app(argc, argv); QPushButton* pButton = new QPushButton("wgs"); QPointer<QPushButton> button = pButton; delete pButton; if (!button.isNull()) { button->setText("www"); } return app.exec(); } QPointer 简单地讲,我们通常删掉一个对像时,要把这个对象置为空,否则为野指针。用了QPointer它将自己置为空。
Qt智能指针--Q
Point
er
概述 Q
Point
er
是Qt提供的一个比较特别的智能指针,和其它智能指针有很大的不同,该智能指针专门为自动释放内存资源而设计的。 正文 Q
Point
er
本质是一个模板类,属于Qt对象模型的特性,它为QObject提供了guarded
point
er
,当其指向的对象被销毁时,它会被自动置NULL。 需要注意的是:Q
Point
er
所指向的对象必须是QObject或其派生类对象。 因为其对象析构时会执行...
Qt:Q
Point
er
类
Q
Point
er
类是一个模板类,它提供了指向QObject的guarded
point
er
。 template <typename T> class Q
Point
er
头文件: #include <Q
Point
er
> cmake: find_package(Qt6 COMPONENTS Core REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Core) qmake: QT += core 详细说明 g
Qt Q
Point
er
和 QShared
Point
er
使用实例
在网上查到很多关于Qt 中 Q
Point
er
和 QShared
Point
er
, 大部分是官方的例子,这里给个实际在对象中使用。 首先介绍
一下
Q
Point
er
和 QShared
Point
er
的
简单
用法。 Q
Point
er
Q
Point
er
can only
point
to QObject instances. It will be automatically set to ...
Q
Point
er
用QList 保存自定义的对象指针,QList需要动态删除对象,并且需要在QTim
er
的槽函数中查询QList的内容,因为查询时候可能对象已经删除,但是指针却不会自动置为NULL,会出现崩溃,但是Q
Point
er
完美解决这一问题。而且使用办法
简单
。例如 QList<Q
Point
er
<Us
er
Thread>>m_us
er
Threads;其他使用就和普通的指针一样
简单
。...
Qt源码分析之Q
Point
er
http://blog.csdn.net/oowgsoo/article/details/1529424 Q
Point
er
是一个指针封装类,其作用类似于智能指针,但是它最大的特点应该是在指针的控制上,它希望一个Qt的指针(当然是从QObject派生的)可以同时被多个类拥有,这在 界面编程中当然是很常见的事情了,但是当这个指针被删除时,我们不希望再找到那两个界面类然后通知它们,相反我们希望这两...
Qt
16,216
社区成员
26,595
社区内容
发帖
与我相关
我的任务
Qt
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
复制链接
扫一扫
分享
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章