Модель «клиент-сервер»
Модель «клиент-сервер» Сценарий модели «клиент-сервер» выглядит очень просто: сервер предлагает услуги, а клиент ими пользуется. Программа, использующая сокеты, может выполнять либо роль сервера, либо роль клиента. Для того чтобы клиент мог взаимодействовать с сервером, ему нужно знать его IP-адрес и номер порта, через который клиент, желающий воспользоваться этими услугами сервера, должен сообщить о себе. Когда […]
Контекстные меню в Qt
Контекстные меню в Qt Визитной карточкой профессионального приложения является наличие контекстного меню. Контекстное меню — это меню, которое открывается при нажатии правой кнопки мыши. Для его реализации, также как и в случае всплывающего меню, используется класс QMenu. Отличие состоит лишь в том, что это меню не присоединяется к виджету QMenuBar. На рисунке показано окно программы […]
Концепция Интервью в Qt
Концепция Интервью в Qt Модуль QtSql поддерживает концепцию Интервью, предоставляя целый ряд моделей для использования их в представлениях. Класс QSqlTableModel позволяет, например, отображать данные в табличной и иерархической форме. Использование Интервью — это самый простой способ отобразить данные таблицы. Здесь не потребуется цикла для прохождения по строкам таблицы. Программа, окно которой отображено на рисунке, демонстрирует […]
Класс QTimer
Класс QTimer Использование объекта класса QTimer гораздо проще, чем использование события таймера, определенного в классе QObject. К недостаткам работы с событием таймера относится необходимость наследования одного из классов наследующих QObject. Затем, в унаследованном классе нужно реализовать метод, принимающий объекты события таймера. А если в объекте создается более одного таймера, то возникает необходимость различать таймеры, чтобы […]
Класс времени QTime
Класс времени QTime Контроль над временем — очень важная задача, с помощью которой можно вычислять задержки в работе программы, отображать на экране текущее время, проверять время создания файлов и т. д. Для работы со временем библиотека Qt предоставляет класс QTime. Как и в случае с объектами даты, с объектами времени можно проводить операции сравнения ==, […]
QTemporaryFile — создание временных файлов
QTemporaryFile — создание временных файлов Иногда приложению может потребоваться создать временный файл. Это может быть связано, например, с промежуточным хранением большого объема данных или передачей этих данных какой-либо другой программе. Класс QTemporaryFile представляет реализацию для временных файлов. Этот класс самостоятельно создает себе имя с гарантией его уникальности, для того чтобы не возникало конфликтов, в результате […]
Класс QHttp
Использование класса QHttp HTTP (HyperText Transfer Protocol, протокол передачи гипертекста) является стандартным и самым известным протоколом для обмена данными в сетях. Его использование проще, чем использование рассмотренного FTP-протокола. В нем используется только одно соединение, в то время как FTP применяет два: одно для отсылки команд, другое — для перекачивания данных. Qt предоставляет класс QHttp для […]
Класс QFtp
Использование класса QFtp Для облегчения работы Qt предоставляет специализированные классы QFtp и QHttp, базирующиеся на классе QObject. Работа этих классов асинхронна, поэтому не нужно бояться того, что приложение будет заблокировано на время отправки сообщений или получения данных. Для того чтобы получать информацию о процессе выполнения команд, эти классы предоставляют сигналы, которые можно соединить, например, для […]
Класс QDialog для создания модальных и немодальных диалоговых окон
Класс QDialog для создания модальных и немодальных диалоговых окон Класс QDialog является базовым для всех диалоговых окон, представленных в классовой иерархии Qt. Хотя диалоговое окно можно создавать при помощи любого виджета, сделав его виджетом верхнего уровня, тем не менее, удобнее воспользоваться классом QDialog, который предоставляет ряд возможностей, необходимых всем диалоговым окнам. Диалоговые окна подразделяются на […]
QDataStream — чтение и запись двоичных файлов
QDataStream — чтение и запись двоичных файлов Класс QDateStream является гарантом того, что формат, в котором будут записаны данные, останется платформонезависимым и его можно будет считать и обработать на других платформах. Это делает класс незаменимым для обмена данными по сети с использованием сокетных соединений. Формат данных, используемый QDataStream, в процессе разработки версии Qt претерпел множество […]