Qt使用笔记1(智能指针,deleteLater,多屏)

1、Qt智能指针

1.1、QPointer :解决野指针问题,必须是QObject对象。

1.2、QScopedPoint:作用域指针,出作用域自动释放。

1.3、QScopedArrayPoint:作用域数组指针,出作用域自动释放数组。

1.4、QSharedPoint:共享指针,引用计数器为0时释放,有循环引用的风险。

1.5、QWeakPoint:弱引用指针,防止循环引用。

2、Qt的deleteLater()函数:对象延迟析构

原因:qt是事件驱动的,当QObject正在接收事件队列时被销毁掉会出错。

我们调用这个函数,并不会直接进行delete,而是向事件循环发送了一个delete事件,也就说当控件返回到事件循环时,这个对象才会被删除。并且多次调用这个函数是安全的;当传递第一个延迟删除事件时,对象的任何挂起事件都将从事件队列中删除。

3、Qt多屏操作

3.1、获取显示列表和主屏

QList<QScreen *> lstScreen = QGuiApplication::screens();

QScreen * primaryScreen = QGuiApplication::primaryScreen();

3.2、显示器变化信号

void QGuiApplication::screenAdded(QScreen *screen)

void QGuiApplication::screenRemoved(QScreen *screen)

3.3、获取指定位置所在屏幕

QScreen *QGuiApplication::screenAt(const QPoint &point)

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值