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

Bug no meu Layout

Scheduled Pinned Locked Moved Portuguese
8 Posts 2 Posters 2.7k 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