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

Тут можно читать онлайн Жасмин Бланшет - QT 4: программирование GUI на С++ - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming, издательство КУДИЦ-ПРЕСС, год 2007. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    QT 4: программирование GUI на С++
  • Автор:
  • Жанр:
  • Издательство:
    КУДИЦ-ПРЕСС
  • Год:
    2007
  • Город:
    Москва
  • ISBN:
    978-5-91136-038-2
  • Рейтинг:
    3.75/5. Голосов: 121
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

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

QT 4: программирование GUI на С++ - описание и краткое содержание, автор Жасмин Бланшет, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Единственное официальное руководстро по практическому программированию в среде 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 на С++ - читать книгу онлайн бесплатно, автор Жасмин Бланшет
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Главное окно приложения обеспечивает каркас для построения пользовательского интерфейса приложения. Данная глава будет строиться на основе главного окна приложения Электронная таблица, показанного на рис. 3.1. В приложении Электронная таблица используются созданные в главе 2диалоговые окна Find, Go-to-Cell и Sort (найти, перейти на ячейку и сортировать).

Рис 31 Приложение Электронная таблица В основе большинства приложений с - фото 38

Рис. 3.1. Приложение Электронная таблица.

В основе большинства приложений с графическим интерфейсом лежит программный код, обеспечивающий базовые функции, например, чтения и записи файлов или обработки данных, представленных в пользовательском интерфейсе. В главе 4мы рассмотрим способы реализации такой функциональности, вновь используя в качестве примера приложение Электронная таблица.

Создание подкласса QMainWindow

Главное окно приложения создается в виде подкласса QMainWindow. Многие из представленных в главе 2методов также подходят для построения главных окон, поскольку оба класса QDialog и QMainWindow являются наследниками QWidget.

Главные окна можно создавать при помощи Qt Designer, но в данной главе мы продемонстрируем, как это все делается при непосредственном программировании. Если вы предпочитаете пользоваться визуальными средствами проектирования, то необходимую информацию вы сможете найти в главе «Creating a Main Window Application» (Создание приложения на основе класса главного окна) в онлайновом руководстве по Qt Designer.

Исходный код программы главного окна приложения Электронная таблица содержится в двух файлах: mainwindow.h и mainwindow.cpp. Сначала приведем заголовочный файл:

01 #ifndef MAINWINDOW_H

02 #define MAINWINDOW_H

03 #include

04 class QAction;

05 class QLabel;

06 class FindDialog;

07 class Spreadsheet;

08 class MainWindow : public QMainWindow

09 {

10 Q_OBJECT

11 public:

12 MainWindow();

13 protected:

14 void closeEvent(QCloseEvent *event);

Мы определяем класс MainWindow как подкласс QMainWindow. Он содержит макрос Q_OBJECT, поскольку имеет собственные сигналы и слоты.

Функция closeEvent() определена в QWidget как виртуальная функция; она автоматически вызывается при закрытии окна пользователем. Она переопределяется в MainWindow для того, чтобы можно было задать пользователю стандартный вопрос относительно возможности сохранения изменений («Do you want to save your changes?») и чтобы сохранить на диске пользовательские настройки.

15 private slots:

16 void newFile();

17 void open();

18 bool save();

19 bool saveAs();

20 void find();

21 void goToCell();

22 void sort();

23 void about();

Некоторые функции меню, как, например, File | New (Файл | Создать) или Help | About (Помощь | О программе), реализованы в MainWindow в виде закрытых слотов. Большинство слотов возвращают значение типа void, однако save() и saveAs() возвращают значение типа bool. Возвращаемое значение игнорируется при выполнении слота в ответ на сигнал, но при вызове слота в качестве функции мы может воспользоваться возвращаемым значением, как это мы можем делать при вызове любой обычной функции С++.

24 void openRecentFile();

25 void updateStatusBar();

26 void spreadsheetModified();

27 private:

28 void createActions();

29 void createMenus();

30 void createContextMenu();

31 void createToolBars();

32 void createStatusBar();

33 void readSettings();

34 void writeSettings();

35 bool okToContinue();

36 bool loadFile(const QString &fileName);

37 bool saveFile(const QString &fileName);

38 void setCurrentFile(const QString &fileName);

39 void updateRecentFileActions();

40 QString strippedName(const QString &fullFileName);

Для поддержки пользовательского интерфейса главному окну потребуется еще несколько закрытых слотов и закрытых функций.

41 Spreadsheet *spreadsheet;

42 FindDialog *findDialog;

43 QLabel *locationLabel;

44 QLabel *formulaLabel;

45 QStringList recentFiles;

46 QString curFile;

47 enum { MaxRecentFiles = 5 };

48 QAction *recentFileActions[MaxRecentFiles];

49 QAction *separatorAction;

50 QMenu *fileMenu;

51 QMenu *editMenu;

52 QToolBar *fileToolBar;

53 QToolBar *editToolBar;

54 QAction *newAction;

55 QAction *openAction;

56 QAction *aboutQtAction;

57 };

58 #endif

Кроме этих закрытых слотов и закрытых функций в подклассе MainWindow имеется также много закрытых переменных. По мере их использования мы будем объяснять их назначение.

Теперь мы кратко рассмотрим реализацию этого подкласса:

01 #include

02 #include "finddialog.h"

03 #include "gotocelldialog.h"

04 #include "mainwindow.h"

05 #include "sortdialog.h"

06 #include "spreadsheet.h"

Мы включаем заголовочный файл , который содержит определения всех классов Qt, используемых нашим подклассом. Мы также включаем некоторые пользовательские заголовочные файлы из главы 2, а именно finddialog.h, gotocelldialog.h и sortdialog.h.

07 MainWindow::MainWindow()

08 {

09 spreadsheet = new Spreadsheet;

10 setCentralWidget(spreadsheet);

11 createActions();

12 createMenus();

13 createContextMenu();

14 createToolBars();

15 createStatusBar();

16 readSettings();

17 findDialog = 0;

18 setWindowIcon(QIcon(":/images/icon.png"));

19 setCurrentFile("");

20 }

В конструкторе мы начинаем создание виджета Электронная таблица Spreadsheet и определяем его в качестве центрального виджета главного окна. Центральный виджет занимает среднюю часть главного окна (см. рис. 3.2). Класс Spreadsheet является подклассом QTableWidget, который обладает некоторыми возможностями электронной таблицы: например, он поддерживает формулы электронной таблицы. Реализацию этого класса мы рассмотрим в главе 4.

Рис 32 Области главного окна QMainWindow Мы вызываем закрытые функции - фото 39

Рис. 3.2. Области главного окна QMainWindow.

Мы вызываем закрытые функции createActions(), createMenus(), createContextMenu(), createToolBars() и createStatusBar() для построения остальной части главного окна. Мы также вызываем закрытую функцию readSettings() для чтения настроек, сохраненных в приложении.

Мы инициализируем указатель findDialog в нулевое значение, а при первом вызове MainWindow::find() мы создадим объект FindDialog. B конце конструктора в качестве пиктограммы окна мы задаем PNG—файл: icon.png. Qt поддерживает многие форматы графических файлов, включая BMP, GIF [4], JPEG, PNG, PNM, XBM и XPM. Функция QWidget::setWindowIcon() устанавливает пиктограмму в левый верхний угол окна. К сожалению, не существует независимого от платформы способа установки пиктограммы приложения, отображаемого на рабочем столе компьютера. Описание этой процедуры для различных платформ можно найти в сети Интернет по адресу http://doc.trolltech.com/4.1/appicon.html.

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

Интервал:

Закладка:

Сделать


Жасмин Бланшет читать все книги автора по порядку

Жасмин Бланшет - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




QT 4: программирование GUI на С++ отзывы


Отзывы читателей о книге QT 4: программирование GUI на С++, автор: Жасмин Бланшет. Читайте комментарии и мнения людей о произведении.


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

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