基于Qt的汽车仪表模拟

照例,还是先上效果图,宣传哈哈哈哈哈

今天学到一个新东西,就是Qt对高分屏的支持,即高DPI的支持,有个Qt写的软件在老板的SB2上运行出现了显示异常,因为老板的电脑分辨率是3000*2000 200的放大,导致软件不支持。所以在后面的软件中,需要对软件最高分屏支持,但是目前(5.10.0.版本)中,多高分屏的支持还是不是很完美呀。

这里需要注意,Qt是在5.6.0以后的版本才会支持高分屏的适配哈。

先说怎么搞

这个是没有加入高分屏适配的main.cpp文件

#include <QApplication>
#include <QDateTime>
#include "ControlPanel/controlpanel.h"
#include "Core/loader.h"
int main(int argc,char *argv[])
{QApplication a(argc,argv);Loader *loader = new Loader(":/Core/Resources/Core/LoaderImage.gif");loader->show();//装逼时刻放开QDateTime n=QDateTime::currentDateTime();QDateTime now;do{now=QDateTime::currentDateTime();a.processEvents();}while (n.secsTo(now)<=1);ControlPanel controlPanel;controlPanel.show();loader->finish(&controlPanel);delete loader;return a.exec();
}

这个是加入了高分屏适配的main.cpp文件

#include <QApplication>
#include <QDateTime>
#include "ControlPanel/controlpanel.h"
#include "Core/loader.h"
int main(int argc,char *argv[])
{#if (QT_VERSION >= QT_VERSION_CHECK(5, 6, 0))QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);#endifQApplication a(argc,argv);Loader *loader = new Loader(":/Core/Resources/Core/LoaderImage.gif");loader->show();//装逼时刻放开QDateTime n=QDateTime::currentDateTime();QDateTime now;do{now=QDateTime::currentDateTime();a.processEvents();}while (n.secsTo(now)<=1);ControlPanel controlPanel;controlPanel.show();loader->finish(&controlPanel);delete loader;return a.exec();
}

其实就是加入了一句话 ,有用的就是其中的一句,剩下的检查版本兼容的。

 #if (QT_VERSION >= QT_VERSION_CHECK(5, 6, 0))QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);#endif

还有就是最中重要的!!!

一定要写在“QApplication a(argc,argv);”的前面

一定要写在“QApplication a(argc,argv);”的前面

一定要写在“QApplication a(argc,argv);”的前面

这里引用下灿哥哥博客中的内容:原文链接:https://blog.csdn.net/caoshangpa/article/details/60965690

但是Qt5.6.0对高分屏的支持存在bug,在Surface Pro 4上亲测:

1.在无边框程程序setWindowFlags(Qt::FramelessWindowHint);下调用this->showMaximized();并不能实现最大化。

2.在使用QWebEngine时,输入法候选框的位置会跑偏(不在输入框的下方)。

3.在使用QWebEngine时,当输入中途按退格键(BackSpace),第一个输入的字符不能被正常删除。

Qt5.7.1修复了这三个bug。

2019/08/21 00:21

说明:

本项目中所使借鉴原型来自:[吉利] 博瑞GE | 仪表HMI设计、吉利汽车HMI项目。

设计图的所有权和解释权都归吉利汽车所有。

本项目所有资源文件均有打不死的小海复刻制作。

本项目代码暂时不会开源,有需要的源码的可与我联系,左上角二维码加微信。

本项目仅限学习交流、禁止商业使用。

HMI-7-[高分屏支持]:Qt 适配高分屏相关推荐

  1. 【android录屏填坑】录屏报错start fail,stop fail

    先写个标题,有时间了填充内容. 时隔N天,终于忙完了.内容填充中-- 前言 为什么要写这么一篇文章.因为我最近做录屏实在是被坑哭了.不是遇到start fail报错,就是遇到stop fail报错,这 ...

  2. QT自动适配高分屏的解决方案

    使用QT在开发桌面程序的时候,很多时候需要涉及到高分屏的适配问题.如果之前没有做过高分屏适配可能会遇到很多问题,这里提供一套方便的QT高分屏适配方案供大家参考.在适配高分屏的时候需要考虑两个要求: 1 ...

  3. 高分屏、分辨率、DPI、PPI,及 Qt 处理高分屏

    简 述: 高分屏.DPI.PPI.屏幕分辨率的一些基本知识,以及使用 Qt 处理高分屏的一些方法集合归纳. 文章目录 基础 方案 Ref 本文初发于 "偕臧的小站",同步转载于此. ...

  4. duilib适配高分屏(高DPI适配)

    duilib适配高分屏 高分屏(高DPI)适配 适配原理(duilib) 适配例子 高分屏(高DPI)适配 随着PC设备高分屏的越来越普及,PC端客户端软件也需要适配一下高分屏幕.在没有专门适配高分屏 ...

  5. linux 输入法 高分屏,支持高分屏 提升生僻字准确率 搜狗五笔输入法重大更新

    原标题:支持高分屏 提升生僻字准确率 搜狗五笔输入法重大更新 对于习惯使用拼音输入法的大多数用户来讲,五笔输入是需要强制记忆字根,通过练习才能掌握的输入法,它显得有些过时.甚至不少输入法厂商已经放弃了 ...

  6. 笔记本高分屏字体模糊_高分屏字体模糊win10怎么办_Win10系统高分屏字体模糊解决方法...

    2018-03-20 18:48:02 现在的显示器屏幕分辨率越来越高,而可能也会发现高分屏的电脑字体比较小,通过放大屏幕缩放比例来增大字体的话,就会遇到字体模糊的情况,那么Windows10系统高分 ...

  7. Android P 凹口屏支持,打造全面屏体验

    作者: Megan Potoski, Android 系统用户界面产品经理 智能手机发展至今,边框越做越窄,屏幕中横比越做越大.而凹口屏 (又称 "刘海屏") 更是成为各大设备厂商 ...

  8. android屏幕适配的五种方式_讲一讲Android 9.0系统的新特性,对刘海屏设备进行适配...

    黑客技术点击右侧关注,了解黑客的世界! Java开发进阶点击右侧关注,掌握进阶之路! Python开发点击右侧关注,探讨技术话题!作者丨郭霖来源丨郭霖(guolin_blog) 其实Android 9 ...

  9. android 分屏模式适配,安卓适配分屏注意事项

    分屏模式下可强制应用横屏,所以注意应用内强制竖屏的页面适配横屏显示 分屏模式下,获取应用所占用的宽高 getResources().getConfiguration().screenWidthDp g ...

最新文章

  1. 【C++】多线程与原子操作和无锁编程【五】
  2. 真正优秀的程序员有哪些与众不同之处?
  3. OpenCV场景文本识别的实例(附完整代码)
  4. android 带图片的弹幕,一个可以支持文本,图片,文本+表情的简单弹幕插件
  5. 论文必备神器,1行代码搞定Latex公式编写,这个4.6M的Python小插件
  6. mysql 指令没有用_Mysql指令
  7. 生活中有哪些越早明白越好的道理
  8. 系出名门Android(9) - 数据库支持(SQLite), 内容提供器(ContentProvider)
  9. Leetcode 5197.最小绝对差
  10. 2022年 电工杯B题5G 网络环境下 应急物资配送问题
  11. 硬盘文件系统系列之FAT
  12. 计算机无法关机 总是自动启动,告诉你win10电脑关机后自动开机怎么解决
  13. Kafka序列化器,分区器,拦截器,消息累加器
  14. hdwiki 软件包结构
  15. Windows实验——DNS劫持演练
  16. MDK的HardFault硬件异常和NMI异常原因总结
  17. uniapp通过v-for动态绑定ref踩坑记录
  18. scrum认证费用_如何获得专业Scrum大师的认证-快速和慢速方式
  19. 指纹识别实战——基于TensorFlow实现(文末送书)
  20. 用ultraiso安装linux系统教程,U盘安装Ubuntu 10.04 Beta 1 (利用UltraISO制作LiveCD)

热门文章

  1. fegin get请求调用报错
  2. FAThdc.inc
  3. XJTU-SY数据集轴承故障诊断
  4. BatchNorm、LayerNorm、InstanceNorm、GroupNorm、WeightNorm
  5. 校验验证码 实现登录验证
  6. qt Android 按键事件,QT无窗口状态下对键盘事件的监听
  7. [UVA 10635] Prince ans Princess
  8. 什么是CHIP LAN片式网络变压器?片式网络变压器分哪几种?目前应用较多的是哪种片式结构?
  9. python爬虫实战小项目
  10. 百度图片推广怎么做(百度图片推广操作方法)