Russian Qt Forum
Март 29, 2024, 08:03
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Qt-инструментарий
>
chm2qch: Конвертер CHM -> QCH
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: chm2qch: Конвертер CHM -> QCH (Прочитано 9980 раз)
mitrich
Гость
chm2qch: Конвертер CHM -> QCH
«
:
Январь 05, 2017, 20:02 »
Вот, навалял конвертер файлов справки СHM (Windows compiled HTML Help) в QCH (Qt Compressed Help), чтобы смотреть их в Creator/Assistant.
https://bitbucket.org/mitrich_k/chm2qch/
Сборка как обычно, qmake + make, внешних зависимостей кроме Qt >= 5.2 нет.
Пример использования:
chm2qch -g HelpFile.chm
- распакует в текущий каталог содержимое CHM, создаст файл проекта
HelpFile.qhp
и вызовет
qhelpgenerator
для генерации собственно
HelpFile.qch
Опции:
-g
Вызвать qhelpgenerator в конце
-c
Удалить все промежуточные файлы (*.html, *.qhp, ...) кроме финального *.qch
-r
Не объединять документацию в одном корневом разделе
-q
Тихий режим, не выводить никаких сообщений
-n=namespace
Задать namespace для документации (напр.
-n=com.microsoft.sapi.51
)
-d=outdir
Задать целевой каталог
Записан
panAlexey
Гипер активный житель
Offline
Сообщений: 864
Акцио ЗАРПЛАТА!!!!! :(
Re: chm2qch: Конвертер CHM -> QCH
«
Ответ #1 :
Январь 05, 2017, 20:25 »
Цитата: mitrich от Январь 05, 2017, 20:02
Сборка как обычно, qmake + make, внешних зависимостей кроме
Qt >= 5.2 нет.
эх
Записан
Win Xp SP-2, Qt4.3.4/MinGW.
http://trdm.1gb.ru/
mitrich
Гость
Re: chm2qch: Конвертер CHM -> QCH
«
Ответ #2 :
Январь 05, 2017, 20:45 »
Из 5-й там только QCommandLinerParser в main() используется, можно и выкинуть в принципе. Потом может какой дефайн сделаю для 4-ки.
Хотя, к чёрту дефайны
Присобачил подправленный QCommandLineParser для Qt 4.
«
Последнее редактирование: Январь 06, 2017, 17:45 от mitrich
»
Записан
panAlexey
Гипер активный житель
Offline
Сообщений: 864
Акцио ЗАРПЛАТА!!!!! :(
Re: chm2qch: Конвертер CHM -> QCH
«
Ответ #3 :
Январь 15, 2017, 15:03 »
Есть проблема *.qhp распаковывается в UTF-8 без конвертации.
прилагаю файлы.
Фишка в том, что если кодировка отличается от 1251 в chm, то в окне "поиска" и "избранном" идут кракозябры или не срабатывает поиск.
ПС. Умудрился поставить на win xp 2010 студию. и Qt5.2.1 попробую сам порихтовать.
«
Последнее редактирование: Январь 15, 2017, 15:08 от panAlexey
»
Записан
Win Xp SP-2, Qt4.3.4/MinGW.
http://trdm.1gb.ru/
mitrich
Гость
Re: chm2qch: Конвертер CHM -> QCH
«
Ответ #4 :
Январь 16, 2017, 15:52 »
Это я не в том месте кодировку проверял. Исправил, сейчас читается из раздела системной инфы.
Бинарник пока не выложил, ещё кой-какую фигню поправлю.
«
Последнее редактирование: Январь 16, 2017, 15:54 от mitrich
»
Записан
panAlexey
Гипер активный житель
Offline
Сообщений: 864
Акцио ЗАРПЛАТА!!!!! :(
Re: chm2qch: Конвертер CHM -> QCH
«
Ответ #5 :
Январь 16, 2017, 16:29 »
Есть еще одна проблема.
Программа не находит профиль Qt на компьютере, если он напрямую не указан в PATH.
У меня на компе след профили Qt:
473, 485, 521 и 551 мингва.
Соотв. в PATH ничего не указано.
Может стоит брать путь к профилю из настроек креатора?
ПС. Ну или хотябы дать возможность указать путь к толчейну.
Настройки креатора тут:
%HOMEPATH%\Application Data\QtProject\qtcreator\qtversion.xml
«
Последнее редактирование: Январь 16, 2017, 16:44 от panAlexey
»
Записан
Win Xp SP-2, Qt4.3.4/MinGW.
http://trdm.1gb.ru/
mitrich
Гость
Re: chm2qch: Конвертер CHM -> QCH
«
Ответ #6 :
Январь 16, 2017, 17:52 »
Сделаю. У меня просто основной профиль Qt в PATH прописан, так я и забыл про это.
Записан
mitrich
Гость
Re: chm2qch: Конвертер CHM -> QCH
«
Ответ #7 :
Январь 18, 2017, 18:51 »
Цитата: panAlexey от Январь 16, 2017, 16:29
Может стоит брать путь к профилю из настроек креатора?
ПС. Ну или хотябы дать возможность указать путь к толчейну.
Сделал автонахождение директории Qt + возможность задать самому (ключ
-qtbindir=
и комбобокс в GUI)
Заодно нашёл и исправил маленький (опечатка в 3 символа) но жирный баг: вместо правильных ключевых слов в индексе, туда просто копировалось содержание.
«
Последнее редактирование: Январь 18, 2017, 18:58 от mitrich
»
Записан
panAlexey
Гипер активный житель
Offline
Сообщений: 864
Акцио ЗАРПЛАТА!!!!! :(
Re: chm2qch: Конвертер CHM -> QCH
«
Ответ #8 :
Январь 18, 2017, 21:55 »
Круто! Благодарю.
Еще одно неудобство: "застревает" вычисленное пространство имен где-то в переменных.
Приходится открывать/закрывать конвертер для конвертирования следующейго файла.
Это видно, когда в ассистанте добавляешь новый файл Меню->Правка->Настройки->Документация->[Добавить]
От кракозябр полностью не избавились, но уже полегче.
Кракозябры идут в самом корне.
Конвертировал
эти файлы.
Выглядит это вот так:
«
Последнее редактирование: Январь 18, 2017, 22:47 от panAlexey
»
Записан
Win Xp SP-2, Qt4.3.4/MinGW.
http://trdm.1gb.ru/
panAlexey
Гипер активный житель
Offline
Сообщений: 864
Акцио ЗАРПЛАТА!!!!! :(
Re: chm2qch: Конвертер CHM -> QCH
«
Ответ #9 :
Январь 19, 2017, 00:01 »
Цитата: mitrich от Январь 18, 2017, 18:51
Цитата: panAlexey от Январь 16, 2017, 16:29
Может стоит брать путь к профилю из настроек креатора?
ПС. Ну или хотябы дать возможность указать путь к толчейну.
Сделал автонахождение директории Qt + возможность задать самому (ключ
-qtbindir=
и комбобокс в GUI)
Заодно нашёл и исправил маленький (опечатка в 3 символа) но жирный баг: вместо правильных ключевых слов в индексе, туда просто копировалось содержание.
Ну, на самом деле когда пакую chm у меня не доходит дело до индексов.
Дело обстоит так:
собираю корневой index.html, натаскиваю нужных страниц из интета, запускаю скрипт для удаления скриптов и прочей бодяги из html, запускаю скрипт генерации *.hhc (TOC файла (Table of Contents). ) и скармливаю это все генератору хелпа.
ПС. Скажите, а что позволяет использовать такие конструкции в c++ "{qhpname}"??
Код:
bool Converter::runQhg(const QString &qhpname)
{
QProcess::ProcessError e = runProcess(appName, {qhpname});
У меня компилятор не понимает этих конструкций, приходится их обходить.
Код:
QStringList li; li.append(qhpname);
QProcess::ProcessError e = runProcess(appName, li);
«
Последнее редактирование: Январь 19, 2017, 00:04 от panAlexey
»
Записан
Win Xp SP-2, Qt4.3.4/MinGW.
http://trdm.1gb.ru/
kambala
Джедай : наставник для всех
Offline
Сообщений: 4724
Re: chm2qch: Конвертер CHM -> QCH
«
Ответ #10 :
Январь 19, 2017, 00:45 »
это initializer_list из C++11
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
mitrich
Гость
Re: chm2qch: Конвертер CHM -> QCH
«
Ответ #11 :
Январь 19, 2017, 12:58 »
Цитата: panAlexey от Январь 18, 2017, 21:55
Кракозябры идут в самом корне.
Исправил.
Цитата: panAlexey от Январь 18, 2017, 21:55
"застревает" вычисленное пространство имен где-то в переменных.
Не обнаружил. Возможно, я это исправил до твоего сообщения.
Записан
panAlexey
Гипер активный житель
Offline
Сообщений: 864
Акцио ЗАРПЛАТА!!!!! :(
Re: chm2qch: Конвертер CHM -> QCH
«
Ответ #12 :
Январь 19, 2017, 14:45 »
Цитата: mitrich от Январь 19, 2017, 12:58
Цитата: panAlexey от Январь 18, 2017, 21:55
Кракозябры идут в самом корне.
Исправил.
Цитата: panAlexey от Январь 18, 2017, 21:55
"застревает" вычисленное пространство имен где-то в переменных.
Не обнаружил. Возможно, я это исправил до твоего сообщения.
Подтверждаю, все работает отлично.
ПС. Для меня chm2qch - эта программа просто спасение в плане разработки, теперь могу не тратить кучу времени на поиск нужного часто используемого файла справки, а просто открыть ассистант и выбрать нужный пункт.
Примите мою благодарность!
«
Последнее редактирование: Январь 19, 2017, 15:04 от panAlexey
»
Записан
Win Xp SP-2, Qt4.3.4/MinGW.
http://trdm.1gb.ru/
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...