>
> 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
> [email protected]
> https://lists.qt-project.org/listinfo/development
_______________________________________________
Development mailing list
[email protected]
https://lists.qt-project.org/listinfo/development