Development/Tutorials/Using KXmlGuiWindow (fi): Difference between revisions
(→CMake) |
|||
Line 124: | Line 124: | ||
</code> | </code> | ||
== | ==Seuraavaksi== | ||
Seuraavaksi voit siirtyä kohtaan [[Development/Tutorials/Using_KActions|Perehdytys 3 - KActions ja XMLGUI]]. | |||
[[Category:C++]] | [[Category:C++]] |
Revision as of 11:47, 10 January 2008
Development/Tutorials/Using_KXmlGuiWindow
Languages: عربي | Asturianu | Català | Česky | Kaszëbsczi | Dansk | Deutsch | English | Esperanto | Español | Eesti | فارسی | Suomi | Français | Galego | Italiano | 日本語 | 한국어 | Norwegian | Polski | Português Brasileiro | Română | Русский | Svenska | Slovenčina | Slovenščina | српски | Türkçe | Tiếng Việt | Українська | 简体中文 | 繁體中文
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
- ifndef MAINWINDOW_H
- define MAINWINDOW_H
- include <KXmlGuiWindow>
- include <KTextEdit>
class MainWindow : public KXmlGuiWindow
{
public:
MainWindow(QWidget *parent=0);
private:
KTextEdit* textArea;
};
- 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
- 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
- include <KApplication>
- include <KAboutData>
- include <KCmdLineArgs>
- 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
Paras tapa kääntää ohjelma on käyttää CMakea. Ainoat muutokset Perehdytys 1 nähdeon on että mainwindow.cpp on lisätty lähdekoodilistaan ja tutorial1 on muutettu 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})
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.