Β KstdAccel::shortcut(KstdAccel::New), this, SLOT(newFile()),Β Β this, "newaction");Β KAction *quit_action = KStdAction::quit(KApplication::kApplication(),Β SLOT(quit()), actionCollection());Β KAction *help_action = KStdAction::aboutApp(this, SLOT(aboutApp()),Β actionCollection());4.Β Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π΄Π²Π° ΠΌΠ΅Π½Ρ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ ΠΈ Π²ΠΊΠ»ΡΡΠΈΡΠ΅ ΠΈΡ Π² ΡΡΡΠΎΠΊΡ ΠΌΠ΅Π½Ρ
KApplicationQPopupMenu *file_menu = new QPopupMenu;QPopupMenu *help_menu = new QPopupMenu;menuBar()->insertItem("&File", file_menu);menuBar()->insertItem("&Help", help_menu);5.Β Π’Π΅ΠΏΠ΅ΡΡ Π²ΡΡΠ°Π²ΡΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π² ΠΌΠ΅Π½Ρ ΠΈ ΠΏΠ°Π½Π΅Π»Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π»ΠΈΠ½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ
new_filequit_actionΒ new_file->plug(file_menu);Β file_menu->insertSeparator();Β quit_action->plug(file_menu);Β help_action->plug(help_menu);Β new_file->plug(toolBar());Β quit_action->plug(toolBar());}6.Β Π Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ ΡΠ»ΠΎΡΠΎΠ²:
aboutAppKAboutquitKApplicationvoid KDEMenu::newFile() {Β // Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°}void KDEMenu::aboutApp() {Β KAboutDialog *about = new KAboutDialog(this, "dialog");Β Β about->setAuthor(QString("A. N. Author"),Β Β QString("[email protected]"),Β QString("http://url.com"),Β Β QString("work"));Β about->setVersion("1.0");Β about->show();}int main(int argc, char **argv) {Β KApplication app(argc, argv, "cdapp");Β KDEMenu* window = new KDEMenu("kdemenu");Β app.setMainWidget(window);Β window->show();Β return app.exec();}7.Β ΠΠ°Π»Π΅Π΅ Π²Π°ΠΌ Π½ΡΠΆΠ΅Π½ ΡΠ°ΠΉΠ» menu.pro Π΄Π»Ρ ΡΡΠΈΠ»ΠΈΡΡ
qmakeTARGET = kdemenuMOC_DIR = mocOBJECTS_DIR = objINCLUDEPATH = /usr/include/kdeQMAKE_LIBDIR_X11 += -L$KDEDIR/libQMAKE_LIBS_X11 += -lkdeui -lkdecoreSOURCES = KDEMenu.cppHEADERS = KDEMenu.h8.Β Π’Π΅ΠΏΠ΅ΡΡ Π·Π°ΠΏΡΡΡΠΈΡΠ΅
qmake$ <b>qmake menu.pro -ΠΎ Makefile</b>$ <b>make</b>$ <b>./kdemenu</b>ΠΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ ΡΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΠ»ΡΡ ΡΡΡΡ Π΄Π»ΠΈΠ½Π½Π΅Π΅ Π΄ΡΡΠ³ΠΈΡ , ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΊΡΠ°ΡΠΎΠΊ, Π΅ΡΠ»ΠΈ ΡΡΠ΅ΡΡΡ Π²ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΠΈΠΌ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΡΠΎΠΊΠΈ ΠΌΠ΅Π½Ρ ΠΈ ΡΠ°ΠΌΠΈΡ ΠΌΠ΅Π½Ρ. ΠΡΡΡΠ΅Π΅ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ²
KActionΠΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ KDE ΡΡΠ΅Π±ΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ°Π±ΠΎΡΡ, ΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, Π½Π° ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄. Π Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ°ΠΉΠ» menu.pro ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°
qmakeΠΠ° ΡΠΈΡ. 17.11 ΠΈ 17.12 ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ Π² ΠΎΠΊΠ½Π΅ ΠΌΠ΅Π½Ρ ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ².

Π ΠΈΡ. 17.11Β

Π ΠΈΡ. 17.12Β
Π Π²ΠΎΡ ΠΎΠ½ΠΎ! ΠΡ Π·Π°ΠΊΠΎΠ½ΡΠΈΠ»ΠΈ Π½Π°Ρ ΡΡΡ ΠΏΠΎ Qt ΠΈ KDE, ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π² Π±Π°Π·ΠΎΠ²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, Π²ΡΠ΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ GUI, ΠΎΠΊΠ½Π°, ΡΡ Π΅ΠΌΡ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ, ΠΊΠ½ΠΎΠΏΠΊΠΈ, Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΡΠ΅ ΠΎΠΊΠ½Π° ΠΈ ΠΌΠ΅Π½Ρ. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π±Π΅ΡΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² Qt ΠΈ KDE, ΠΎ ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ Π½Π΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΈ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ
QColorDialogKHTMLΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ-Π΄ΠΈΡΠΊΠΎΠ² Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ KDE/Qt
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠ»Ρ ΠΈ ΠΌΠΎΡΡ KDE/Qt, ΠΏΡΠΈΡΠ»ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ½ΠΎΠ²Π° ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ-Π΄ΠΈΡΠΊΠ°ΠΌΠΈ, ΡΡΠΎΠ±Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ Π΅Π³ΠΎ Π² ΡΡΠ²ΡΡΠ²ΠΎ.
ΠΠ°ΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌ, ΡΠ΅Π³ΠΎ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π΄ΠΎΠ±ΠΈΡΡΡΡ ΠΎΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ-Π΄ΠΈΡΠΊΠΎΠ²:
β‘Β ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ ΠΈΠ· Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°;
β‘Β ΠΏΠΎΠΈΡΠΊ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ-Π΄ΠΈΡΠΊΠ° Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ ;
β‘Β Π²ΡΠ²ΠΎΠ΄ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ-Π΄ΠΈΡΠΊΠ΅ ΠΈ Π΅Π³ΠΎ Π΄ΠΎΡΠΎΠΆΠΊΠ°Ρ ;
β‘Β Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ-Π΄ΠΈΡΠΊΠ° Π² Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ;
β‘Β ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠΊΠ½Π° About (Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅).
MainWindow
ΠΠ°ΡΠ½Π΅ΠΌ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π΄Π»Ρ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π²ΠΈΠ΄ΠΆΠ΅Ρ ΠΏΠΎΠ»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΈ ΡΠΏΠΈΡΠΎΠΊ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΏΠΎΠΈΡΠΊΠ°.
1.Β ΠΠ°ΡΠ½ΠΈΡΠ΅ Ρ Π²Π²ΠΎΠ΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π² ΡΠ°ΠΉΠ» MainWindow.h (ΠΈΠ»ΠΈ Π·Π°Π³ΡΡΠ·ΠΈΡΠ΅ Π΅Π³ΠΎ Ρ Web-ΡΠ°ΠΉΡΠ° ΠΊΠ½ΠΈΠ³ΠΈ). ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠΊΠ½ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π²ΠΈΠ΄ΠΆΠ΅Ρ
QLineEditQListView#include <kde/kmainwindow.h>#include <qlistview.h>