Você está aqui: Qt ::: Classes, Controles e Componentes ::: QMainWindow |
Entendendo e usando a classe QMainWindow do Qt FrameworkQuantidade de visualizações: 7535 vezes |
A classe QMainWindow (que herda de QWidget) é usada para criar a janela principal de uma aplicação GUI no framework Qt. Em geral fazemos isso criando uma sub-classe (ou classe derivada) da classe QMainWindow. Veja o arquivo de cabeçalho (header file) para uma aplicação contendo uma janela principal do tipo QMainWindow:
#ifndef JANELAPRINCIPAL_H
#define JANELAPRINCIPAL_H
#include <QtGui/QMainWindow>
#include "ui_janelaprincipal.h"
class JanelaPrincipal : public QMainWindow
{
Q_OBJECT
public:
JanelaPrincipal(QWidget *parent = 0);
~JanelaPrincipal();
private:
Ui::JanelaPrincipalClass ui;
};
#endif // JANELAPRINCIPAL_H
A classe QMainWindow tem seu próprio layout, no qual podemos adicionar barras de ferramentas QToolBars, componentes que grudam nas bordas (QDockWidgets), uma barra de menus QMenuBar e uma barra de status QStatusBar. O layout possui uma área que pode ser ocupada por qualquer tipo de controle. Veja um trecho de código no qual mostro como alterar a largura e altura da janela principal (janelaprincipal.cpp):
JanelaPrincipal::JanelaPrincipal(QWidget *parent)
: QMainWindow(parent)
{
// vamos definir a largura e altura da janela
// largura: 400 pixels
// altura: 300 pixels
this->resize(400, 300);
}
O controle central de uma janela QMainWindow pode ser qualquer controle Qt, tal como um QTextEdit ou um QGraphicsView. É claro que se quisermos criar aplicações mais avançadas poderemos criar controles customizados e fornecê-los como componentes centrais da janela. Veja um trecho de código no qual adicionamos um controle QTextEdit como controle central da janela (por meio de uma chamada ao método setCentralWidget()):
JanelaPrincipal::JanelaPrincipal(QWidget *parent)
: QMainWindow(parent)
{
// vamos definir um QTextEdit como controle central da janela
editor = new QTextEdit();
this->setCentralWidget(editor);
}
É importante observar que o controle central de uma janela QMainWindow toma toda a área da janela e é redimensionado juntamente com esta. Além disso, janelas principais podem ser do tipo SDI (single Document Interface - Interface de Documento Único) ou MDI (Multiple Document Interface - Interface de Múltiplos Documentos). Criamos aplicações MDI em Qt usando um objeto da classe QMdiArea como o controle central da janela principal. |
|
|
Veja mais Dicas e truques de Qt |
Dicas e truques de outras linguagens |
|
JavaScript - Como elevar uma base a um determinado expoente usando o método pow() do objeto Math do JavaScript |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




