[Development] QString and related changes for Qt 6
Henry Skoglund
henry at tungware.se
Tue May 12 13:50:16 CEST 2020
On 2020-05-12 12:36, Lars Knoll wrote:
...
> Leaving things behind simplifies our lives and in the longer term also
> our users life. And yes, non unicode encodings are legacy in todays
> world. They need to disappear, and most people are working towards
> that goal. We can and should do our part.
> Lars
>
+1
I still have some .exe files around I wrote for WIndows 3.0 in 1991,
while they run nicely today (GDI graphics) on my Windows 10 PC, the
Swedish characters display wrong, because somewhere along the way
Microsoft decided that the kosher codepage for Windows programs would
cease to be 850 and instead be 1251. Yes in 1991 CP 850 was hot, today
not so much. So I'd prefer if Qt would require UTF-8 even on Windows.
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 :-(
More information about the Development
mailing list