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"?

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.5k 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 Curtwagner1984
    23 May 2022, 05:41

    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 Offline
    J Offline
    JKSH
    Moderators
    wrote 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
      • C Curtwagner1984
        24 May 2022, 11:40

        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 Online
        J Online
        J.Hilk
        Moderators
        wrote 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 J.Hilk
          24 May 2022, 11:57

          @Curtwagner1984
          good old putenv, probably

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

          J Offline
          J Offline
          JonB
          wrote 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 JonB
            24 May 2022, 12:13

            @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 Online
            J Online
            J.Hilk
            Moderators
            wrote 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 J.Hilk
              24 May 2022, 12:18

              @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

              J Offline
              J Offline
              JonB
              wrote 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
              • J J.Hilk
                24 May 2022, 12:18

                @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

                C Offline
                C Offline
                Curtwagner1984
                wrote 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