Главная Програм-е на ЯВУ » Файлы » Лекции » Програм-е на ЯВУ [ Добавить материал ]

Работа с файлами в библиотеке Qt

[Скачать с сервера (306.6 Kb) - бесплатно] 13.12.2009, 02:23

Содержание лекции

  • Типовая последовательность работы с файлом
  • Стандартный диалог выбора файла
  • Класс файла
  • Потоки данных
  • Использование перегруженных операций для работы с потоками

Фрагменты лекции

Типовая последовательность работы с файлом

  • Класс QFile используется для представления файла в программе.
  • Типовая последовательность работы с файлом:
    1. узнать имя файла, используя стандартный диа- лог (QFileDialog)
    2. создать объект файла (QFile)
    3. открыть файл (QFile)
    4. создать поток для ввода/вывода (QDataStream или QTextStream) и связать его с файлом
    5. считать/записать данные с использованием по- тока (QDataStream или QTextStream)
    6. закрыть файл (QFile)

Фильтрация файлов по расширению

  • Диалог выбора файлов может отбирать файлы по указанным расширениям, при этом пользователь может выбрать один из предложенных вариантов фильтрации.
  • Строка фильтров состоит из описаний фильтров, разделенных двойным знаком точки с запятой.
  • Описание фильтра состоит из имени и перечня шаблонов для имен файлов в круглых скобках
  • Пример:
"Open Office document (*.odt, *.odp);;
Portable document format (*.pdf)"

Диалог открытия файла

  • QString — имя выбранного файла, пустая строка  в случае отмены
  • QFileDialog::getOpenFileName(
  • QWidget * - указатель на окно-родитель
  • const QString & - строка заголовка
  • const QString & - начальный каталог (пустая строка если использовать текущий)
  • const QString & - фильтр файлов по расширению
  • QString * - изначально выбранный фильтр, обычно 0
  • Options — опции настройки, обычно 0
  • );

Потоки ввода/вывода

  • Используя объект файла (QFile), можно читать и записывать данные, хранящиеся в файле. Однако чтение/запись выполняется на низком уровне - побайтово.
  • Для высокоуровневой работы с файлом (чтения/записи чисел, строк, дат и т.д.) используются потоки.
  • В библиотеке Qt потоки ввода/вывода представлены классами:
    • QDataStream — записывает и читает данные в двоичном формате
    • QTextStream — записывает и читает данные в текстовом формате

Операции ввода/вывода

  • В классах QDataStream и TextStream определены операции ввода/вывода для стандартных типов данных (числа, массивы символов, логические значения).
  • В классах QString, QDate, QDateTime и QTime определены собственные операции ввода/вывода через поток.
  • В контейнерных классах также определены операции ввода/вывода. Однако для хранимых значений и ключей должны быть определены операции ввода/вывода.
Похожие материалы:

Добавил: COBA (13.12.2009) | Категория: Програм-е на ЯВУ
Просмотров: 8107 | Загрузок: 7922 | Рейтинг: 5.0/1 |
Теги: Qt, программирование, ЯВУ, C++, лекции
Комментарии (1)
0   Спам
1. Spark   08.01.2010   03:06 [Материал]
На самом деле вообще отличные лекции
Но то что у Костерина помню были.. тысячи буковок и в целом получалось ничего, в башке просто ни капли не оседало после их просмотра)

Имя *:
Email *:
Код *: