Development/Tutorials/Using KXmlGuiWindow (csb): Difference between revisions
No edit summary |
No edit summary |
||
(3 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
{{TutorialBrowser| | {{TutorialBrowser| | ||
Line 27: | Line 27: | ||
===mainwindow.h=== | ===mainwindow.h=== | ||
< | <syntaxhighlight lang="cpp-qt" line> | ||
#ifndef MAINWINDOW_H | #ifndef MAINWINDOW_H | ||
#define MAINWINDOW_H | #define MAINWINDOW_H | ||
Line 44: | Line 44: | ||
#endif | #endif | ||
</ | </syntaxhighlight> | ||
Przódë më zrobilë pòdklasã KXmlGuiWindow réze 7 w <tt>class MainWindow : public KXmlGuiWindow</tt>. | Przódë më zrobilë pòdklasã KXmlGuiWindow réze 7 w <tt>class MainWindow : public KXmlGuiWindow</tt>. | ||
Line 52: | Line 52: | ||
===mainwindow.cpp=== | ===mainwindow.cpp=== | ||
< | <syntaxhighlight lang="cpp-qt" line> | ||
#include "mainwindow.h" | #include "mainwindow.h" | ||
Line 61: | Line 61: | ||
setupGUI(); | setupGUI(); | ||
} | } | ||
</ | </syntaxhighlight> | ||
W pierszi réze mùszimë dodac nagłówkòwi lopk zamëkający w se deklaracëjã klasë. | W pierszi réze mùszimë dodac nagłówkòwi lopk zamëkający w se deklaracëjã klasë. | ||
Line 71: | Line 71: | ||
Żebë rëszëc ókno, nót je dodac czile rézów w main.cpp: | Żebë rëszëc ókno, nót je dodac czile rézów w main.cpp: | ||
===main.cpp=== | ===main.cpp=== | ||
< | <syntaxhighlight lang="cpp-qt" line> | ||
#include <KApplication> | #include <KApplication> | ||
#include <KAboutData> | #include <KAboutData> | ||
Line 94: | Line 94: | ||
return app.exec(); | return app.exec(); | ||
} | } | ||
</ | </syntaxhighlight> | ||
Nowé rézë tuwò (w przërównanim do Ùczbë 1) to 5, 18 ë 19. W réze 18 ùsadzamë nasz òbiekt MainWindow a w 19 wëskrzëniwómë gò. | Nowé rézë tuwò (w przërównanim do Ùczbë 1) to 5, 18 ë 19. W réze 18 ùsadzamë nasz òbiekt MainWindow a w 19 wëskrzëniwómë gò. | ||
Line 100: | Line 100: | ||
Nôlepi zbòdowac programã brëkùjąc CMake. Wszëtkò co je zmienioné w przërównanim do pierszi ùczbë to to, że <tt>mainwindow.cpp</tt> òstało dodóné do lëstë zdrojów a téż nôdpis <tt>tutorial1</tt> to terô <tt>tutorial2</tt>. | Nôlepi zbòdowac programã brëkùjąc CMake. Wszëtkò co je zmienioné w przërównanim do pierszi ùczbë to to, że <tt>mainwindow.cpp</tt> òstało dodóné do lëstë zdrojów a téż nôdpis <tt>tutorial1</tt> to terô <tt>tutorial2</tt>. | ||
===CMakeLists.txt=== | ===CMakeLists.txt=== | ||
< | <syntaxhighlight lang="ini" line> | ||
project (tutorial2) | project (tutorial2) | ||
Line 113: | Line 113: | ||
kde4_add_executable(tutorial2 ${tutorial2_SRCS}) | kde4_add_executable(tutorial2 ${tutorial2_SRCS}) | ||
target_link_libraries(tutorial2 ${KDE4_KDEUI_LIBS}) | target_link_libraries(tutorial2 ${KDE4_KDEUI_LIBS}) | ||
</ | </syntaxhighlight> | ||
===Kòmpilacëjô=== | ===Kòmpilacëjô=== |
Latest revision as of 13:10, 18 July 2012
Tutorial Series | Spòdlowi ùczbòwnik |
Previous | Ùczba 1 - Witôj swiece |
What's Next | Ùczba 3 - KActions ë XMLGUI |
Further Reading | KXmlGuiWindow |
Òpis
Nen ùczbòwnik je kòntinuacją negò First Program Tutorial ë wprowadzô klasã KXmlGuiWindow.
W pòprzédnym ùczbòwnikù, programa wëskrzëniwała dialogòwi òkno, ale terô më chcemë jic kąsk dali do fùnkcjonujący aplikacëji.
KXmlGuiWindow
KXmlGuiWindow dotëgòwùje fùl widok przédnégò òkna z lëstwą menu, nôrządzów ë statusa a téż przédnym placã w centróm dlô wiôldżégò widżetu. Wiele aplikacëjów wëdostôwô z ti klasë, ga na prosti ôrt definiëje òna widok menu, lëstwë nôrzãdzów lopkach XML (na technologija zwóna je XMLGUI). Nie mdzëmë brëkòwelë XMLGUI w tim ùczbòwnikù, ale pòznómë gò w jednym z pòstãpnëch.
Żebë miec jaczi pòżëtk z KXmlGuiWindow mùszimëzrobic ji pòdklasã. Dlôtë téż ùsôdzoné mómë dwa lopczi: mainwindow.cpp ë mainwindow.h z taczim kòdã.
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
Przódë më zrobilë pòdklasã KXmlGuiWindow réze 7 w class MainWindow : public KXmlGuiWindow.
Dali mómë zadeklarowóné kònstruktor z MainWindow(QWidget *parent=0);.
Kù reszce, deklarëjemë wskazywôcz do òbiektu, jaczi je przédnym w naji programie. KTextEdit je wbùdowónëm bòkadnym, tekstowim editorã.
mainwindow.cpp
#include "mainwindow.h"
MainWindow::MainWindow(QWidget *parent) : KXmlGuiWindow(parent)
{
textArea = new KTextEdit();
setCentralWidget(textArea);
setupGUI();
}
W pierszi réze mùszimë dodac nagłówkòwi lopk zamëkający w se deklaracëjã klasë.
W piąti réze, jinicjalizëjemë nasz tekstowi editor z òbiektã. Dali w réze szósti brëkùjemë wbùdowóny fùnkcëji setCentralWidget() z KXmlGuiWindow jaka gôdô KXmlGuiWindow co mô wëskrzënic sã w cetralny sekcëji òkna.
Na kùńcu wëwòłónô je fùnkcëjô KXmlGuiWindow::setupGUI(), chtërna robi wiele dobri, ale niewidoczny robòtë ë ùsôdzô domëslną lëstwą menu (Ùstawë, Pòmòc).
Nazôd do main.cpp
Żebë rëszëc ókno, nót je dodac czile rézów w main.cpp:
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();
}
Nowé rézë tuwò (w przërównanim do Ùczbë 1) to 5, 18 ë 19. W réze 18 ùsadzamë nasz òbiekt MainWindow a w 19 wëskrzëniwómë gò.
CMake
Nôlepi zbòdowac programã brëkùjąc CMake. Wszëtkò co je zmienioné w przërównanim do pierszi ùczbë to to, że mainwindow.cpp òstało dodóné do lëstë zdrojów a téż nôdpis tutorial1 to terô 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òmpilacëjô
Abë skòmpilowac kòd, zlënkòwac ë zrëszëc, ùżëjë:
mkdir build && cd build cmake .. make ./tutorial2
Biéj dali
Terô mòżesz jic dali do ùżëcô KActions.