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 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
    • 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