自学内容网 自学内容网

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)


原文地址:https://blog.csdn.net/cai742925624/article/details/140299828

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!