Development/Tutorials/Using KXmlGuiWindow (fi): Difference between revisions

From KDE TechBase
Line 66: Line 66:
Lopuksi kutsutaan KXmlGuiWindow::setupGUI()-funktiota joka huolehtii Main-ikkunan luomisessa tarvittavat asiat sekä luo oletusvalikot(Asetukset, Ohje).
Lopuksi kutsutaan KXmlGuiWindow::setupGUI()-funktiota joka huolehtii Main-ikkunan luomisessa tarvittavat asiat sekä luo oletusvalikot(Asetukset, Ohje).


==Back to main.cpp==
==Jälleen kerrran - main.cpp==
In order to actually run this window, we need to add a few lines in main.cpp:
Jotta saisimme otettua Main-ikkunan käyttöön, pitää lisätä muutama rivi edellisen perehdytyksen main.cpp-tiedostoon:
 
===main.cpp===
===main.cpp===
<code cppqt n>
<code cppqt n>
Line 93: Line 94:
}
}
</code>
</code>
The only new lines here (compared to Tutorial 1) are 5, 18 and 19. On line 18, we create our MainWindow object and then on line 19, we display it.
Perehdytys 1 verrattuna uudet rivit ovat 5,18 ja 19. Rivillä 18 luomme MainWindow-objektin ja rivillä 19 se piirretään ruudulle.


==CMake==
==CMake==

Revision as of 11:26, 10 January 2008


Development/Tutorials/Using_KXmlGuiWindow

Perehdytys 2 - Main-ikkunan luonti
Tutorial Series   Beginner Tutorial
Previous   Perehdytys 1 - Hei maailma!
What's Next   Tutorial 3 - KActions and XMLGUI
Further Reading   KXmlGuiWindow

Lyhyesti

Tämä perehdytys jatkaa Hei Maailma-perehdytyksestä perehdyttäen KXmlGuiWindow-luokan käyttöön Main-ikkunan luomiseksi.

Edellisessä perehdytyksessä käytimme ikkunan luomiseksi pop-up-ikkuna tyylistä valintaikkunaa mutta tässä on tarkoitus siirtyä askel lähemmäksi käyttökelpoista ohjelmaa.

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ä perehdytyksessä emme kumminkaan vielä käytä XMLGUI:ta, vaan jätämme sen seuraavaan.

Saadaksemme käyttökelpoisen Main-ikkunan, meidän tarvitsee alaluokittaa KXmlGuiWindow, joten luomme kaksi tiedostoa, mainwindow.cpp sekä mainwindow.h, joihin sijoitamme alla olevat koodit.

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

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

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

Ja lopuksi luomme osoittimen joka osoittaa objektiin joka on pääosassa ohjelmaamme. KTextEdit on yleinen richtext-editori muutamilla KDE:n hienouksilla, kuten automaattinen kursorin piilottaminen.

mainwindow.cpp

  1. include "mainwindow.h"

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

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

} Ensimmäisenä, tietenkin, meidän tarvitsee sisällyttää otsikkotiedosto jossa mainwindow-luokka on esitelty.

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

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

Jälleen kerrran - main.cpp

Jotta saisimme otettua Main-ikkunan käyttöön, pitää lisätä muutama rivi edellisen perehdytyksen main.cpp-tiedostoon:

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();

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

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.