Development/Tutorials/Using KXmlGuiWindow (fi)

< Development‎ | Tutorials
Revision as of 10:44, 15 July 2012 by AnneW (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Opas 2 - Main-ikkunan luonti
Tutorial Series   Beginner Tutorial
Previous   Opas 1 - Hei maailma!
What's Next   Opas 3 - KActions ja XMLGUI
Further Reading   KXmlGuiWindow

Contents

Lyhyesti

Tämä perehdytys jatkaa Hei Maailma-oppaasta ja tutustuttaa Main-ikkunan luomiseen KXmlGuiWindow-luokan avulla.

Edellisessä oppaassa käytimme ikkunan luomiseksi pop-up-ikkunan tyylistä valintaikkunaa. Nyt on tarkoitus siirtyä askel lähemmäksi käyttökelpoista ohjelmaa.

Introtokdetutorial2.png

Main-ikkuna

KXmlGuiWindow-luokka tuottaa oikean Main-ikkunan, valikko-, työkalu- ja tilariveineen sekä tarjoaa keskelle tilan suurelle vimpaimelle (widget). Suurin osa KDE:n ohjelmista on sovellettu tästä luokasta. KXmlGuiWindow-luokka tarjoaa yksinkertaisen tavan määritellä valikko- ja työkalurivit halutunlaisiksi XML-tiedostojen avulla (tämä tekniikka on nimeltään XMLGUI). Tässä oppaassa emme vielä käytä XMLGUI:ta, vaan jätämme sen seuraavaan.

Saadaksemme käyttökelpoisen Main-ikkunan on KXmlGuiWindow alaluokitettava. Siksi luomme kaksi tiedostoa, mainwindow.cpp sekä mainwindow.h, joihin alla oleva koodi sijoitetaan.

mainwindow.h

  1. #ifndef MAINWINDOW_H
  2. #define MAINWINDOW_H
  3.  
  4. #include <KXmlGuiWindow>
  5. #include <KTextEdit>
  6.  
  7. class MainWindow : public KXmlGuiWindow
  8. {
  9.   public:
  10.     MainWindow(QWidget *parent=0);
  11.  
  12.   private:
  13.     KTextEdit* textArea;
  14. };
  15.  
  16. #endif

Ensin teemme KXmlGuiWindow-luokasta aliluokan rivillä 7: class MainWindow : public KXmlGuiWindow.

Seuraavaksi luomme muodostajan: MainWindow(QWidget *parent=0);.

Lopuksi luomme osoittimen, joka osoittaa objektiin, joka on pääosassa ohjelmaamme. KTextEdit on yleiskäyttöinen editori muotoiltua tekstiä varten. Siinä osaa muutamia KDE:n hienouksia, kuten automaattisen kohdistimen piilottamisen.

mainwindow.cpp

  1. #include "mainwindow.h"
  2.  
  3. MainWindow::MainWindow(QWidget *parent) : KXmlGuiWindow(parent)
  4. {
  5.   textArea = new KTextEdit();
  6.   setCentralWidget(textArea);
  7.   setupGUI();
  8. }

Ensiksi on tietenkin sisällytettävä otsaketiedosto, jossa mainwindow-luokka on esitelty.

Rivillä 5 osoitetaan textArea uuteen muotoillun tekstin editoriin. Seuraavaksi rivillä 6 kutsutaan KXmlGuiWindow-objektin sisäänrakennettua setCentralWidget()-funktiota, joka kertoo KXmlGuiWindow-objektille, että ikkunan keskialueella näytetään editori.

Lopuksi kutsutaan KXmlGuiWindow::setupGUI()-funktiota, joka huolehtii Main-ikkunan luomisessa tarvittavista asioista, sekä luo oletusvalikot (Asetukset, Ohje).

Jälleen kerrran - main.cpp

Saadaksemme Main-ikkunan käyttöön pitää vielä lisätä muutama rivi edellisen oppaan main.cpp-tiedostoon:

main.cpp

  1. #include <KApplication>
  2. #include <KAboutData>
  3. #include <KCmdLineArgs>
  4.  
  5. #include "mainwindow.h"
  6.  
  7. int main (int argc, char *argv[])
  8. {
  9.   KAboutData aboutData( "tutorial2", 0,
  10.       ki18n("Tutorial 2"), "1.0",
  11.       ki18n("A simple text area"),
  12.       KAboutData::License_GPL,
  13.       ki18n("Copyright (c) 2007 Developer") );
  14.   KCmdLineArgs::init( argc, argv, &aboutData );
  15.  
  16.   KApplication app;
  17.  
  18.   MainWindow* window = new MainWindow();
  19.   window->show();
  20.  
  21.   return app.exec();
  22. }

Perehdytys 1 verrattuna uudet rivit ovat 5,18 ja 19. Rivillä 18 luomme MainWindow-objektin ja rivillä 19 se piirretään ruudulle.

CMake

Paras tapa kääntää ohjelma on käyttää CMakea. Ainoat muutokset oppaaseen 1 nähdeon on, että mainwindow.cpp on lisätty lähdekoodilistaan ja tutorial1 on muutettu tutorial2.

CMakeLists.txt

  1. project (tutorial2)
  2.  
  3. find_package(KDE4 REQUIRED)
  4. include_directories(${KDE4_INCLUDES})
  5.  
  6. set(tutorial2_SRCS 
  7.   main.cpp
  8.   mainwindow.cpp
  9. )
  10.  
  11. kde4_add_executable(tutorial2 ${tutorial2_SRCS})
  12. target_link_libraries(tutorial2 ${KDE4_KDEUI_LIBS})

Kääntäminen ja suoritus

Käännä, linkitä ja suorita seuraavasti:

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

Seuraavaksi

Seuraavaksi voit siirtyä kohtaan Perehdytys 3 - KActions ja XMLGUI.


This page was last modified on 15 July 2012, at 10:44. This page has been accessed 4,184 times. Content is available under Creative Commons License SA 3.0 as well as the GNU Free Documentation License 1.2.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal