Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Portuguese
  4. Bug no meu Layout
Qt 6.11 is out! See what's new in the release blog

Bug no meu Layout

Scheduled Pinned Locked Moved Portuguese
8 Posts 2 Posters 2.9k 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.
  • L Offline
    L Offline
    leandrogs
    wrote on last edited by
    #1

    Boa noite a todos! Estou desenvolvendo uma aplicação gráfica com Qt/C++ e estou refatorando todo o projeto pra otimizar o código e facilitar minha vida futuramente. O problema que estou tendo é, acredito eu, referente ao Layout que estou definindo no widget e na mainWindow. Segue o código para vocês verem +- o que estou fazendo:

    @#include "dengueme.h"
    #include "ui_dengueme.h"

    #include <QtGui>

    DengueME::DengueME(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::DengueME)
    {
    ui->setupUi(this);

    connect(this->ui->actionNew, SIGNAL(triggered()), this, SLOT(insertFrame()));
    

    }

    DengueME::~DengueME()
    {
    delete ui;
    }

    void DengueME::insertFrame()
    {
    Path *p = new Path();
    Path *p2 = new Path();
    Path *p3 = new Path();
    Path *p4 = new Path();
    Path *p5 = new Path();

    QVBoxLayout *Layout = new QVBoxLayout;
    
    Layout->addWidget(p);
    Layout->addWidget(p2);
    Layout->addWidget(p3);
    Layout->addWidget(p4);
    Layout->addWidget(p5);
    
    this->ui->scrollArea->setLayout(Layout);
    

    }@

    Na classe Path não tem nenhum código relevante pra interface, ela está toda definida pelo Designer Form. Agora segue o que está acontecendo:

    https://dl.dropbox.com/u/45191488/Untitled-1.jpg

    Eu chamei vários elementos iguais justamente para ver se o scroll iria funcionar, mas não funcionou :(

    Qualquer informação que precisarem pra me ajudar, só pedir!

    1 Reply Last reply
    0
    • R Offline
      R Offline
      Rodrigocg
      wrote on last edited by
      #2

      O que acontece quando você redimenciona a tela depois do resultado da imagem?

      1 Reply Last reply
      0
      • R Offline
        R Offline
        Rodrigocg
        wrote on last edited by
        #3

        VE SE AJUDA:

        @ scrollAreaWidgetContents = new QWidget();
        scrollAreaWidgetContents->setObjectName(QString::fromUtf8("scrollAreaWidgetContents"));
        scrollAreaWidgetContents->setGeometry(QRect(0, 0, 380, 161));
        pushButton_3 = new QPushButton(scrollAreaWidgetContents);

            pushButton_2 = new QPushButton(scrollAreaWidgetContents);
            pushButton = new QPushButton(scrollAreaWidgetContents);
            scrollArea = new QScrollArea(centralWidget);
            scrollArea->setObjectName(QString::fromUtf8("scrollArea"));
            scrollArea->setWidgetResizable(true);
            scrollArea->setWidget(scrollAreaWidgetContents);@
        
        1 Reply Last reply
        0
        • L Offline
          L Offline
          leandrogs
          wrote on last edited by
          #4

          [quote author="Rodrigocg" date="1363222295"]O que acontece quando você redimenciona a tela depois do resultado da imagem?[/quote]

          Quando aumento o tamanho da tela, aparece normal... se eu diminuir, fica tudo um em cima do outro...

          1 Reply Last reply
          0
          • L Offline
            L Offline
            leandrogs
            wrote on last edited by
            #5

            [quote author="Rodrigocg" date="1363223053"]VE SE AJUDA:

            @ scrollAreaWidgetContents = new QWidget();
            scrollAreaWidgetContents->setObjectName(QString::fromUtf8("scrollAreaWidgetContents"));
            scrollAreaWidgetContents->setGeometry(QRect(0, 0, 380, 161));
            pushButton_3 = new QPushButton(scrollAreaWidgetContents);

                pushButton_2 = new QPushButton(scrollAreaWidgetContents);
                pushButton = new QPushButton(scrollAreaWidgetContents);
                scrollArea = new QScrollArea(centralWidget);
                scrollArea->setObjectName(QString::fromUtf8("scrollArea"));
                scrollArea->setWidgetResizable(true);
                scrollArea->setWidget(scrollAreaWidgetContents);@[/quote]
            

            Daqui a pouco testo seu código e posto o resultado.

            1 Reply Last reply
            0
            • L Offline
              L Offline
              leandrogs
              wrote on last edited by
              #6

              Esse seu código não funcionou. Primeiro ele me gerou vários warnings por terem variáveis que não são utilizadas e segundo que todos os elementos inseridos ficaram exatamente um atrás do outro.
              [quote author="Rodrigocg" date="1363223053"]VE SE AJUDA:

              @ scrollAreaWidgetContents = new QWidget();
              scrollAreaWidgetContents->setObjectName(QString::fromUtf8("scrollAreaWidgetContents"));
              scrollAreaWidgetContents->setGeometry(QRect(0, 0, 380, 161));
              pushButton_3 = new QPushButton(scrollAreaWidgetContents);

                  pushButton_2 = new QPushButton(scrollAreaWidgetContents);
                  pushButton = new QPushButton(scrollAreaWidgetContents);
                  scrollArea = new QScrollArea(centralWidget);
                  scrollArea->setObjectName(QString::fromUtf8("scrollArea"));
                  scrollArea->setWidgetResizable(true);
                  scrollArea->setWidget(scrollAreaWidgetContents);@[/quote]
              
              1 Reply Last reply
              0
              • R Offline
                R Offline
                Rodrigocg
                wrote on last edited by
                #7

                ok, vou testar seu codigo hoje a noite e te respondo...

                1 Reply Last reply
                0
                • L Offline
                  L Offline
                  leandrogs
                  wrote on last edited by
                  #8

                  Resolvi aqui. Só acrescentei isso:
                  @QWidget *w = new QWidget();
                  w->setLayout(Layout);
                  this->ui->scrollArea->setWidget(w);@
                  [quote author="Rodrigocg" date="1363381902"]ok, vou testar seu codigo hoje a noite e te respondo...[/quote]

                  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