Название: QTextDocument: границы ячеек в таблице Отправлено: qks1 от Март 25, 2013, 14:38 Доброго дня!
Есть необходимость вывести на печать отчётик с непростой таблицей... В последней строке этой таблицы должна рисоваться только часть ячеек, упрощённый пример: (https://lh4.googleusercontent.com/-bq_qJB-V28o/UVA1SizGqqI/AAAAAAAAAJ0/vA9nVDCNCIA/s124/qqq.JPG) В хтмл, если тупо закодить всё топором, это выглядит вот так: Код
То есть у двух первых ячеек в нижней строке мы рисуем только верхнюю границу, а у остальных - все (я знаю, что это мегаговнокод, оно здесь просто чтобы объяснить идею). Но кьютовский setHtml не поддерживает стили для отдельных ячеек, только для всей таблицы. Точно так же и в QTextTable можно задавать формат только для таблицы целиком, так что этот вариант тоже в пролёте. А как ещё можно нарисовать таблицу - я не знаю... Эмм... эни саггешнс? В голову лезет только совсем наркоманский вариант вручную отрисовывать все линии QPainter'ом ??? Название: Re: QTextDocument: границы ячеек в таблице Отправлено: qks1 от Март 25, 2013, 15:09 Для пущей понятности:
если задать стиль границ для всей таблицы, то границы замечательно отрисовываются: Код
(https://lh5.googleusercontent.com/-rGzWKbKaXvg/UVA9kb6iucI/AAAAAAAAAKY/jkBFuONh8jQ/s126/qq1.JPG) Если же индусить а-ля вышеприведённый хтмл и задавать стиль для каждой ячейки, то вместо границ рисуется Код
(https://lh6.googleusercontent.com/-FbbL9OoC0Sg/UVA9kVggsTI/AAAAAAAAAKc/2eI0N75UIs8/s125/qq2.JPG) А мне нужно получить такую табличку, как в предыдущем посте. Название: Re: QTextDocument: границы ячеек в таблице Отправлено: carrygun от Март 26, 2013, 06:30 Я с текстДокументом не работал, но еще один из наркоманских вариантов - загнать все в html и распечатать из webView :D
Название: Re: QTextDocument: границы ячеек в таблице Отправлено: qks1 от Март 26, 2013, 11:43 Я с текстДокументом не работал, но еще один из наркоманских вариантов - загнать все в html и распечатать из webView :D А ведь это мысля! Табличка рисуется гораздо проще и аккуратнее, спасибо за совет! Но вот с печатью пока беда. Накодил что-то такое: Код
То есть я хочу вывести таблицу из ста строк, разбив её на две (или сколько потребуется) страницы. В функции populate_web есть цикл, который добавляет строку к таблице и заодно отслеживает приближение конца страницы, сравнивая content_height и page_height. Но вместо таблицы на всю страницу с аккуратными десятимиллиметровыми полями я получаю вот такую бяку (ссылка (https://lh4.googleusercontent.com/-JVkbhfw8KEg/UVFeu86znAI/AAAAAAAAAK8/QnvTwyhtX-g/s901/%D0%91%D0%B5%D0%B7+%D0%B8%D0%BC%D0%B5%D0%BD%D0%B8.png), ибо картинка великовата для вставки). Причём скроллбар появляется только со второй страницы, на первой его нет. Что с этим делать? С QWebView раньше не работал, так что мог пропустить что-то совсем очевидное ??? Название: Re: QTextDocument: границы ячеек в таблице Отправлено: panAlexey от Март 27, 2013, 23:34 папиарю свой отчетник (http://code.google.com/p/unnstudioreport/) чуток:
Название: Re: QTextDocument: границы ячеек в таблице Отправлено: panAlexey от Март 27, 2013, 23:54 Упс, ошибочка вышла.
надо не: Код: doc->setCellText(1,3,"3"); doc->setCellText(2,3,"Three");doc->setCellText(2,3,"Finish"); Код: doc->setCellText(1,3,"3"); doc->setCellText(2,3,"Three");doc->setCellText(3,3,"Finish"); Название: Re: QTextDocument: границы ячеек в таблице Отправлено: qks1 от Март 28, 2013, 14:54 папиарю свой отчетник (http://code.google.com/p/unnstudioreport/) чуток: Уже видели, эту тему (http://www.prog.org.ru/topic_19872_0.html) читали (да-да, речь идёт в том числе и о торг-12) :) Пока что решил всё-таки действительно отрисовывать вручную QPainter'ом... Это не так страшно, как казалось на первый взгляд, и полный контроль над результатом :) |