2 Fork me on GitHub 6

3.QT屏幕分辨率适配

需求:qt的窗口、组件、字体需要适配屏幕分辨率。

思路:qt是根据显示器的物理长度或者宽度于分辨率的关系来计算dpi

实现:

 

#if(QT_VERSION >= QT_VERSION_CHECK(5,6,0))
        QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
#endif
        QApplication a(argc, argv);
        
        const float DEFAULT_DPI = 96.0;
        HDC screen = GetDC(NULL);
        FLOAT dpiX = static_cast<FLOAT>(GetDeviceCaps(screen, LOGPIXELSX));
        ReleaseDC(0, screen);
    float fontSize = dpiX / DEFAULT_DPI;
    
        QFont font = a.font();
        font.setPointSize(font.pointSize()*fontSize);
        a.setFont(font);

 

 

注意:需要写在main()里

 

posted @ 2021-06-08 21:31  linzMYN  阅读(1062)  评论(0)    收藏  举报
-------