HEADERS = window.hΠΡ Π·Π°Π΄Π°Π΅ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠΉ Π΄Π²ΠΎΠΈΡΠ½ΡΠΉ ΡΠ°ΠΉΠ», Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ moc ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΏΡΡΡ ΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ KDE ΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΡΠ΅ΠΊΡΡΡ, ΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΡΠΌΠΈΡΡΠ΅ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π£ΡΡΠΈΡΠ΅, ΡΡΠΎ ΠΌΠ΅ΡΡΠΎΠ½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² KDE Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π²Π°ΡΠ΅Π³ΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ SUSE Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΈΡΠ°Π²Π½ΡΡΡ
INCLUDEPATHQMAKE_LIBS_X11$ <b>qmake file.pro -ΠΎ Makefile</b>ΠΠ°ΡΠ΅ΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
makeqmakeΠ‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ΅Π½Ρ ΠΈ ΠΏΠ°Π½Π΅Π»Π΅ΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ KDE
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠΎΡΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² KDE, ΠΌΡ ΠΎΡΡΠ°Π²ΠΈΠ»ΠΈ ΠΌΠ΅Π½Ρ ΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π½Π°ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠΊ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΈ β ΡΠΆ ΠΎΡΠ΅Π½Ρ Π½Π°Π³Π»ΡΠ΄Π½ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ KDE ΡΠΊΠΎΠ½ΠΎΠΌΡΡ Π²ΡΠ΅ΠΌΡ ΠΈ ΡΡΠΈΠ»ΠΈΡ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ Qt ΠΈΠ»ΠΈ Π»ΡΠ±ΡΡ Π΄ΡΡΠ³ΠΈΡ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠΎΠ² Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°.
ΠΠ±ΡΡΠ½ΠΎ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°Ρ GUI ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ΅Π½Ρ ΠΈ ΠΏΠ°Π½Π΅Π»Π΅ΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² β ΠΎΡΠ»ΠΈΡΠ°ΡΡΠΈΠ΅ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠΎ ΡΠ²ΠΎΠΈΠΌ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΌ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠΌ. ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π΅Π»Π°Ρ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ.
Π£ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² KDE ΠΏΠΎΡΠ²ΠΈΠ»ΠΎΡΡ Π»ΡΡΡΠ΅Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅. ΠΠΌΠ΅ΡΡΠΎ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΎΠ±ΠΎΡΠΎΠ±Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° Π² KDE ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π²ΠΈΠ΄ΠΆΠ΅Ρ
KActionKActionKAction *new_file = new KAction("New", "filenew",Β KstdAccel::shortcut(KstdAccel::New), this,Β SLOT(newFile()), this, "newaction");ΠΠ°ΡΠ΅ΠΌ
KActionnew_file->plug(a_menu);new_file->plug(a_toolbar);Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π²Ρ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΏΡΠ½ΠΊΡ ΠΌΠ΅Π½Ρ New ΠΈ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠ·ΡΠ²Π°ΡΡ
newFileΠ’Π΅ΠΏΠ΅ΡΡ Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ
KActionnew_file->setEnabled(FALSE);ΠΡΠΎ Π²ΡΠ΅, ΡΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΠΌΠ΅Π½Ρ ΠΈ ΠΏΠ°Π½Π΅Π»Π΅ΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π² ΡΡΠ΅Π΄Π΅ KDE β Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΎΡΠ΅Π½Ρ Π»Π΅Π³ΠΊΠΎ ΠΈ ΠΏΡΠΎΡΡΠΎ. ΠΠ°Π»Π΅Π΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°
KAction<b>#include <kde/kaction.h></b><b>KAction(const QString& text, const KShortcut& cut,</b><b>Β const QObject* receiver, const char* slot,</b><b>Β QObject *parent, const char* name = 0);</b>KDE ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ
KAction<b>#include <kde/kaction.h></b><b>KAction* openNew(const QObject* recvr, const char *slot,</b><b>Β KActionCollection* parent, const char* name = 0)ΠΆ</b><b>KAction* save ...</b><b>KAction* saveAs ...</b><b>KAction* revert ...</b><b>KAction* close ...</b><b>KAction* print ...</b>Π Ρ.Π΄.
ΠΡΠ±ΠΎΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ; ΡΠ»ΠΎΡ-ΠΏΡΠΈΠ΅ΠΌΠ½ΠΈΠΊ ΠΈ ΡΡΠ½ΠΊΡΠΈΡ,
KActionCollectionKActionKActionCollectionKActionactionCollectionKMainWindowKAction *saveas = KStdAction::saveAs(this, SLOT(saveAs()) ,Β actionCollection(), "saveas");ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 17.8.
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π΄Π°Π»Π΅Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²Ρ ΠΎΠΏΡΠΎΠ±ΡΠ΅ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ
KAction1.Β ΠΠ°ΡΠ½ΠΈΡΠ΅ Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° KDEMenu.h.
KDEMenuKMainWindowQMainWindowKMainWindow#include <kde/kmainwindow.h>class KDEMenu : public KMainWindow {Β Q_OBJECTpublic:Β KDEMenu(const char * name = 0);private slots:Β void newFile();Β void aboutApp();};2.Β Π€Π°ΠΉΠ» KDEMenu.cpp Π½Π°ΡΠ½ΠΈΡΠ΅ Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²
#include#include "KDEMenu.h"#includeΒ <kde/kapp.h>#includeΒ <kde/kaction.h>#includeΒ <kde/kstdaccel.h>#includeΒ <kde/kmenubar.h>#includeΒ <kde/kaboutdialog.h>3.Β Π ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°Ρ , ΡΠΎΠ·Π΄Π°ΡΡΠΈΡ ΡΡΠΈ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°
KActionnew_filequit_actionhelp_actionKActionKDEMenu::KDEMenu(const char *name = 0) : KMainWindow (0L, name) {Β KAction *new_file = new KAction("New", "filenew",