×
Namespaces

Variants
Actions
(Difference between revisions)

Archived:Como usar um QStackedLayout

From Nokia Developer Wiki
Jump to: navigation, search
hamishwillee (Talk | contribs)
m (Hamishwillee - Bot update)
hamishwillee (Talk | contribs)
m (Hamishwillee - Add Abstract. Tidy wiki text)
Line 1: Line 1:
 +
[[Category:Lang-Portuguese]][[Category:QWidget UI]][[Category:Code Snippet]][[Category:MeeGo]][[Category:Symbian]]
 +
{{Abstract|Este trecho de código, demonstra como utilizar o ''stacked layout'' em [[Qt (Portuguese)|Qt]]. A classe QStackedLayout provêr uma pilha de widgets, onde apenas um widget é visível por vez.}}
 
{{Archived|language=Lang-Portuguese|timestamp=20120216050340|user=[[User:Hamishwillee|<br />----]]|[[:Category:Qt Quick|Qt Quick]] should be used for all UI development on mobile devices. The approach described in this article (based on {{Qapiname|QWidget}}) is deprecated.}}
 
{{Archived|language=Lang-Portuguese|timestamp=20120216050340|user=[[User:Hamishwillee|<br />----]]|[[:Category:Qt Quick|Qt Quick]] should be used for all UI development on mobile devices. The approach described in this article (based on {{Qapiname|QWidget}}) is deprecated.}}
[[Category:Lang-Portuguese]]
+
 
[[Category:QWidget UI]]
+
[[Category:Code Snippet]]
+
__NOTOC__
+
__NOEDITSECTION__
+
 
{{ArticleMetaData <!-- v1.2 -->
 
{{ArticleMetaData <!-- v1.2 -->
 
|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]]) -->
Line 26: Line 24:
 
|creationdate= 20090913
 
|creationdate= 20090913
 
|author= [[User:James1980]]
 
|author= [[User:James1980]]
<!-- The following are not in current metadata -->
 
|subcategory= Layout
 
 
}}
 
}}
 
 
==Introdução==
 
 
Este trecho de código, demonstra como utilizar o ''stacked layout'' em [[Qt overview|Qt]]. 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 segundo as instruções [[Qt (Portuguese)|deste artigo]].
 
  
 
== Funcionalidades ==
 
== Funcionalidades ==
Line 142: Line 129:
 
[[File:stacked1.jpg]]
 
[[File:stacked1.jpg]]
  
[[File:stacked2.jpg]][[Category:MeeGo]] [[Category:Symbian]]
+
[[File:stacked2.jpg]]  
 
<!-- Translation --> [[en:How to use QStackedLayout in Qt]]
 
<!-- Translation --> [[en:How to use QStackedLayout in Qt]]

Revision as of 08:57, 16 February 2012

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

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.

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 james1980
Última alteração feita por hamishwillee em 16 Feb 2012

Contents

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

86 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×