Просмотр директории с помощью QDir
Просмотр директории с помощью QDir При помощи класса QDir можно получить содержимое указанной директории. При этом допускается применять различные фильтры, чтобы исключить из списка не интересующие вас файлы. Для этих целей в классе определены методы entryList() и entryInfoList(). Первый возвращает список имен элементов (QStringList), а второй — информационный список (QFileInfoList). Если вам нужно узнать только […]
Проведение тестов в Qt
Проведение тестов в Qt Тестирование — это фундамент быстрой разработки программ, позволяющий быстро продвигаться вперед. На самом деле, на написание кода тратится не так уж много времени. Много времени уходит на понимание задачи и проектирование. Ну а львиную долю занимает отладка. Каждый из читателей наверняка помнит часы, а может и дни, которые ему пришлось посвятить […]
QMutex — мьютексы в Qt
QMutex — мьютексы в Qt Мьютексы (mutex) обеспечивают взаимоисключающий доступ к ресурсам, гарантирующий то, что критическая секция будет обрабатываться только одним потоком. Поток, владеющий мьютексом, обладает эксклюзивным правом на использование ресурса, защищенного мьютексом, и другой поток не может завладеть уже занятым мьютексом. Мьютексы можно образно сравнить с дверью душевой кабинки, способной разместить только одного человека. […]
Программирование баз данных с помощью Qt
Программирование баз данных с помощью Qt База данных представляет собой систему хранения записей, организованных в виде таблиц. База данных может содержать от одной до нескольких сотен таблиц, которые бывают связаны между собой. Таблица состоит из набора строк и столбцов. Столбцы таблицы имеют имена и за каждым из них закреплен тип и/или область значения. Строки таблицы […]
Поддержка сети в Qt
Поддержка сети в Qt Для того, чтобы облегчить создание сетевых кроссплатформенных приложений, разработчики фреймворка Qt предусмотрели модуль работы с сетью QtNetwork. Модуль QtNetwork содержит как высокоуровневые классы, такие как QHttp или QFtp, так и классы QAbstractSocket, QTcpServer, QUdpSocket, с помощью которых можно работать с сетью на низком уровне. Сокетное соединение Сокет — это устройство пересылки […]
Процессы и потоки в Qt
Процессы и потоки в Qt Процессы представляют собой программы, независимые друг от друга и загруженные для исполнения. Каждый процесс должен создавать хотя бы один поток, называемый основным. Основной поток процесса создается в момент запуска программы. Однако сам процесс может создавать несколько потоков одновременно. Многопоточность позволяет разделять задачи и независимо работать над каждой из них для […]
Подсказки пользователю
Предоставление помощи Главная задача помощи состоит в обеспечении пользователя всей необходимой информацией о приложении и его элементах, что делает работу пользователя более удобной. Различают три типа помощи: воздушная подсказка; подсказка «Что это»; система помощи (Online Help). Воздушная подсказка Работая с программами, вы, наверное, заметили, что при задержке указателя мыши над кнопками панелей инструментов автоматически появляется […]
Приоритеты потоков в Qt
Приоритеты потоков в Qt У каждого потока есть приоритет, указывающий процессору, как должно протекать выполнение потока по отношению к другим потокам. Приоритеты разделяются по группам: >>в первую входят четыре наиболее часто применяемых приоритета. Их значимость распределяется по возрастанию — IdlePriority, LowestPriority, LowPriority, NormaiPriority. Они подходят для решения задач, которым процессор требуется только время от времени, […]
Поддержка собственных расширений в приложениях
Поддержка собственных расширений в приложениях Связь с расширением производится с помощью интерфейса, поэтому приложение должно предоставлять по меньшей мере один интерфейс для использования расширения. Расширения загружаются приложением при помощи класса QPluginLoader, который содержит несколько методов. Самый часто используемый из них — это метод instance(), создающий и возвращающий указатель на объект расширения. Этот класс автоматически производит […]
Потоки ввода/вывода. Класс QTextStream
Потоки ввода/вывода. Класс QTextStream Объекты файлов, сами по себе, обладают только элементарными методами для чтения и записи информации. Использование потоков делает запись и считывание файлов более простым и гибким. Для файлов, содержащих текстовую информацию, следует использовать класс QTextStream, а для двоичных файлов — класс QDataStream. Применение классов QTextStream и QDataStream такое же, как и для […]