Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. How can I make my app ignore window's "HIGH DPI SCALING"?
QtWS25 Last Chance

How can I make my app ignore window's "HIGH DPI SCALING"?

Scheduled Pinned Locked Moved Solved General and Desktop
widgetsdpi awarenessscaling
15 Posts 6 Posters 11.1k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • C Offline
    C Offline
    Curtwagner1984
    wrote on 23 May 2022, 05:41 last edited by
    #5

    Thanks,
    I made a file named qt.conf with the line

    <application> -platform windows:dpiawareness=0
    

    And put it in the the folder of the executable. Nothing changed.

    Is this correct? Should application be the name of the application?

    J 1 Reply Last reply 23 May 2022, 12:44
    0
  • J Offline
    J Offline
    JKSH Moderators
    replied to Curtwagner1984 on 23 May 2022, 12:44 last edited by
    #6

    @Curtwagner1984 said in How can I make my app ignore window's "HIGH DPI SCALING"?:

    I made a file named qt.conf with the line

    <application> -platform windows:dpiawareness=0
    

    Those are command line arguments. You pass the extra arguments while launching your .exe from the Command Prompt .

    Qt Doc Search for browsers: forum.qt.io/topic/35616/web-browser-extension-for-improved-doc-searches

    1 Reply Last reply
    4
  • C Offline
    C Offline
    Curtwagner1984
    wrote on 24 May 2022, 11:40 last edited by
    #7

    Thank you! This works!
    Is there a way to set it up in the application itself, without the need to provide extra command line arguments?

    J 1 Reply Last reply 24 May 2022, 11:57
    0
  • J Offline
    J Offline
    J.Hilk Moderators
    replied to Curtwagner1984 on 24 May 2022, 11:57 last edited by
    #8

    @Curtwagner1984
    good old putenv, probably

    https://www.cprogramming.com/fod/putenv.html


    Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


    Q: What's that?
    A: It's blue light.
    Q: What does it do?
    A: It turns blue.

    J 1 Reply Last reply 24 May 2022, 12:13
    0
  • J Offline
    J Offline
    JonB
    replied to J.Hilk on 24 May 2022, 12:13 last edited by
    #9

    @J-Hilk
    I looked at this. What environment variable name (and value) are you proposing for -platform windows:dpiawareness=0, I could not see that it worked this way??

    J 1 Reply Last reply 24 May 2022, 12:18
    0
  • J Offline
    J Offline
    J.Hilk Moderators
    replied to JonB on 24 May 2022, 12:18 last edited by J.Hilk
    #10

    @JonB admittedly
    the official way to do it, is apparently the creation and deployment of a qt.conf file, same level as the executable with this content:

    [Platforms]
    WindowsArguments = dpiawareness=0

    that said:

    qputenv("dpiawareness", "0"); or qputenv("windows:dpiawareness", "0");

    I'm unsure, I'm not using it often enough :D


    Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


    Q: What's that?
    A: It's blue light.
    Q: What does it do?
    A: It turns blue.

    J C 2 Replies Last reply 24 May 2022, 12:27
    2
  • J Offline
    J Offline
    JonB
    replied to J.Hilk on 24 May 2022, 12:27 last edited by JonB
    #11

    @J-Hilk said in How can I make my app ignore window's "HIGH DPI SCALING"?:

    qputenv("dpiawareness", "0"); or qputenv("windows:dpiawareness", "0");
    I'm unsure, I'm not using it often enough :D

    There is/I can see no evidence that a Qt program would recognise either of these proposed environment variable names. Unless you can see where it says it does.... I see only the command line or qt.conf file approaches so far.

    1 Reply Last reply
    0
  • C Offline
    C Offline
    Curtwagner1984
    replied to J.Hilk on 30 May 2022, 05:19 last edited by
    #12

    @J-Hilk said in How can I make my app ignore window's "HIGH DPI SCALING"?:

    [Platforms]
    WindowsArguments = dpiawareness=0

    Thank you! I tried to used this before but I've put incorrect syntax in this file. This works.

    1 Reply Last reply
    2
  • A Offline
    A Offline
    arunkannan
    wrote on 2 Sept 2024, 13:52 last edited by
    #13

    @Curtwagner1984 @JonB @J-Hilk @JKSH
    I used Python PyQt5-5.15 for my application
    I have guimain.exe and panelgui.ui files . Made qt.conf file
    But when I change windows scaling to 125% or 150% the text fonts and other ui widgets get messed up...how to make it work i.e disable windows scaling for application

    1 Reply Last reply
    0
  • V Offline
    V Offline
    Violet Giraffe
    wrote on 5 Nov 2024, 08:50 last edited by Violet Giraffe 11 May 2024, 10:44
    #14

    In Qt 6 you can override the scale factor with the QT_SCALE_FACTOR env variable, but there is a problem: it doesn't set the factor to your value, it multiplies it. For example, if the system has 150% and you want 100%, you need to set QT_SCALE_FACTOR to 0.666667 (and even then it might not end up exactly 1.0 but rather 1.0001).

    Is this intentional? There is a number of problems resulting from this multiplicative behavior, the primary one being when the application is moved between screens with different scale factors. I want to have 1.0 everywhere, not 0.66!

    Also, -platform windows:dpiawareness=0 DOES NOT WORK!
    Or, rather, it does the wrong thing. It disables too much, devicePixelRatio() reports 1.0 but the window is stretched and blurry.

    1 Reply Last reply
    0
  • V Offline
    V Offline
    Violet Giraffe
    wrote on 5 Nov 2024, 11:54 last edited by
    #15

    Found the proper option: QT_ENABLE_HIGHDPI_SCALING=0.

    1 Reply Last reply
    0

  • Login

  • Login or register to search.
  • First post
    Last post
0
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved