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

Тут можно читать онлайн Нейл Мэтью - Основы программирования в Linux - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-osnet, издательство «БХВ-Петербург», год 2009. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Основы программирования в Linux
  • Автор:
  • Жанр:
  • Издательство:
    «БХВ-Петербург»
  • Год:
    2009
  • Город:
    Санкт-Петербург
  • ISBN:
    978-5-9775-0289-4
  • Рейтинг:
    4/5. Голосов: 91
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

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

Основы программирования в Linux - описание и краткое содержание, автор Нейл Мэтью, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

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

Для начинающих Linux-программистов

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

Основы программирования в Linux - читать книгу онлайн бесплатно, автор Нейл Мэтью
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Диалоговое окно, созданное методом QInputDialog::getText, применяет виджет QLineEdit. Параметр режима редактирования, передаваемый в функцию getText, управляет способом отображения набираемого текста точно так же, как аналогичный параметр режима виджета QLineEdit. Вы можете также задать текст, выводимый по умолчанию, или оставить поле пустым, как показано на рис. 17.9. У всех окон QInputDialogесть кнопки OKи Cancel, и в метод передается указатель типа boolдля обозначения нажатой кнопки — результат равен TRUE, если пользователь щелкает мышью кнопку OK.

Метод getItemс помощью раскрывающегося списка QComboBoxпредлагает пользователю список вариантов:

bool result;

QStringList options;

options << "London" << "New York" << "Paris";

QString city = QInputDialog::getItem("Holiday", "Please select a

destination:", options, 1, TRUE, &result, this, "combo");

if (result) selectDestination(city);

Созданное диалоговое окно показано на рис. 17.10.

Рис 1710 Функции getIntegerи getDoubleдействуют во многом аналогично - фото 74

Рис. 17.10

Функции getIntegerи getDoubleдействуют во многом аналогично, поэтому мы не будем на них останавливаться.

Применение qmake для упрощения написания make-файлов

Компиляция приложения с библиотеками KDE и Qt становится утомительным занятием, поскольку ваш make-файл получается очень сложным из-за необходимости использовать mocи иметь библиотеки здесь, там и везде. К счастью, Qt поставляется с утилитой qmakeдля создания ваших make-файлов.

Примечание

Если вы уже пользовались комплектом Qt, вам, возможно, знакома утилита tmake— более раннее (и теперь устаревшее) воплощение qmake, поставлявшееся с предыдущими версиями Qt.

Утилита qmakeпринимает в качестве входного файл .pro. Этот файл содержит самые существенные сведения, необходимые для компиляции, такие как исходные тексты, заголовочные файлы, результирующий двоичный файл и местонахождения библиотек KDE/Qt.

Типичный pro-файл среды KDE выглядит следующим образом:

TARGET = app

MOC_DIR = moc

OBJECTS_DIR = obj

INCLUDEPATH = /usr/include/kde

QMAKE_LIBDIR_X11 += /usr/lib

QMAKE_LIBS_X11 += -lkdeui -lkdecore

SOURCES = main.cpp window.cpp

HEADERS = window.h

Вы задаете результирующий двоичный файл, временные каталоги moc и объектных файлов, путь к библиотеке KDE и исходные тексты, и заголовочные файлы, из которых формируется приложение. Учтите, что местонахождение файлов библиотек и заголовочных файлов KDE зависит от вашего дистрибутива. Пользователи SUSE должны приравнять INCLUDEPATHпуть /opt/kde3/include и QMAKE_LIBS_X11путь /opt/kde3/lib.

$ qmake file.pro -о Makefile

Затем вы можете выполнить команду makeкак обычно, что не вызовет затруднений. Для упрощения процедуры построения приложения следует использовать qmakeс программами любой сложности, применяющими KDE/Qt.

Создание меню и панелей инструментов с помощью KDE

Для того чтобы продемонстрировать мощь виджетов KDE, мы оставили меню и панели инструментов напоследок, поскольку они — уж очень наглядные примеры того, как библиотеки KDE экономят время и усилия по сравнению с применением только Qt или любых других комплектов с элементами графического пользовательского интерфейса.

Обычно в библиотеках GUI элементы меню и панелей инструментов — отличающиеся элементы, каждый со своим собственным виджетом. Вы должны создавать отдельные объекты для каждого элемента и отслеживать изменения, например, делая недоступными определенные варианты, каждый отдельно.

У программистов KDE появилось лучшее решение. Вместо такого обособленного подхода в KDE определен виджет KActionдля представления действия, которое может выполнить приложение. Это действие может открыть новый документ, сохранить файл или вывести окно справки.

KActionприсваивается текст, клавиатурный акселератор, пиктограмма и слот, который вызывается при активизации действия:

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

KstdAccel::shortcut(KstdAccel::New), this,

SLOT(newFile()), this, "newaction");

Затем KActionможет быть вставлено в меню и панель инструментов без дополнительного описания:

new_file->plug(a_menu);

new_file->plug(a_toolbar);

Таким образом, вы создали пункт меню Newи кнопку панели инструментов, которые вызывают newFileпри щелчке кнопкой мыши.

Теперь если вам нужно отменить KAction— скажем, вы не хотите, чтобы пользователь мог создать новый файл, — вызов централизован:

new_file->setEnabled(FALSE);

Это все, что касается меню и панелей инструментов в среде KDE — на самом деле очень легко и просто. Далее приведен конструктор виджета KAction:

#include

KAction(const QString& text, const KShortcut& cut,

const QObject* receiver, const char* slot,

QObject *parent, const char* name = 0);

KDE предоставляет стандартные объекты KActionдля унификации текста, клавиатурных акселераторов и пиктограмм в разных приложениях KDE:

#include

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) {

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

Интервал:

Закладка:

Сделать


Нейл Мэтью читать все книги автора по порядку

Нейл Мэтью - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




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


Отзывы читателей о книге Основы программирования в Linux, автор: Нейл Мэтью. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x