Работа с zip архивами в Qt |
Здравствуйте, гость ( Вход | Регистрация )
Работа с zip архивами в Qt |
igor_bogomolov |
13.1.2011, 17:40
Сообщение
#1
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
Написал небольшую заметку в wiki по работе с zip архивами в Qt.
Цитата В Qt есть не документированные классы для работы с zip архивами. Эти классы позволяют распаковывать уже существующие архивы по заданному пути, так и создавать новые архивы. Для создания используется класс QZipWriter, для распаковки QZipReader. Реализация этих классов находятся по следующему пути qt/src/gui/text в файлах qzipreader_p.h, qzipwriter_p.h и qzip.cpp. Продолжение здесь... |
|
|
Алексей1153 |
13.1.2011, 20:06
Сообщение
#2
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
круто ) Одним головняком меньше, если что))
|
|
|
ufna |
13.1.2011, 22:57
Сообщение
#3
|
Активный участник Группа: Участник Сообщений: 362 Регистрация: 24.5.2008 Из: Курган/СПб Пользователь №: 182 Спасибо сказали: 29 раз(а) Репутация: 5 |
А они разве есть в Qt 4.7 ? Давно сий финт юзаю, помнится даже в 4.6.х какой-то уже не было.
|
|
|
Алексей1153 |
13.1.2011, 23:07
Сообщение
#4
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
ufna, я глянул щас - есть. У меня Qt 4.7.0
|
|
|
ufna |
13.1.2011, 23:31
Сообщение
#5
|
Активный участник Группа: Участник Сообщений: 362 Регистрация: 24.5.2008 Из: Курган/СПб Пользователь №: 182 Спасибо сказали: 29 раз(а) Репутация: 5 |
Видимо в какой-то из промежуточных косяк был, я из-за этого отказался от использования.
|
|
|
igor_bogomolov |
14.1.2011, 8:40
Сообщение
#6
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
А они разве есть в Qt 4.7 ? Давно сий финт юзаю, помнится даже в 4.6.х какой-то уже не было. Эти классы появились с версии Qt4.5. Используются для поддержки ODF формата, Так что пропасть эти классы не могли и не могут Тем более я предлагаю не подключать эти файлы как есть (под Linux это и не получится), а заимствовать их в свой проект. |
|
|
Rocky |
19.1.2011, 9:27
Сообщение
#7
|
Старейший участник Группа: Участник Сообщений: 530 Регистрация: 22.12.2008 Из: Санкт-Петербург Пользователь №: 463 Спасибо сказали: 22 раз(а) Репутация: 7 |
А как нужно правильно заинклудить хидеры qzipreader_p.h и qzipwriter_p.h?
Если писать так
то QtCreator их не видит... А вот так:
недолговечно... ------------ UPD Все, понятно. Включать их вообще безсмысленно (таким образом). ------------ UPD Включил 3 zip-файла в проект, но gcc ругается что не может найти zlib. Сам файл находится тут. qt/src/3rdparty/zlib. cmake я не использую. В проекте пытаюсь указать директорий включения так:
QTDIR в переменных среды сборки в Qt Creator указана как /home/evgeny/qtsdk-2010.05/qt. Результат - все равно не видит zlib.h. А если задать полный путь, то все ок. Как это можно побороть? Т.е. я так понимаю QTDIR не разворачивается чтоли?( Сообщение отредактировал Rocky - 19.1.2011, 10:06 |
|
|
Litkevich Yuriy |
19.1.2011, 10:53
Сообщение
#8
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Rocky |
19.1.2011, 10:58
Сообщение
#9
|
Старейший участник Группа: Участник Сообщений: 530 Регистрация: 22.12.2008 Из: Санкт-Петербург Пользователь №: 463 Спасибо сказали: 22 раз(а) Репутация: 7 |
Чисто свои по относительному пути:
Qt
А эти, zip, я создал директорий Zip, добавил туда 3 файла, qzipreader_p.h, qzipwriter_p.h, qzip.cpp и подключаю так:
|
|
|
igor_bogomolov |
19.1.2011, 11:15
Сообщение
#10
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
Rocky, попробуй так
|
|
|
Текстовая версия | Сейчас: 24.11.2024, 10:45 |