crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему
> Работа с 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


фрилансер
******

Группа: Участник
Сообщений: 2846
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 211 раз(а)




Репутация:   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


фрилансер
******

Группа: Участник
Сообщений: 2846
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 211 раз(а)




Репутация:   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  


Цитата(ufna @ 13.1.2011, 22:57) *
А они разве есть в 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?

Если писать так
#include qzipreader_p.h
#include qzipwriter_p.h

то QtCreator их не видит... А вот так:
#include "/home/evgeny/qtsdk-2010.05/qt/include/QtGui/private/qzipreader_p.h"
#include "/home/evgeny/qtsdk-2010.05/qt/include/QtGui/private/qzipwriter_p.h"

недолговечно...

------------
UPD
Все, понятно. Включать их вообще безсмысленно (таким образом).

------------
UPD

Включил 3 zip-файла в проект, но gcc ругается что не может найти zlib. Сам файл находится тут. qt/src/3rdparty/zlib. cmake я не использую. В проекте пытаюсь указать директорий включения так:
INCLUDEPATH += . \
......
$${QTDIR}/src/3rdparty/zlib

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


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9648
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Rocky @ 19.1.2011, 11:27) *
Если писать так
а как ты свои заголовочники подключаешь?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Rocky
  опции профиля:
сообщение 19.1.2011, 10:58
Сообщение #9


Старейший участник
****

Группа: Участник
Сообщений: 530
Регистрация: 22.12.2008
Из: Санкт-Петербург
Пользователь №: 463

Спасибо сказали: 22 раз(а)




Репутация:   7  


Чисто свои по относительному пути:
#include "./MainWindow.h"
#include "./ErrorEnum.h"


Qt
#include <QDate>
#include <QFile>
#include <QLibrary>
#include <QDebug>


А эти, zip, я создал директорий Zip, добавил туда 3 файла, qzipreader_p.h, qzipwriter_p.h, qzip.cpp и подключаю так:
#include "../Zip/qzipreader_p.h"
#include "../Zip/qzipwriter_p.h"
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 19.1.2011, 11:15
Сообщение #10


Профессионал
*****

Группа: Сомодератор
Сообщений: 1215
Регистрация: 22.3.2009
Из: Саратов
Пользователь №: 630

Спасибо сказали: 235 раз(а)




Репутация:   29  


Rocky, попробуй так
INCLUDEPATH += $$[QT_INSTALL_PREFIX]/src/3rdparty/zlib
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

2 страниц V   1 2 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 10.12.2018, 18:17