hellokde.cpp 1 #include <kapp.h> 2 #include <qlabel.h> 3 #include <qpushbutton.h> 4 5 int main(int argc, char* argv[]) 6 { 7 KApplication myApp(argc, argv); 8 9 QWidget* myWidget = new QWidget(); 10 myWidget->setGeometry(400, 300, 120, 90); 11 12 QLabel* myLabel = new QLabel("Hello world", myWidget); 13 myLabel->resize(80, 30); 14 15 QPushButton* myQuitButton = new QPushButton("Quit", myWidget); 16 myQuitButton->setGeometry(10, 50, 100, 30); 17 QObject::connect(myQuitButton, SIGNAL(clicked()), &myApp, SLOT(quit())); 18 19 myApp.setMainWidget(myWidget); 20 myWidget->show(); 21 22 return myApp.exec(); 23 }Im Vergleich zur letzten Programmversion hat sich nicht allzuviel geändert. Der einzige Unterschied besteht darin, dass anstatt der Klasse QApplication diesmal KApplication verwendet wird. Deshalb muss auch statt der Headerdatei qapplication.h die Datei kapp.h eingebunden werden. Beim Übersetzen kommen jetzt noch drei neue Parameter hinzu die dafür sorgen, dass die KDE-Bibliotheken gefunden werden.
hellokde.cpp 1 #include <kapp.h> 2 #include <kmenubar.h> 3 #include <ktmainwindow.h> 4 #include <qlabel.h> 5 #include <qkeycode.h> 6 7 int main (int argc, char **argv) 8 { 9 const char *aboutText = "Hello KDE\nvon Thorsten Ehlers"; 10 11 KApplication myApp(argc, argv); 12 KTMainWindow* mainWidget = new KTMainWindow; 13 14 QPopupMenu *filePopup = new QPopupMenu (); 15 filePopup->insertItem(i18n("&Quit"), &myApp, SLOT (quit()), CTRL + Key_Q); 16 17 KMenuBar *menuBar = mainWidget->menuBar(); 18 menuBar->insertItem(i18n("&File"), filePopup); 19 menuBar->insertSeparator(); 20 menuBar->insertItem(i18n("&Help"), myApp.getHelpMenu(TRUE, aboutText)); 21 22 QLabel* myLabel = new QLabel(i18n("Hello world"), mainWidget); 23 myLabel->setAlignment(AlignCenter); 24 myLabel->setFont(QFont("charter", 64, QFont::Bold, TRUE)); 25 myLabel->setMinimumSize(myLabel->sizeHint()); 26 mainWidget->setView(myLabel); 27 28 myApp.setMainWidget(mainWidget); 29 mainWidget->show(); 30 31 return myApp.exec(); 32 }Zu den Neuerungen dieser Version gehört unter anderem auch eine Menüzeile. In den Zeilen 14 und 15 wird zuerst einmal ein Popup-Menü erzeugt, das erscheinen soll, wenn im Hauptmenü auf File geklickt wird. Dieses Popup-Menü enthält nur einen einzigen Eintrag: Quit. Dieser Eintrag wird mit dem Slot quit() der KApplication verbunden. Desweiteren wird noch ein globaler Shortcut STRG+Q definiert, dessen Eingabe genau wie die Auswahl des Menüpunktes eine Beendigung des Programmes zur Folge hat.
messages.po # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Free Software Foundation, Inc. # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "POT-Creation-Date: 1999-10-24 22:10+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAMEUm jetzt eine Zeichenkette zu übersetzen, muss die Übersetzung bloss in die Anführungsstriche hinter msgstr gesetzt werden.\n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: ENCODING\n" #: hellokde.cpp:15 msgid "&Quit" msgstr "" #: hellokde.cpp:18 msgid "&File" msgstr "" #: hellokde.cpp:20 msgid "&Help" msgstr "" #: hellokde.cpp:22 msgid "Hello world" msgstr ""