Жасмин Бланшет - QT 4 - программирование GUI на С++

Здесь есть возможность читать онлайн «Жасмин Бланшет - QT 4 - программирование GUI на С++» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Москва, Год выпуска: 2007, ISBN: 2007, Издательство: КУДИЦ-ПРЕСС, Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

QT 4: программирование GUI на С++: краткое содержание, описание и аннотация

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

Единственное официальное руководстро по практическому программированию в среде Qt 4.1. Применяя средства разработки Qt компании «Trolltech», вы сможете создавать на С++ промышленные приложения, которые естественно работают в средах Windows, Linux/UNIX, Linux для встроенных систем без изменения программного кода и Mac Os X. Книга написана сотрудниками компании «Trolltech». Она представляет собой практическое руководство по успешному применению самой мощной из всех созданных до сих пор версий Qt — Qt 4.1.
Из книги «Qt 4: программирование GUI на С++» вы узнаете о наиболее эффективных приемах и методах программирования с применением Qt 4 и овладеете ключевыми технологиями в самых различных областях — от архитектуры Qt модель/представление до мощного графического процессора 2D. Авторы вооружают читателей беспрецедентно глубокими знаниями модели событий и системы компоновки Qt.
На реалистических примерах они описывают высокоэффективные методы во всех областях — от разработки основных элементов графического пользовательского интерфейса до передовых методов интеграции с базой данных и XML. Каждая глава содержит полностью обновленный материал.
Данное издание:
• Включает новые главы по архитектуре Qt 4 модель/представление и поддержке подключаемых модулей Qt, а также краткое введение в программирование встроенных систем на платформе Qtopia.
• Раскрывает все основные принципы программирования в среде Qt — от создания диалоговых и других окон до реализации функциональности приложений.
• Знакомит с передовыми методами управления компоновкой виджетов и обработкой событий.
• Показывает, как можно с наибольшей эффективностью использовать новые программные интерфейсы Qt 4, в частности мощный графический процессор 2D и новые простые в применении классы—контейнеры.
• Представляет передовые методы Qt 4, которых нет ни в одной книге: от создания подключаемых модулей, расширяющих возможности Qt, и приложений, до применения «родных» для конкретной платформы программных интерфейсов.
• Содержит приложение с подробным введением в программирование на С++ в среде Qt для опытных Java—разработчиков.
Жасмин Бланшет (Jasmine Blanchette) — менеджер по документированию и старший разработчик компании «Trolltech» с 2001 года. Он является редактором «Qt Quarterly», информационного бюллетеня компании «Trolltech», и соавтором книги «Qt 3: программирование GUI на С++».
Марк Саммерфилд (Mark Summerfield) — независимый преподаватель и консультант по С++, Qt и Python. Он работал менеджером по документированию в компании «Trolltech» на протяжении трех лет. Марк является соавтором книги «Qt 3: программирование GUI на С++».

QT 4: программирование GUI на С++ — читать онлайн бесплатно полную книгу (весь текст) целиком

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

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

Интервал:

Закладка:

Сделать

выполняет запись в поток значений переменных x, у и z, а

in >> x >> у >> z;

считывает их из потока. Поскольку базовые типы С++, такие как char, short, int, long и long long, на различных платформах могут иметь различный размер, надежнее преобразовать их типы в qint8, quint8, qint16, quint16, qint32, quint32, qint64 и quint64, что гарантирует использование объявленного в них размера (в битах).

Файл данных Электронная таблица имеет очень простой формат. Он начинается с 32-битового числа, идентифицирующего формат файла («волшебное» число MagicNumber определено в spreadsheet.h как 0x7F51C883 — произвольное случайное число). Затем идет последовательность блоков, каждый из которых содержит строку, столбец и формулу одной ячейки. Для экономии места мы не заполняем пустые ячейки.

Рис 43 Формат файла данных для приложения Электронная таблица Точное - фото 59

Рис. 4.3. Формат файла данных для приложения Электронная таблица.

Точное представление типов данных определяется в QDataStream. Например, quint16 представляется двумя байтами со старшим байтом в конце, a QString задается длиной строки, за которой следуют символы в коде Unicode.

Двоичное представление типов в Qt достаточно сильно усовершенствовалось со времени выхода версии Qt 1.0. Такая тенденция, вероятно, сохранится в будущих версиях Qt, чтобы идти вровень с развитием существующих типов и обеспечить новые типы в Qt. По умолчанию класс QDataStream использует самую последнюю версию двоичного формата (версия 7 в Qt 4.1), но он также может быть настроен на чтение прошлых версий. Для того чтобы избежать проблем совместимости при перекомпиляции приложения в будущем, в новой версии Qt мы заставляем QDataStream использовать версию 7 вне зависимости от версии Qt, в которой оно компилируется. (Для удобства используется константа QDataStream::Qt_4_1, равная 7.)

Класс QDataStream достаточно универсален. Он может использоваться для объекта QFile, но также и для QBuffer, QProcess, QTcpSocket или QUdpSocket. Qt также предоставляет класс QTextStream, который может использоваться с QDataStream для чтения и записи текстовых файлов. В главе 10подробно рассматриваются эти классы и описываются различные методы работы с разными версиями QDataStream.

01 bool Spreadsheet::readFile(const QString &fileName)

02 {

03 QFile file(fileName);

04 if (!file.open(QIODevice::ReadOnly)) {

05 QMessageBox::warning(this, tr("Spreadsheet"),

06 tr("Cannot read file %1:\n%2.")

07 .arg(file.fileName())

08 .arg(file.errorString()));

09 return false;

10 }

11 QDataStream in(&file);

12 in.setVersion(QDataStream::Qt_4_1);

13 quint32 magic;

14 in >> magic;

15 if (magic != MagicNumber) {

16 QMessageBox::warning(this, tr("Spreadsheet"),

17 tr("The file is not a Spreadsheet file."));

18 return false;

19 }

20 clear();

21 quint16 row;

22 quint16 column;

23 QString str;

24 QApplication::setOverrideCursor(Qt::WaitCursor);

25 while (!in.atEnd()) {

26 in >> row >> column >> str;

27 setFormula(row, column, str);

28 }

29 QApplication::restoreOverrideCursor();

30 return true;

31 }

Функция readFile() очень напоминает writeFile(). Для чтения файла мы пользуемся объектом QFile, но теперь мы используем флажок QIODevice::ReadOnly, а не QIODevice::WriteOnly. Затем мы устанавливаем версию QDataStream на значение 7. Формат чтения всегда должен совпадать с форматом записи.

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

Реализация меню Edit

Теперь мы готовы приступить к реализации слотов, относящихся к меню Edit данного приложения.

Рис 44 Меню Edit приложения Электронная таблица 01 void - фото 60

Рис. 4.4. Меню Edit приложения Электронная таблица.

01 void Spreadsheet::cut()

02 {

03 copy();

04 del();

05 }

Слот cut() соответствует пункту меню Edit | Cut (Правка | Вырезать). Он реализуется просто, поскольку операция Cut выполняется с помощью операции Сору, за которой следует операция Delete.

01 void Spreadsheet::copy()

02 {

03 QTableWidgetSelectionRange range = selectedRange();

04 QString str;

05 for (int i = 0; i < range.rowCount(); ++i) {

06 if (i > 0)

07 str += "\n";

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

Интервал:

Закладка:

Сделать

Похожие книги на «QT 4: программирование GUI на С++»

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


Бертрис Смолл - Дикарка Жасмин
Бертрис Смолл
Георгий Семенов - Жасмин в тени забора
Георгий Семенов
Жасмин Гиллори - Свадебное свидание
Жасмин Гиллори
Жасмин Майер - Онлайн
Жасмин Майер
Отзывы о книге «QT 4: программирование GUI на С++»

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

x