Нейл Мэтью - Основы программирования в Linux

Здесь есть возможность читать онлайн «Нейл Мэтью - Основы программирования в Linux» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Санкт-Петербург, Год выпуска: 2009, ISBN: 2009, Издательство: «БХВ-Петербург», Жанр: Программирование, ОС и Сети, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Основы программирования в Linux: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Основы программирования в Linux»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

В четвертом издании популярного руководства даны основы программирования в операционной системе Linux. Рассмотрены: использование библиотек C/C++ и стан­дартных средств разработки, организация системных вызовов, файловый ввод/вывод, взаимодействие процессов, программирование средствами командной оболочки, создание графических пользовательских интерфейсов с помощью инструментальных средств GTK+ или Qt, применение сокетов и др. Описана компиляция программ, их компоновка c библиотеками и работа с терминальным вводом/выводом. Даны приемы написания приложений в средах GNOME® и KDE®, хранения данных с использованием СУБД MySQL® и отладки программ. Книга хорошо структурирована, что делает обучение легким и быстрым.
Для начинающих Linux-программистов

Основы программирования в Linux — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Основы программирования в Linux», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

KAction* openNew(const QObject* recvr, const char *slot,

KActionCollection* parent, const char* name = 0)ж

KAction* save ...

KAction* saveAs ...

KAction* revert ...

KAction* close ...

KAction* print ...

И т.д.

Любое стандартное действие принимает одни и те же параметры; слот-приемник и функцию, KActionCollectionи имя KAction. Объект KActionCollectionуправляет в окне объектами KAction, и вы можете получить текущий объект с помощью метода actionCollectionокна KMainWindow:

KAction *saveas = KStdAction::saveAs(this, SLOT(saveAs()) ,

actionCollection(), "saveas");

Выполните упражнение 17.8.

Упражнение 17.8. Приложение в KDE с меню и панелями инструментов

В приведенном далее примере вы опробуете объекты KActionв приложении среды KDE.

1. Начните с заголовочного файла KDEMenu.h. KDEMenu— это подкласс KMainWindow, являющегося подклассом класса QMainWindow. KMainWindowуправляет сеансом в среде KDE и обладает встроенными панелью инструментов и строкой состояния.

#include

class KDEMenu : public KMainWindow {

Q_OBJECT

public:

KDEMenu(const char * name = 0);

private slots:

void newFile();

void aboutApp();

};

2. Файл KDEMenu.cpp начните с директив #includeдля виджетов, которые будете применять:

#include "KDEMenu.h"

#include

#include

#include

#include

#include

3. В конструкторах, создающих три виджета KAction, new_fileопределяется вручную, a quit_actionи help_actionиспользуют стандартные определения KAction:

KDEMenu::KDEMenu(const char *name = 0) : KMainWindow (0L, name) {

KAction *new_file = new KAction("New", "filenew",

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("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 показано, как появляются в окне меню и кнопки панели инструментов.

Рис 1711 Рис 1712 И вот оно Мы закончили наш тур по Qt и KDE - фото 75

Рис. 17.11

Рис 1712 И вот оно Мы закончили наш тур по Qt и KDE рассмотрев базовые - фото 76

Рис. 17.12

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Основы программирования в Linux»

Представляем Вашему вниманию похожие книги на «Основы программирования в Linux» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Основы программирования в Linux»

Обсуждение, отзывы о книге «Основы программирования в Linux» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x