Russian Qt Forum
Ноябрь 11, 2024, 04:36
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Печать
>
Отчеты
Страниц: [
1
]
2
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Отчеты (Прочитано 19984 раз)
beginner
Гость
Отчеты
«
:
Январь 24, 2006, 02:03 »
Каким лучше образом генерировать отчеты из под Qt? Нужно ли влоб забивать текстом файлик и получать из него то, что нужно (например html) или же есть более удобные способы создания отчетов, например какая-нибудь интеграция с OpenOffice?
Записан
LestorN
Гость
Отчеты
«
Ответ #1 :
Январь 24, 2006, 07:59 »
Я сделал отчёты пользуясь QTextDocument. Без графиков, но таблички вполне прилично получаются, а в QT4.1 можно выгружать в PDF так что всё в ажуре!
Записан
yshurik
Гость
Отчеты
«
Ответ #2 :
Январь 24, 2006, 13:44 »
А можно про "выгружать в PDF" по-подробнее пожалуста? Что тут имеется ввиду?
Записан
LestorN
Гость
Отчеты
«
Ответ #3 :
Январь 24, 2006, 14:44 »
У QT4.1 можно сделать так
QPrinter printer();
printer.setOutputFileName(fileName);
printer.setOutputFormat(QPrinter::PdfFormat);
report->print(&printer);
и в файле с именем fileName будет PDF документ... Смотрится вполне хорошо...
Записан
nEoN
Гость
Отчеты
«
Ответ #4 :
Январь 24, 2006, 15:07 »
А кто нибудь знает, есть ли в Qt 4.1 возможность
просмотра
PDF ?
Очень удобно было бы в качестве print preview использовать.
Записан
LestorN
Гость
Отчеты
«
Ответ #5 :
Январь 24, 2006, 15:14 »
Вот с print preview облом... Мне пока не сильно нужно, я не особо копал... Идея вертится около того что и QPrinter и QWidget являются наследниками от QPaintDevice. Пытался распечатать на QWidget или что-то типа того (давно было не помню уже) но ничего не получилось. Есть идеи?
Записан
nEoN
Гость
Отчеты
«
Ответ #6 :
Январь 24, 2006, 16:50 »
С отображением PDF похоже нереальная задача, разве что в Win использовать ActiveQt+Adobe Acrobat Reader.
А вообще, если повозиться, помоему реально сделать "Print preview widget".
Если отчёт у нас в виде HTML, то можно сделать функцию, аналогичную методу QTextDocument::print(QPrinter *printer) , т.е. используя настройки принтера выводить результат не на принтер (там это QPainter(printer)), а на экран QPainter(widget), преварительно масштабируя под размеры виджета.
В исходниках QTextDocument::print() всё подробно описано ;-)
Записан
beginner
Гость
Отчеты
«
Ответ #7 :
Январь 26, 2006, 00:56 »
Так всё-таки, для создание html и openoffice доков нет никаких спецсредств?
Записан
Вудруф
Гость
Отчеты
«
Ответ #8 :
Январь 26, 2006, 07:21 »
ИМХО, html-то можно и руками создавать...
Записан
beginner
Гость
Отчеты
«
Ответ #9 :
Январь 26, 2006, 19:36 »
Цитата: "Вудруф"
ИМХО, html-то можно и руками создавать...
Ясно что можно, и OpenOffice тоже можно, как и многие другие, но думал, что есть какие-нибудь средства которые упрощают этот процесс. Нет так нет.
Записан
crocus
Гость
Отчеты
«
Ответ #10 :
Январь 27, 2006, 06:01 »
to LestorN:
А подскажи пожалуйста как ты добился на печать всех страниц документа, я использую пример imageviewer для просмотра,
там image отображается в Qlabel и далее в QScrollArea, и мне отображается только первая страница.
Записан
LestorN
Гость
Отчеты
«
Ответ #11 :
Январь 27, 2006, 08:53 »
to crocus
Я немного не понял вопроса. Если ты про предпросмотр, то я его так и не расколдовал, не заработало. А сам QTextDocument смотрю через QTextEdit
Записан
Sergey B.
Программист
Offline
Сообщений: 544
Отчеты
«
Ответ #12 :
Январь 27, 2006, 09:27 »
Цитата: "LestorN"
to crocus
Я немного не понял вопроса. Если ты про предпросмотр, то я его так и не расколдовал, не заработало. А сам QTextDocument смотрю через QTextEdit
Расшифруй кодом
Записан
LestorN
Гость
Отчеты
«
Ответ #13 :
Январь 27, 2006, 10:08 »
QTextDocument *doc = QTextDocument();
// издеваемся над doc
QTextEdit *te = new QTextEdit();
te->setDocument(doc);
Записан
crocus
Гость
Отчеты
«
Ответ #14 :
Январь 27, 2006, 10:17 »
Под рукой проекта нет только вечером,
смысл такой как и рекомендовал товарищ nEoN используем исходник
QTextDocument::print и скрещиваем с
http://prog.org.ru/forum/topic_2433.html
, основная проблема была как загнать текст в QRect.
Записан
Страниц: [
1
]
2
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
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 сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...