当前位置: 首页 > news >正文

关于 Qt4Qt5迁移至Qt6出现QDesktopWidget和QApplication::desktop()删除后兼容Qt6 的解决方法

若该文为原创文章,转载请注明原文出处
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/140036861

长沙红胖子Qt(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…

Qt开发专栏:各种问题解决(点击传送门)


问题

  兼容Qt4、Qt5的项目,移植到Qt6出现找不到“QDesktopWidget"和”QApplication->desktop()"的问题,本篇是兼容Qt6的解决方法。


原因

  因为Qt6已经删除了QDesktopWidget和QApplication->desktop()。


解决方法

修改1:头文件

  修改前:

#include <QDesktopWidget>

  修改后:

#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
#include <QScreen>
#else
#include <QDesktopWidget>
#endif

修改2:使用到desktop的地方都要修改

  修改前:

    _pKeyboardWidget->move(0, qApp->desktop()->height() - _pKeyboardWidget->height());

  修改后:

#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)QScreen *pScreen = QApplication::primaryScreen();_pKeyboardWidget->move(0, pScreen->geometry().height() - _pKeyboardWidget->height());
#else_pKeyboardWidget->move(0, qApp->desktop()->height() - _pKeyboardWidget->height());
#endif

  修改前:

    setFixedSize(qApp->desktop()->width(), 380);

  修改后:

#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)QScreen *pScreen = QApplication::primaryScreen();setFixedSize(pScreen->geometry().width(), 380);
#elsesetFixedSize(qApp->desktop()->width(), 380);
#endif

本文章博客地址:https://hpzwl.blog.csdn.net/article/details/140036861

http://www.lryc.cn/news/391081.html

相关文章:

  • 【HarmonyOS NEXT】鸿蒙Socket 连接
  • 1978Springboot在线维修预约服务应用系统idea开发mysql数据库web结构java编程计算机网页源码maven项目
  • 【vue】实现自动轮播+滚轮控制
  • 鸿翼FEX文件安全交换系统,打造安全高效的文件摆渡“绿色通道”
  • 苹果电脑虚拟机运行Windows Mac环境安装Win PD19虚拟机 parallels desktop19虚拟机安装教程免费密钥激活
  • 昇思25天学习打卡营第11天|基于MindSpore通过GPT实现情感分类
  • 【Python】变量与基本数据类型
  • Unity按键表大全
  • 第一周java。2
  • Arduino - Keypad 键盘
  • 国产芯片方案/蓝牙咖啡电子秤方案研发
  • reactjs18 中使用@reduxjs/toolkit同步异步数据的使用
  • 剧本杀小程序:助力商家发展,提高游戏体验
  • pikachu靶场 利用Rce上传一句话木马案例(工具:中国蚁剑)
  • CenterOS7安装java
  • react 重新加载子组件
  • 从零开始使用WordPress搭建个人网站并一键发布公网详细教程
  • 浅谈chrome引擎
  • 【常用知识点-Java】创建文件夹
  • 【JavaScript脚本宇宙】颜色处理神器大比拼:哪款JavaScript库最适合你?
  • 怎么录制电脑内部声音?好用的录音软件分享,看这篇就够了!
  • ios CCNSDate.m
  • Windows系统安装SSH服务结合内网穿透配置公网地址远程ssh连接
  • 虚拟机与主机的联通
  • 2024年中国网络安全市场全景图 -百度下载
  • Linux脚本自动安装 docker
  • 【计算智能】遗传算法(一):基本遗传算法(SGA)理论简介
  • win10系统让当前用户拥有管理员权限
  • Redis持久化的三种方式(RDB、AOF和混合)
  • Telnet发送get/post请求