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

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

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

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

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

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

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

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

Интервал:

Закладка:

Сделать

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

statusBar()->message("");

setCentralWidget(vbox);

resize(300, 400);

}

6. Слот doSearch— рабочее завершение приложения. В нем считывается строка поиска и выбираются все соответствующие ей компакт-диски и их дорожки. Логика слота такая же, как в функции doSearchGNOME/GTK+ в главе 16.

void MainWindow::doSearch() {

cd_search_st *cd_res = new cd_search_st;

current_cd_st *cd = new current_cd_st;

struct current_tracks_st ct;

int res1, i, j, res2, res3;

char track_title[110];

char search_text[100];

char statusBar_text[200];

QListViewItem *cd_item;

strcpy(search_text, search_entry->text());

7. Извлеките idсоответствующих компакт-дисков и обновите строку состояния, чтобы отобразить результаты поиска:

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

Интервал:

Закладка:

Сделать

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

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


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

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

x