Нейл Мэтью - Основы программирования в 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 - читать книгу онлайн бесплатно, автор Нейл Мэтью
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

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

И вот оно! Мы закончили наш тур по 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

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

setCaption("CD Database");

3. Теперь создайте элементы меню и панели инструментов с помощью виджета KAction.

KAction *addcd_action = new KAction("&Add CD", "filenew",

KStdAccel::shortcut(KStdAccel::New), this, SLOT(AddCd()), this);

KAction *quit_action = KStdAction::quit(KApplication::kApplication(),

SLOT(quit()), actionCollection());

QPopupMenu* filemenu = new QPopupMenu;

QString about = ("CD App\n\n"

"(C) 2007 Wrox Press\n" "email@email.com\n");

QPopupMenu* helpmenu = helpMenu(about);

menuBar()->insertItem("&File", filemenu);

menuBar()->insertltem(i18n("&Help"), helpmenu);

addcd_action->plug(filemenu);

filemenu->insertSeparator();

quit_action->plug(filemenu);

addcd_action->plug(toolBar());

quit_action->plug(toolBar());

4. Для разнообразия примените виджеты QBoxLayoutвместо обычных классов QLayout:

QVBox *vbox = new QVBox(this);

QHBox *hbox = new QHBox(vbox);

QLabel* label = new QLabel(hbox);

label->setText("Search Text: ");

search_entry = new QLineEdit(hbox);

QPushButton *button = new QPushButton("Search", hbox);

5. Далее следует виджет QListView, занимающий основную часть рабочей области окна. После этого для поиска компакт-диска в базе данных вы связываете необходимые сигналы с вашим слотом doSearch. Строка состояния KMainWindowстановится видимой за счет вставки пустого сообщения:

list = new QListView(vbox, "name", 0L);

list->setRootIsDecorated(TRUE);

list->addColumn("Title");

list->addColumn("Artist");

list->addColumn("Catalogue");

connect(button, SIGNAL(clicked()), this, SLOT(doSearch()));

connect(search_entry, SIGNAL(returnPressed()), this, SLOT(doSearch()));

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

Интервал:

Закладка:

Сделать


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

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




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


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


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

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