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

From KDE TechBase
(more in kashubian)
No edit summary
Line 2: Line 2:
{{TutorialBrowser|
{{TutorialBrowser|


series=Beginner Tutorial|
series=Spòdlowi ùczbòwnik|


name=How To Use KXmlGuiWindow|
name=Jak brëkòwac KXmlGuiWindow|


pre=[[Development/Tutorials/First_program|Tutorial 1 - Hello World]]|
pre=[[Development/Tutorials/First_program|Ùczba 1 - Witôj swiece]]|


next=[[Development/Tutorials/Using_KActions|Tutorial 3 - KActions and XMLGUI]]|  
next=[[Development/Tutorials/Using_KActions|Ùczba 3 - KActions ë XMLGUI]]|  


reading={{class|KXmlGuiWindow}}
reading={{class|KXmlGuiWindow}}
Line 62: Line 62:
}
}
</code>
</code>
First, of course, on line 1 we have to include the header file containing the class declaration.
W pierszi réze mùszimë dodac nagłówkòwi lopk zamëkający w se deklaracëjã klasë.


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.
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.


Finally, KXmlGuiWindow::setupGUI() is called which does a lot of behind-the-scenes stuff and creates the default menu bars (Settings, Help).
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).


==Back to main.cpp==
==Nazôd do main.cpp==
In order to actually run this window, we need to add a few lines in main.cpp:
Żebë rëszëc ókno, nót je dodac czile rézów w main.cpp:
===main.cpp===
===main.cpp===
<code cppqt n>
<code cppqt n>
Line 95: Line 95:
}
}
</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.
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==
==CMake==
The best way to build the program is to use CMake. All that's changed since tutorial 1 is that <tt>mainwindow.cpp</tt> has been added to the sources list and any <tt>tutorial1</tt> has become <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===
<code ini n>
<code ini n>
Line 115: Line 115:
</code>
</code>


===Compile it===
===Kòmpilacëjô===
To compile, link and run it, use:
Abë skòmpilowac kòd, zlënkòwac ë zrëszëc, ùżëjë:
  mkdir build && cd build
  mkdir build && cd build
  cmake ..
  cmake ..
Line 122: Line 122:
  ./tutorial2
  ./tutorial2


==Moving On==
==Biéj dali==
Now you can move on to [[Development/Tutorials/Using_KActions|using KActions]].
Terô mòżesz jic dali do [[Development/Tutorials/Using_KActions|ùżëcô KActions]].


[[Category:C++]]
[[Category:C++]]

Revision as of 16:36, 17 June 2009


Development/Tutorials/Using_KXmlGuiWindow

Jak brëkòwac KXmlGuiWindow
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

  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

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

  1. 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

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

} 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.