> 
> P.S. Consider a similar type of "technical debt" being settled by Qt: I'm 
> thinking of the "DPI awareness" setting in 5.14, i.e. for a default widgets 
> program, Qt nowadays tells WIndows that it's "DPI aware" and wants the truth 
> about screen coordinates, even on those portable PCs with high DPIs that have 
> Scale set to 125% or 150%.  On the Qt forum I've seen lot of heat/complaints 
> about QLabels being shoehorned in with the QLineEdits because the fonts are 
> too big for those 125% or 150% screens, I'd answer: create a qt.conf file 
> with the contents:
> [Platforms]
> WindowsArguments = dpiawareness=0
> 
> and your legacy widgets program will go back to display fine, albeit a bit 
> blurry and bloated.
> But! If you're asking (with that qt.conf file present) what the screen size 
> is (e.g. QGuiApplication::screens(0)->geometry() etc.) Windows will lie to 
> you and scale "backwards" so that a normal 2560x1440 screen is reported as 
> "QRect(0,0,1707,960)". So using dpiawareness=0 is a bad long-term solution :-(

We are indeed planning to addreess high-DPI support for Qt 6. You can test the 
implementation on 
Qt 5.14+ today by setting

    QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
    
QGuiApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::PassThrough);

This should make sure labels and line edits are correctly sized, also for 125% 
and 150%.

Interestingly, Qt will then “lie” about the about the screen size the same way 
that dpiawareness=0
does, although while rendering at the full resolution (so no blurriness).

Morten






> 
> _______________________________________________
> Development mailing list
> Development@qt-project.org
> https://lists.qt-project.org/listinfo/development

_______________________________________________
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development

Reply via email to