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

    xiaoxiao2021-03-25  157

     

    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

     

    转载请注明原文地址: https://ju.6miu.com/read-15460.html

    最新回复(0)