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. QGridLayout spacing and margins
Forum Updated to NodeBB v4.3 + New Features

QGridLayout spacing and margins

Scheduled Pinned Locked Moved Solved General and Desktop
2 Posts 1 Posters 284 Views 1 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.
  • SPlattenS Offline
    SPlattenS Offline
    SPlatten
    wrote on last edited by SPlatten
    #1

    I am using QGridLayout, the first row has a QLabel which is used to show an icon set to 32x32 pixels. The next row has two QSvgWidgets, each of these is 16x14.

    My code:

        QGridLayout* pgrdloStatus(new QGridLayout);
        if ( mplblStsIcon == nullptr )
        {
            mplblStsIcon = new QLabel();
        }  
        if ( mpsvgRxIcon == nullptr )
        {
            mpsvgRxIcon = new QSvgWidget(":/SVG_LED");
            mpsvgRxIcon->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
            mpsvgRxIcon->setFixedSize(TraineeMonitor::mscuintCommsIconWidth,
                                      TraineeMonitor::mscuintCommsIconHeight);
        }
        if ( mpsvgTxIcon == nullptr )
        {
            mpsvgTxIcon = new QSvgWidget(":/SVG_LED");
            mpsvgTxIcon->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
            mpsvgTxIcon->setFixedSize(TraineeMonitor::mscuintCommsIconWidth,
                                      TraineeMonitor::mscuintCommsIconHeight);
        }
        const QString cstrToolTip(QString(
                "   %1: %2\r\n%3: %4")
                        .arg(tr("Hostname:")).arg(mstrHostname)
                        .arg(tr("MAC address:")).arg(mstrMACaddress));
        mplblStsIcon->setToolTip(cstrToolTip);
        pgrdloStatus->addWidget(mplblStsIcon, 0, 0, 1, 2, Qt::AlignHCenter);
        pgrdloStatus->addWidget(mpsvgRxIcon, 1, 0, 1, 1, Qt::AlignLeft);
        pgrdloStatus->addWidget(mpsvgTxIcon, 1, 1, 1, 1, Qt::AlignRight);
        pgrdloStatus->setMargin(0);
        pgrdloStatus->setSpacing(0);
        return pgrdloStatus;
    

    The result:
    8ce2f5ce-c68d-4064-a4e7-c0e3f97ee65f-image.png
    What I actually want is:
    99d2e764-0816-42bf-90f0-76356b1ba7fa-image.png

    Kind Regards,
    Sy

    SPlattenS 1 Reply Last reply
    0
    • SPlattenS SPlatten

      I am using QGridLayout, the first row has a QLabel which is used to show an icon set to 32x32 pixels. The next row has two QSvgWidgets, each of these is 16x14.

      My code:

          QGridLayout* pgrdloStatus(new QGridLayout);
          if ( mplblStsIcon == nullptr )
          {
              mplblStsIcon = new QLabel();
          }  
          if ( mpsvgRxIcon == nullptr )
          {
              mpsvgRxIcon = new QSvgWidget(":/SVG_LED");
              mpsvgRxIcon->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
              mpsvgRxIcon->setFixedSize(TraineeMonitor::mscuintCommsIconWidth,
                                        TraineeMonitor::mscuintCommsIconHeight);
          }
          if ( mpsvgTxIcon == nullptr )
          {
              mpsvgTxIcon = new QSvgWidget(":/SVG_LED");
              mpsvgTxIcon->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
              mpsvgTxIcon->setFixedSize(TraineeMonitor::mscuintCommsIconWidth,
                                        TraineeMonitor::mscuintCommsIconHeight);
          }
          const QString cstrToolTip(QString(
                  "   %1: %2\r\n%3: %4")
                          .arg(tr("Hostname:")).arg(mstrHostname)
                          .arg(tr("MAC address:")).arg(mstrMACaddress));
          mplblStsIcon->setToolTip(cstrToolTip);
          pgrdloStatus->addWidget(mplblStsIcon, 0, 0, 1, 2, Qt::AlignHCenter);
          pgrdloStatus->addWidget(mpsvgRxIcon, 1, 0, 1, 1, Qt::AlignLeft);
          pgrdloStatus->addWidget(mpsvgTxIcon, 1, 1, 1, 1, Qt::AlignRight);
          pgrdloStatus->setMargin(0);
          pgrdloStatus->setSpacing(0);
          return pgrdloStatus;
      

      The result:
      8ce2f5ce-c68d-4064-a4e7-c0e3f97ee65f-image.png
      What I actually want is:
      99d2e764-0816-42bf-90f0-76356b1ba7fa-image.png

      SPlattenS Offline
      SPlattenS Offline
      SPlatten
      wrote on last edited by
      #2

      @SPlatten , solution was to flip alignments:

          pgrdloStatus->addWidget(mpsvgRxIcon, 1, 0, 1, 1, Qt::AlignRight);
          pgrdloStatus->addWidget(mpsvgTxIcon, 1, 1, 1, 1, Qt::AlignLeft);
      

      Kind Regards,
      Sy

      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