Bug no meu Layout



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



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



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



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



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


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



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


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.