Тут можно читать онлайн книгу Мэтью Нейл - Основы программирования в Linux - бесплатно полную версию (целиком). Жанр книги: Программирование. Вы можете прочесть полную версию (весь текст) онлайн без регистрации и смс на сайте Lib-King.Ru (Либ-Кинг) или прочитать краткое содержание, аннотацию (предисловие), описание и ознакомиться с отзывами (комментариями) о произведении.
Основы программирования в Linux - описание и краткое содержание, автор Мэтью Нейл, читать бесплатно онлайн на сайте электронной библиотеки Lib-King.Ru.
В четвертом издании популярного руководства даны основы программирования в операционной системе Linux. Рассмотрены: использование библиотек C/C++ и стандартных средств разработки, организация системных вызовов, файловый ввод/вывод, взаимодействие процессов, программирование средствами командной оболочки, создание графических пользовательских интерфейсов с помощью инструментальных средств GTK+ или Qt, применение сокетов и др. Описана компиляция программ, их компоновка c библиотеками и работа с терминальным вводом/выводом. Даны приемы написания приложений в средах GNOME® и KDE®, хранения данных с использованием СУБД MySQL® и отладки программ. Книга хорошо структурирована, что делает обучение легким и быстрым. Для начинающих Linux-программистов
Основы программирования в Linux - читать книгу онлайн бесплатно, автор Мэтью Нейл
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",