×
Namespaces

Variants
Actions
(Difference between revisions)

Archived:Como usar um QStackedLayout

From Nokia Developer Wiki
Jump to: navigation, search
hamishwillee (Talk | contribs)
m (Hamishwillee - Automated change of category from Lang-PT to Unlikely Category. (Moving))
hamishwillee (Talk | contribs)
m (Hamishwillee - Bot update of Template:ArticleMetaData)
Line 2: Line 2:
 
[[Category:Qt]]
 
[[Category:Qt]]
 
[[Category:Code Examples]]
 
[[Category:Code Examples]]
Original em: [[How to use QStackedLayout?]]
 
 
__NOTOC__
 
__NOTOC__
 
__NOEDITSECTION__
 
__NOEDITSECTION__
 
{{ArticleMetaData
 
{{ArticleMetaData
|id=...
 
|platform=S60 3rd Edition FP1, S60 3rd Edition FP2, S60 5th Edition
 
|devices= Emulator
 
|category=Qt for Symbian
 
|subcategory=Layout
 
|creationdate=12 January 2009
 
|keywords=QStackedLayout
 
 
 
|sourcecode= <!-- Link to example source code (e.g. [[Media:The Code Example ZIP.zip]]) -->
 
|sourcecode= <!-- Link to example source code (e.g. [[Media:The Code Example ZIP.zip]]) -->
 
|installfile= <!-- Link to installation file (e.g. [[Media:The Installation File.sis]]) -->
 
|installfile= <!-- Link to installation file (e.g. [[Media:The Installation File.sis]]) -->
 +
|devices= Emulator
 
|sdk=<!-- SDK(s) built and tested against (e.g. [http://linktosdkdownload/ Nokia Qt SDK 1.1]) -->
 
|sdk=<!-- SDK(s) built and tested against (e.g. [http://linktosdkdownload/ Nokia Qt SDK 1.1]) -->
 +
|platform=S60 3rd Edition FP1, S60 3rd Edition FP2, S60 5th Edition
 
|devicecompatability=<!-- Compatible devices (e.g.: All* (must have GPS) ) -->
 
|devicecompatability=<!-- Compatible devices (e.g.: All* (must have GPS) ) -->
 +
|dependencies= <!-- Any other/external dependencies e.g.: Google Maps Api v1.0 -->
 
|signing=<!-- Empty or one of Self-Signed, DevCert, Manufacturer -->
 
|signing=<!-- Empty or one of Self-Signed, DevCert, Manufacturer -->
 
|capabilities=<!-- Capabilities required (e.g. Location, NetworkServices.) -->
 
|capabilities=<!-- Capabilities required (e.g. Location, NetworkServices.) -->
|author=[[User:Valderind4]]
+
|keywords=QStackedLayout
 +
|id=...
 +
|language=Lang-Portuguese
 +
|translated-by=[[User:Valderind4]]
 +
|translated-from-title=How to use QStackedLayout in Qt
 +
|translated-from-id=61190 <!-- automated guess -->
 +
|review-by=<!-- After re-review: [[User:username]] -->
 +
|review-timestamp= <!-- After re-review: YYYYMMDD -->
 +
|update-by= <!-- After significant update: [[User:username]]-->
 +
|update-timestamp= <!-- After significant update: YYYYMMDD -->
 +
|creationdate=20090913
 +
|author=[[User:James1980]]
 +
 
 +
<!-- The following items are not in the standard metadata template -->
 +
|category=Qt for Symbian
 +
|subcategory=Layout
 
}}
 
}}
  
Line 136: Line 145:
  
 
[[Image:stacked2.jpg]]
 
[[Image:stacked2.jpg]]
 +
<!-- Translation --> [[en:How to use QStackedLayout in Qt]]

Revision as of 02:26, 19 December 2011


Article Metadata

Testado com
Aparelho(s): Emulator

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

Artigo
Palavras-chave: QStackedLayout
Tradução:
Por valderind4
Última alteração feita por hamishwillee em 19 Dec 2011


Introdução

Este trecho de código, demonstra como utilizar o stacked layout em Qt para Symbian. A classe QStackedLayout provêr uma pilha de widgets, onde apenas um widget é visível por vez.

Pré-requisitos

  • Baixe e instale a versão atual do Qt para Symbian segundo as instruções deste artigo.

Funcionalidades

  • Esta propriedade, determina o modo de visibilidade dos widgets filho que são manipulados.
stackedLayout->setStackingMode(QStackedLayout::StackAll);

Laayout.PNG

Código fonte

#include "stacked.h"
 
stacked::stacked(QWidget *parent)
: QWidget(parent)
{
firstPageWidget = new QWidget(this);
secondPageWidget = new QWidget(this);
thirdPageWidget = new QWidget(this);
label1 = new QLabel("page1",this);
label2 = new QLabel("page2",this);
label3 = new QLabel("page3",this);
Layout1 = new QVBoxLayout(this);
Layout2 = new QVBoxLayout(this);
Layout3 = new QVBoxLayout(this);
Layout1->addWidget(label1);
Layout2->addWidget(label2);
Layout3->addWidget(label3);
firstPageWidget ->setLayout(Layout1);
secondPageWidget ->setLayout(Layout2);
thirdPageWidget ->setLayout(Layout3);
stackedLayout = new QStackedLayout;
stackedLayout->addWidget(firstPageWidget);
stackedLayout->addWidget(secondPageWidget);
stackedLayout->addWidget(thirdPageWidget);
 
mainLayout = new QVBoxLayout;
pageComboBox = new QComboBox;
pageComboBox->addItem(tr("Page 1"));
pageComboBox->addItem(tr("Page 2"));
pageComboBox->addItem(tr("Page 3"));
connect(pageComboBox, SIGNAL(activated(int)),stackedLayout, SLOT(setCurrentIndex(int)));
mainLayout->addWidget(pageComboBox);
mainLayout->addLayout(stackedLayout);
setLayout(mainLayout);
 
}
 
stacked::~stacked()
{
// No need to delete any object that has a parent which is properly deleted.
 
}

Cabeçalho do arquivo

#ifndef STACKED_H
#define STACKED_H
#include <QLabel>
#include <QtGui/QWidget>
#include "ui_stacked.h"
#include <QVBoxLayout>
#include <QStackedLayout>
#include <QComboBox>
class stacked : public QWidget
{
Q_OBJECT
 
public:
stacked(QWidget *parent = 0);
~stacked();
 
private:
QLabel* label1;
QLabel* label2;
QLabel* label3;
QWidget* firstPageWidget;
QWidget* secondPageWidget;
QWidget* thirdPageWidget;
QComboBox* pageComboBox;
QStackedLayout* stackedLayout;
QVBoxLayout* mainLayout;
QVBoxLayout* Layout1;
QVBoxLayout* Layout2;
QVBoxLayout* Layout3;
 
};
 
#endif // STACKED_H

Descrição

  • Neste exemplo, três janelas são criados e são organizadas na pilha. Muto embora, apenas uma janela por vez, é visível. Uma combobox é usada para controlar a tela. Através da mudança no combobox, a janela visível pode ser mudada.

Captura de tela

Stacked1.jpg

Stacked2.jpg

174 page views in the last 30 days.
×