Development/Tutorials/Using KXmlGuiWindow (pt BR): Difference between revisions

From KDE TechBase
No edit summary
No edit summary
Line 6: Line 6:
name=Como usar o KXmlGuiWindow|
name=Como usar o KXmlGuiWindow|


pre=[[Development/Tutorials/First_program|Tutorial 1 - Hello World]]|
pre=[[Development/Tutorials/First_program|Tutorial 1 - Alô Mundo]]|


next=[[Development/Tutorials/Using_KActions|Tutorial 3 - KActions e XMLGUI]]|  
next=[[Development/Tutorials/Using_KActions|Tutorial 3 - KActions e XMLGUI]]|  
Line 14: Line 14:


==Resumo==
==Resumo==
This tutorial carries on from [[Development/Tutorials/First_program|First Program Tutorial]] and will introduce the {{class|KXmlGuiWindow}} class.
Este tutorial dá continuidade ao [[Development/Tutorials/First_program|First Program Tutorial]] e introduzirá a classe {{class|KXmlGuiWindow}}.


No tutorial anterior, o programa criava uma caixa de diálogo pop up, mas nós agora iremos andar alguns passos em direção ao funcionamento de uma aplicação.
No tutorial anterior, o programa criava uma caixa de diálogo pop up, mas nós agora iremos andar alguns passos em direção ao funcionamento de uma aplicação.

Revision as of 21:05, 27 November 2008


Development/Tutorials/Using_KXmlGuiWindow

Como usar o KXmlGuiWindow
Tutorial Series   Tutorial para iniciantes
Previous   Tutorial 1 - Alô Mundo
What's Next   Tutorial 3 - KActions e XMLGUI
Further Reading   KXmlGuiWindow

Resumo

Este tutorial dá continuidade ao First Program Tutorial e introduzirá a classe KXmlGuiWindow.

No tutorial anterior, o programa criava uma caixa de diálogo pop up, mas nós agora iremos andar alguns passos em direção ao funcionamento de uma aplicação.

KXmlGuiWindow

KXmlGuiWindow fornece a visão de uma janela principal inteira com barra de menus, barra de ferramentas, uma barra de status e uma área no centro para um widget grande. Muitas aplicações KDE derivam desta classe já que ela fornece um jeito fácil de definir o layout do menu e barra de ferramentas através de arquivos XML (esta tecnologia é chamada de XMLGUI). Por enquanto não usaremos o XMLGUI neste tutorial, mas nós o usaremos no próximo.

In order to have a useful KXmlGuiWindow, we must subclass it. So we create two files, a mainwindow.cpp and a mainwindow.h which will contain our code.

mainwindow.h

  1. ifndef MAINWINDOW_H
  2. define MAINWINDOW_H
  1. include <KXmlGuiWindow>
  2. include <KTextEdit>

class MainWindow : public KXmlGuiWindow {

 public:
   MainWindow(QWidget *parent=0);
 private:
   KTextEdit* textArea;

};

  1. endif

First we Subclass KXmlGuiWindow on line 7 with class MainWindow : public KXmlGuiWindow.

Então nós declaramos o construtor com MainWindow(QWidget *parent=0);.

And finally we declare a pointer to the object that will make up the bulk of our program. KTextEdit is a generic richtext editor with some KDE niceties like cursor auto-hiding.

mainwindow.cpp

  1. include "mainwindow.h"

MainWindow::MainWindow(QWidget *parent) : KXmlGuiWindow(parent) {

 textArea = new KTextEdit();
 setCentralWidget(textArea);
 setupGUI();

} Primeiro, é claro, na linha 1 nós temos que incluir o arquivo de cabeçalho contendo a declaração da classe.

On line 5, we initialise our text editor with an object. Then on line 6 we use KXmlGuiWindow's built-in setCentralWidget() function which tells the KXmlGuiWindow what should appear in the central section of the window.

Finalmente, KXmlGuiWindow::setupGUI() é chamado, a qual faz várias coisas por-trás-dos-bastidores e cria a barra de menu padrão (Configurações, Ajuda).

Back to main.cpp

In order to actually run this window, we need to add a few lines in main.cpp:

main.cpp

  1. include <KApplication>
  2. include <KAboutData>
  3. include <KCmdLineArgs>
  1. include "mainwindow.h"

int main (int argc, char *argv[]) {

 KAboutData aboutData( "tutorial2", 0,
     ki18n("Tutorial 2"), "1.0",
     ki18n("A simple text area"),
     KAboutData::License_GPL,
     ki18n("Copyright (c) 2007 Developer") );
 KCmdLineArgs::init( argc, argv, &aboutData );
 
 KApplication app;

 MainWindow* window = new MainWindow();
 window->show();
 return app.exec();

} As únicas linhas novas aqui (comparadas com o Tutorial 1) são 5, 18 e 19. Na linha 18, nós criamos o nosso objeto MainWindow e então, na linha 19, nós a exibimos.

CMake

The best way to build the program is to use CMake. All that's changed since tutorial 1 is that mainwindow.cpp has been added to the sources list and any tutorial1 has become tutorial2.

CMakeLists.txt

project (tutorial2)

find_package(KDE4 REQUIRED) include_directories(${KDE4_INCLUDES})

set(tutorial2_SRCS

 main.cpp
 mainwindow.cpp

)

kde4_add_executable(tutorial2 ${tutorial2_SRCS}) target_link_libraries(tutorial2 ${KDE4_KDEUI_LIBS})

Compile it

To compile, link and run it, use:

mkdir build && cd build
cmake ..
make
./tutorial2

Moving On

Now you can move on to using KActions.