KAboutDialog *about = new KAboutDialog(this, "dialog");
about->setAuthor(QString("A. N. Author"),
QString("an@email.net"), 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 для утилиты qmake
:
TARGET = kdemenu
MOC_DIR = moc
OBJECTS_DIR = obj
INCLUDEPATH = /usr/include/kde
QMAKE_LIBDIR_X11 += -L$KDEDIR/lib
QMAKE_LIBS_X11 += -lkdeui -lkdecore
SOURCES = KDEMenu.cpp
HEADERS = KDEMenu.h
8. Теперь запустите qmake
для создания make-файла, откомпилируйте и выполните программу:
$ qmake menu.pro -о Makefile
$ make
$ ./kdemenu
Как это работает
Несмотря на то, что этот пример получился чуть длиннее других, программный код довольно краток, если учесть всю выполняемую им работу по созданию строки меню и самих меню. Лучшее качество виджетов KAction
— возможность использования каждого из них в разных частях программы, таких как панель инструментов и меню в строке меню, все упомянутые возможности показаны в данном примере.
Построение приложений KDE требует больше работы, чем создание большинства программ, по крайней мере, на первый взгляд. В действительности файл menu.pro и команда qmake
скрывают большой набор параметров, которые в противном случае вам пришлось бы вставлять вручную в ваш make-файл.
На рис. 17.11 и 17.12 показано, как появляются в окне меню и кнопки панели инструментов.
Рис. 17.11
Рис. 17.12
И вот оно! Мы закончили наш тур по Qt и KDE, рассмотрев базовые элементы, всех приложений GUI, окна, схемы размещения, кнопки, диалоговые окна и меню. Существует бесчисленное множество виджетов Qt и KDE, о которых мы не упоминали, начиная с QColorDialog
— диалогового окна для выбора цвета — и заканчивая KHTML
— виджетом Web-обозревателя — все они подробно описаны на Web-сайтах компании Trolltech и графической среды KDE.
Приложение для работы с базой данных компакт-дисков с использованием KDE/Qt
Теперь, когда вы можете использовать силу и мощь KDE/Qt, пришло время снова обратить внимание на приложение для работы с компакт-дисками, чтобы привести его в чувство.
Напоминаем, чего вы хотите добиться от вашего приложения для работы с базой данных компакт-дисков:
регистрация в базе данных из графического пользовательского интерфейса;
поиск компакт-диска в базе данных;
вывод информации о компакт-диске и его дорожках;
добавление компакт-диска в базу данных;
отображение окна About (О программе).
Начнем обсуждение с программного кода для главного окна приложения, которое содержит виджет поля поиска и список для отображения результатов поиска.
1. Начните с ввода программного кода в файл MainWindow.h (или загрузите его с Web-сайта книги). Поскольку окно содержит виджет QLineEdit
для поиска компакт-дисков и виджет QListView
для вывода результатов поиска, вы должны вставить в программный код заголовочные файлы qlistview.h и qlineedit.h:
#include
#include
#include
class MainWindow : public KMainWindow {
Q_OBJECT
public:
MainWindow(const char *name);
public slots:
void doSearch;
void Added;
private:
QListView *list;
QLineEdit *search_entry;
};
2. MainWindow.срр — самая сложная часть программы. В конструкторе вы создаете интерфейс главного окна и связываете необходимые сигналы с вашими слотами. Как обычно, начните программу с файлов в директивах #include
:
#include "MainWindow.h"
#include "AddCdDialog.h"
#include "app_mysql.h"
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
MainWindow::MainWindow(const char * name) : KMainWindow(0L, name) {