KDE TechBase
  • Page
  • Discussion
  • Edit
  • History
KDE TechBase is a Wiki - You can help! Please contribute! Questions?

Development/Tutorials/Using KXmlGuiWindow (ru)

< Development | Tutorials

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

Использование KXmlGuiWindow
Tutorial Series   Beginner Tutorial
Prerequisites   Урок 1 - Hello World
What's Next   Урок 3 - KAction и XmlGui
Further Reading   KXmlGuiWindow

Contents

  • 1 Введение
  • 2 Использование KXmlGuiWindow
    • 2.1 mainwindow.h
    • 2.2 mainwindow.cpp
  • 3 Создание main.cpp
    • 3.1 main.cpp
  • 4 CMake
    • 4.1 CMakeLists.txt
    • 4.2 Компиляция
  • 5 Продолжим изучение

[edit] Введение

Это продолжение урока по созданию первой программы, здесь представлена базовая информация по классу KXmlGuiWindow.

В предыдущем уроке рассказывалось как создать всплывающее диалоговое окно, теперь мы сделаем первые шаги по созданию полноценного функционального приложения.

[edit] Использование KXmlGuiWindow

Чтобы получить пользу on KXmlGuiWindow, следует создать производный от него класс. Наш код находится в двух файлах: mainwindow.cpp и mainwindow.h. Класс KXmlGuiWindow выбран базовым, так как с помощью него можно использовать XML, например, чтобы определить структуру меню нашего приложения.

[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. private:
  12. KTextEdit* textArea;
  13. };
  14.  
  15. #endif

Сначала в строке 7 мы объявляем производный от KXmlGuiWindow класс: class MainWindow : public KXmlGuiWindow, а затем - конструктор MainWindow(QWidget *parent=0);.

И наконец, объявляем указатель на объект, который станет главной частью нашей программы. KTextEdit является базовым редактором текста в формате richtext, поддерживающем некоторые вкусности KDE, как, например, автоматическое скрытие курсора.

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

Сначала, конечно же, в строке 1 мы включаем заголовочный файл, содержащий объявление класса.

В строке 5 создаётся объект нашего текстового редактора. Затем в строке 6 мы используем встроенную функцию setCentralWidget(), указывающую KXmlGuiWindow, что должно находиться в центральной секции нашего окна.

Наконец, вызывается функция KXmlGuiWindow::setupGUI(), фоново выполняющая много различных действий по инициализации GUI и создающая панель меню по умолчанию (Settings, Help).


[edit] Создание main.cpp

Чтобы завершить создание приложение, нужно написать пару строк в 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. KApplication app;
  16.  
  17. MainWindow* window = new MainWindow();
  18. window->show();
  19.  
  20. return app.exec();
  21. }

Новыми (по сравнению с Уроком 1) являются только строки 18 и 19. В строке 18 мы создаём объект MainWindow и в строке 19 делаем его видимым.

[edit] CMake

Наилучший способ собрать наше приложение - использовать CMake. Все изменения по сравнению с уроком 1 заключаются в добавлении файла mainwindow.cpp в список исходников и смене названия tutorial1 на tutorial2.

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

[edit] Компиляция

Скомпилировать, скомпоновать и запустить приложение:

cmake . && make && ./tutorial2

[edit] Продолжим изучение

Теперь можно перейти к статье о KActions.

Retrieved from "http://techbase.kde.org/Development/Tutorials/Using_KXmlGuiWindow_%28ru%29"
Categories: Tutorial | C++

Navigation

  • Home
  • Help
  • Recent changes

Sections

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

Toolbox

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

Personal tools

  • Log in / create account
  • Login with OpenID
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal