Основы программирования в Linux - Мэтью Нейл Страница 315
- Категория: Компьютеры и Интернет / Интернет
- Автор: Мэтью Нейл
- Страниц: 324
- Добавлено: 2020-09-22 15:22:12
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних просмотр данного контента СТРОГО ЗАПРЕЩЕН! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту pbn.book@yandex.ru для удаления материала
Основы программирования в Linux - Мэтью Нейл краткое содержание
Прочтите описание перед тем, как прочитать онлайн книгу «Основы программирования в Linux - Мэтью Нейл» бесплатно полную версию:В четвертом издании популярного руководства даны основы программирования в операционной системе Linux. Рассмотрены: использование библиотек C/C++ и стандартных средств разработки, организация системных вызовов, файловый ввод/вывод, взаимодействие процессов, программирование средствами командной оболочки, создание графических пользовательских интерфейсов с помощью инструментальных средств GTK+ или Qt, применение сокетов и др. Описана компиляция программ, их компоновка c библиотеками и работа с терминальным вводом/выводом. Даны приемы написания приложений в средах GNOME® и KDE®, хранения данных с использованием СУБД MySQL® и отладки программ. Книга хорошо структурирована, что делает обучение легким и быстрым. Для начинающих Linux-программистов
Основы программирования в Linux - Мэтью Нейл читать онлайн бесплатно
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. Создайте два меню верхнего уровня и включите их в строку меню KApplication:
QPopupMenu *file_menu = new QPopupMenu;
QPopupMenu *help_menu = new QPopupMenu;
menuBar()->insertItem("&File", file_menu);
menuBar()->insertItem("&Help", help_menu);
5. Теперь вставьте действия в меню и панель инструментов, добавив разделительную линию между new_file и quit_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. В заключение несколько определений слотов: aboutApp создает диалоговое окно KAbout для отображения сведений о программе. Учтите, что слот quit определен как часть KApplication:
void 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 для утилиты 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-файла, откомпилируйте и выполните программу:
$ <b>qmake menu.pro -о Makefile</b>
$ <b>make</b>
$ <b>./kdemenu</b>
Как это работает
Несмотря на то, что этот пример получился чуть длиннее других, программный код довольно краток, если учесть всю выполняемую им работу по созданию строки меню и самих меню. Лучшее качество виджетов 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 (О программе).
MainWindow
Начнем обсуждение с программного кода для главного окна приложения, которое содержит виджет поля поиска и список для отображения результатов поиска.
1. Начните с ввода программного кода в файл MainWindow.h (или загрузите его с Web-сайта книги). Поскольку окно содержит виджет QLineEdit для поиска компакт-дисков и виджет QListView для вывода результатов поиска, вы должны вставить в программный код заголовочные файлы qlistview.h и qlineedit.h:
#include <kde/kmainwindow.h>
#include <qlistview.h>
Жалоба
Напишите нам, и мы в срочном порядке примем меры.