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()里

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM