×
Namespaces

Variants
Actions

Archived:Implementando uma pilha de Widget (QStackedWidget)

From Nokia Developer Wiki
Jump to: navigation, search

Archived.pngAquivado: Este artigo foi arquivado, pois o conteúdo não é mais considerado relevante para se criar soluções comerciais atuais. Se você achar que este artigo ainda é importante, inclua o template {{ForArchiveReview|escreva a sua justificativa}}.

Qt Quick should be used for all UI development on mobile devices. The approach described in this article (based on QWidget) is deprecated.

A classe QStackedWidget provê uma pilha de Widgets, onde apenas um está visível de cada vez. QStackedWidget não dispõe de meios intrísicos para o usuário mudar a página.

Article Metadata

Testado com
Aparelho(s): S60 Emulator

Compatibilidade
Plataforma(s): S60 3rd Edition, FP1, FP2
S60 5th Edition
Symbian

Artigo
Palavras-chave: QStackedWidget
Tradução:
Por valderind4
Última alteração feita por hamishwillee em 11 Oct 2012

Contents

Código fonte

Cabeçalhos de arquivo

#ifndef STACK_H
#define STACK_H
 
#include <QtGui/QWidget>
#include<QWidget>
#include<QStackedWidget>
#include<QComboBox>
#include<QVBoxLayout>
#include<QPushButton>
class stack : public QWidget
{
Q_OBJECT
 
public:
stack(QWidget *parent = 0);
~stack();
 
private:
QPushButton *but;
QPushButton *but1;
QPushButton *but2;
QVBoxLayout *lay;
QVBoxLayout *lay1;
QVBoxLayout *lay2;
};
 
#endif // STACK_H

Código fonte

#include "stack.h"
stack::stack(QWidget *parent)
: QWidget(parent)
{
setStyleSheet("* { background-color:rgb(190,88,88);color:rgb(255,255,255); padding: 7px }}");
 
QWidget *firstPageWidget = new QWidget(this);//Primeiro Widget
lay=new QVBoxLayout(this);
but=new QPushButton("First Widget",this);
lay->addWidget(but);
firstPageWidget->setLayout(lay);
 
QWidget *secondPageWidget = new QWidget(this);//Segundo Widget
lay1=new QVBoxLayout(this);
but1=new QPushButton("second Widget",this);
lay1->addWidget(but1);
secondPageWidget->setLayout(lay1);
 
 
QWidget *thirdPageWidget = new QWidget(this);//Terceiro Widget
lay2=new QVBoxLayout(this);
but2=new QPushButton("Third Widget",this);
lay2->addWidget(but2);
thirdPageWidget->setLayout(lay2);
 
 
QComboBox *pageComboBox = new QComboBox(this);
QStackedWidget *stackedWidget = new QStackedWidget(this);
stackedWidget->addWidget(firstPageWidget);
stackedWidget->addWidget(secondPageWidget);
stackedWidget->addWidget(thirdPageWidget);
 
 
pageComboBox->addItem(tr("Page 1"));
pageComboBox->addItem(tr("Page 2"));
pageComboBox->addItem(tr("Page 3"));
connect(pageComboBox, SIGNAL(activated(int)),stackedWidget, SLOT(setCurrentIndex(int)));
 
QVBoxLayout *layout = new QVBoxLayout(this);
 
layout->addWidget(stackedWidget);
layout->addWidget(pageComboBox);
setLayout(layout);
}
 
stack::~stack()
{
// Não é necessário deletar qualquer objeto que possui um parente que foi deletado normalmente.
}

Captura de tela

Stackwin.JPG

Stackwind.JPG

Links relacionados

Archived:Como usar um QStackedLayout

This page was last modified on 11 October 2012, at 04:14.
206 page views in the last 30 days.