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. Minimizing Vertical Spacing in QGridLayout
Forum Updated to NodeBB v4.3 + New Features

Minimizing Vertical Spacing in QGridLayout

Scheduled Pinned Locked Moved Solved General and Desktop
29 Posts 4 Posters 19.8k Views 2 Watching
  • 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.
  • A Offline
    A Offline
    Absurd
    wrote on last edited by Absurd
    #21

    Important update
    I tried to compile & run the same code on another machine, and guess what...

    0_1545142446417_9270b473-9f2b-43a9-b213-846dae79abd5-image.png

    $> uname -a
    Linux 4.15.0-42-generic #45-Ubuntu SMP Thu Nov 15 19:32:57 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
    

    Does anyone has an idea on why would different machine render the GUI differently?

    mrjjM 1 Reply Last reply
    0
    • A Absurd

      Important update
      I tried to compile & run the same code on another machine, and guess what...

      0_1545142446417_9270b473-9f2b-43a9-b213-846dae79abd5-image.png

      $> uname -a
      Linux 4.15.0-42-generic #45-Ubuntu SMP Thu Nov 15 19:32:57 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
      

      Does anyone has an idea on why would different machine render the GUI differently?

      mrjjM Offline
      mrjjM Offline
      mrjj
      Lifetime Qt Champion
      wrote on last edited by mrjj
      #22

      @Absurd
      Are the both linuxes ? ( with GNOME)

      A 1 Reply Last reply
      0
      • mrjjM mrjj

        @Absurd
        Are the both linuxes ? ( with GNOME)

        A Offline
        A Offline
        Absurd
        wrote on last edited by Absurd
        #23

        @mrjj
        Yes, they are both Linux-based, but not both are GNOME:

        The bad:

        $> uname -a 
        Linux 3.10.0-327.el7.x86_64 #1 SMP Thu Oct 29 17:29:29 EDT 2015 x86_64 x86_64 x86_64 GNU/Linux
        $> ls /usr/bin/*session
        /usr/bin/gnome-session*  /usr/bin/gnome-session-custom-session*
        $> qmake-qt4 --version
        QMake version 2.01a
        Using Qt version 4.8.5 in /usr/lib64
        

        The good:

        $> uname -a
        Linux 4.15.0-42-generic #45-Ubuntu SMP Thu Nov 15 19:32:57 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
        $> ls /usr/bin/*session
        /usr/bin/byobu-select-session*  /usr/bin/dbus-run-session*
        $> qmake-qt4 --version
        QMake version 2.01a
        Using Qt version 4.8.7 in /usr/lib/x86_64-linux-gnu
        
        mrjjM 1 Reply Last reply
        0
        • A Absurd

          @mrjj
          Yes, they are both Linux-based, but not both are GNOME:

          The bad:

          $> uname -a 
          Linux 3.10.0-327.el7.x86_64 #1 SMP Thu Oct 29 17:29:29 EDT 2015 x86_64 x86_64 x86_64 GNU/Linux
          $> ls /usr/bin/*session
          /usr/bin/gnome-session*  /usr/bin/gnome-session-custom-session*
          $> qmake-qt4 --version
          QMake version 2.01a
          Using Qt version 4.8.5 in /usr/lib64
          

          The good:

          $> uname -a
          Linux 4.15.0-42-generic #45-Ubuntu SMP Thu Nov 15 19:32:57 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
          $> ls /usr/bin/*session
          /usr/bin/byobu-select-session*  /usr/bin/dbus-run-session*
          $> qmake-qt4 --version
          QMake version 2.01a
          Using Qt version 4.8.7 in /usr/lib/x86_64-linux-gnu
          
          mrjjM Offline
          mrjjM Offline
          mrjj
          Lifetime Qt Champion
          wrote on last edited by
          #24

          @Absurd
          Hi
          Could yo try to do

          #include <QDebug>
          #include <QStyle>
          
          int main(int argc, char *argv[])
          {
              QApplication a(argc, argv);
              qDebug() << QApplication::style()->objectName();
          ...normal code...
          

          and see if they list different styles ?

          1 Reply Last reply
          1
          • A Offline
            A Offline
            Absurd
            wrote on last edited by Absurd
            #25

            Adding the code you suggested;
            The Bad prints out "oxygen",
            The Good prints out "windows".

            What does that mean?

            Thanks.

            mrjjM 1 Reply Last reply
            0
            • A Absurd

              Adding the code you suggested;
              The Bad prints out "oxygen",
              The Good prints out "windows".

              What does that mean?

              Thanks.

              mrjjM Offline
              mrjjM Offline
              mrjj
              Lifetime Qt Champion
              wrote on last edited by mrjj
              #26

              @Absurd
              It means that it uses different QStyles for the look and apparently
              the oxygen draws the LineEdit with little border or something like that.

              on the good, could you try

               QStyle *style = QStyleFactory::create("oxygen");
                  if(style)
                  {
                      qDebug("Oxygen loaded!");        
                      QApplication::setStyle(style);
                  }
              

              and see if it then get a space like the bad one ?

              1 Reply Last reply
              2
              • A Offline
                A Offline
                Absurd
                wrote on last edited by Absurd
                #27

                You nailed it!
                I added this code on the 'Good', but QStyleFactory::create("oxygen"); returned NULL for some reason (do you happen to know how can I inspect why? is there something like 'errno' I can print out?), so instead I tried this on the 'Bad':

                QStyle *style = QStyleFactory::create("windows");
                   if(style)
                   {
                       qDebug("windows loaded!");        
                       QApplication::setStyle(style);
                   }
                

                and voilà:
                0_1545145924547_6f35a3ef-60b0-4f07-b136-60657b3ef691-image.png

                Now, I guess I can use it as a WA, but I'm curious:
                How is the QStyle determined inside a QApplication?
                Could it be related to the qt4 versions? (in the 'Bad' machine I didn't have to install qt4 - it was there when I got it, but on the 'Good' I had to install it with sudo apt install qt4-default)

                Thanks again!

                mrjjM 1 Reply Last reply
                0
                • A Absurd

                  You nailed it!
                  I added this code on the 'Good', but QStyleFactory::create("oxygen"); returned NULL for some reason (do you happen to know how can I inspect why? is there something like 'errno' I can print out?), so instead I tried this on the 'Bad':

                  QStyle *style = QStyleFactory::create("windows");
                     if(style)
                     {
                         qDebug("windows loaded!");        
                         QApplication::setStyle(style);
                     }
                  

                  and voilà:
                  0_1545145924547_6f35a3ef-60b0-4f07-b136-60657b3ef691-image.png

                  Now, I guess I can use it as a WA, but I'm curious:
                  How is the QStyle determined inside a QApplication?
                  Could it be related to the qt4 versions? (in the 'Bad' machine I didn't have to install qt4 - it was there when I got it, but on the 'Good' I had to install it with sudo apt install qt4-default)

                  Thanks again!

                  mrjjM Offline
                  mrjjM Offline
                  mrjj
                  Lifetime Qt Champion
                  wrote on last edited by mrjj
                  #28

                  @Absurd said in Minimizing Vertical Spacing in QGridLayout:
                  Hi
                  As far as i know QStyleFactory cannot tell you why. only list available styles.

                  • How is the QStyle determined inside a QApplication?
                    Never saw the actual for that detection. so cant tell. sorry.

                  Im wondering if 4.8.5 had a small bug where even disable the border would not
                  reduce the space used. And that was fixed in 4.8.7. Or it simply is a QStyle drawing difference.

                  1 Reply Last reply
                  0
                  • A Offline
                    A Offline
                    Absurd
                    wrote on last edited by
                    #29

                    I will try installing 4.8.7 and will update if the behavior is different there...

                    1 Reply Last reply
                    1

                    • Login

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