Qt如何支持高分辨率屏幕(高分屏)

Qt/QML 专栏收录该内容
158 篇文章 36 订阅

 

Qt从5.6.0开始,支持High-DPI。
int main(int argc, char *argv[])
{
#if (QT_VERSION >= QT_VERSION_CHECK(5, 6, 0))
    QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
#endif
    QApplication a(argc, argv);
    ......
}

 

注意,QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);一定要加在QApplication创建 之前。

#if (QT_VERSION >=QT_VERSION_CHECK(5, 6, 0))保证只在Qt5.6.0及以上版本可用。

 

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

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

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

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

Qt5.7.1修复了这三个bug。

 

参考链接:http://www.qtcn.org/bbs/simple/?t61685.html

 

  • 7
    点赞
  • 2
    评论
  • 8
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值