Russian Qt Forum

Qt => Вопросы новичков => Тема начата: bez_glaz от Декабрь 18, 2012, 23:18



Название: OpenOffice + таблица
Отправлено: bez_glaz от Декабрь 18, 2012, 23:18
Добрый вечер. Есть простое задание в *.odt файл вывести таблицу с заданными ячейками и стилем.
Но уже на начальной стадии с границами таблицы возникли трудности
Код:
    QTextDocument *doc = new QTextDocument;

    QTextCursor m_cursor(doc);
    QTextTableFormat table;
    table.setBorderStyle(QTextFrameFormat::BorderStyle_Double);
    table.setBorder(10);

    m_cursor.insertTable(1, 3, table);


    QTextDocumentWriter writer("fileName.odt");
    writer.write(doc);
в получившемся файле отрисовывается таблица 1х3, но нет обрамления! Как я понял все "сэты" по поводу границ не рентабильны без фактора обрамления.
Как сделать нормальный вывод в документе ?


Название: Re: OpenOffice + таблица
Отправлено: bez_glaz от Декабрь 19, 2012, 00:06
Может вообще грамотнее будит использовать другие методы вывода в *.odt файл ?
Что-то типо API функций как для Word или Exel ??


Название: Re: OpenOffice + таблица
Отправлено: bez_glaz от Декабрь 19, 2012, 01:08
http://www.prog.org.ru/topic_17832_0.html
нарыл копию проблемы.
ВОпрос остаёться открытым - как можно нарисовать таблицу в *.odt файле с соответствующим форматированием средствами Qt ???


Название: Re: OpenOffice + таблица
Отправлено: ddrtn от Декабрь 19, 2012, 09:22
Проще сформировать документ как html, а потом уже текст райтером сохранить в odt - быстрее получится и проще менять параметры таблицы


Название: Re: OpenOffice + таблица
Отправлено: skandinavijos от Декабрь 19, 2012, 15:19
Да-да, год назад с этой же проблемой столкнулся. Решения не нашел, на форумах никто не ответил. В итоге на html перешел. К тому же в QTextDocumentWriter можно как odt сохранить


Название: Re: OpenOffice + таблица
Отправлено: Radmir от Июнь 01, 2014, 17:33
Добрый вечер. Есть простое задание в *.odt файл вывести таблицу с заданными ячейками и стилем.
Но уже на начальной стадии с границами таблицы возникли трудности
Код:
    QTextDocument *doc = new QTextDocument;

    QTextCursor m_cursor(doc);
    QTextTableFormat table;
    table.setBorderStyle(QTextFrameFormat::BorderStyle_Double);
    table.setBorder(10);

    m_cursor.insertTable(1, 3, table);


    QTextDocumentWriter writer("fileName.odt");
    writer.write(doc);
в получившемся файле отрисовывается таблица 1х3, но нет обрамления! Как я понял все "сэты" по поводу границ не рентабильны без фактора обрамления.
Как сделать нормальный вывод в документе ?

Засуньте свой документ в QTextedit, (sethtml) убедитесь, что таблица имеет attribute 'border="1"', и сохраните writer-ом в формате odt

С уважением ,
Радмир