KDE TechBase
  • Page
  • Discussion
  • Edit
  • History
KDE TechBase is a Wiki - You can help! Please contribute! Questions?
Please ask development related questions in the KDE Community Forum.

Development/Tutorials/Using KXmlGuiWindow (csb)

< Development | Tutorials

Languages: عربي | Asturianu | Català | Česky | Kaszëbsczi | Dansk | Deutsch | English | Esperanto | Español | فارسی | Suomi | Français | Galego | Italiano | 日本語 | 한국어 | Norwegian | Polski | Português Brasileiro | Română | Русский | Svenska | Slovenščina | српски | Українська | 简体中文 | 繁體中文

Jak brëkòwac KXmlGuiWindow
Tutorial Series   Spòdlowi ùczbòwnik
Prerequisites   Ùczba 1 - Witôj swiece
What's Next   Ùczba 3 - KActions ë XMLGUI
Further Reading   KXmlGuiWindow

Contents

  • 1 Òpis
  • 2 KXmlGuiWindow
    • 2.1 mainwindow.h
    • 2.2 mainwindow.cpp
  • 3 Nazôd do main.cpp
    • 3.1 main.cpp
  • 4 CMake
    • 4.1 CMakeLists.txt
    • 4.2 Kòmpilacëjô
  • 5 Biéj dali

[edit] Ò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.

[edit] 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ã.

[edit] 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

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

[edit] 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. }

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

[edit] Nazôd do main.cpp

Żebë rëszëc ókno, nót je dodac czile rézów w main.cpp:

[edit] 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. }

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

[edit] 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.

[edit] 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})

[edit] Kòmpilacëjô

Abë skòmpilowac kòd, zlënkòwac ë zrëszëc, ùżëjë:

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

[edit] Biéj dali

Terô mòżesz jic dali do ùżëcô KActions.

Retrieved from "http://techbase.kde.org/Development/Tutorials/Using_KXmlGuiWindow_(csb)"
Categories: Tutorial | C++

Navigation

  • Home
  • Help
  • Recent changes

Sections

  • Getting started
  • Development
  • Schedules
  • Policies
  • Contribute
  • Projects

Toolbox

  • What links here
  • Related changes
  • Special pages
  • Printable version
  • Permanent link

Personal tools

  • 38.107.191.97
  • Talk for this IP
  • Log in / create account
  • Login with OpenID
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