Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Andrey_hello от Апрель 03, 2008, 21:14



Название: Как QTextBrowser отображает html-таблицы
Отправлено: Andrey_hello от Апрель 03, 2008, 21:14
Проблема с отображением таблиц, которые должны быть одинаковой ширины и ячейки должны располагаться друг над другом, точнее таблица делается из одной делением по строкам.

Ниже привожу текст HTML-а и результат. Проставленные ширины совпадают, но таблицы почему то нет.
Qt3.3.4

Конечно есть небольшой косяк - не учтены ширины линий, но не настолько же отличаться должны в итоге.
Под Windows и под Linux результат одинаковый.
Интернет эксплорер отображает правильно (с небольшими сдвигами на не учтенные ширины линий рамок).

Код:
QString test_text("<HTML><HEAD><TITLE></TITLE>"
"</HEAD><BODY >"
"<TABLE BORDER=1 cellspacing=0 width=1060>"
"<TR bgcolor=\"red\">"
"<TD ALIGN=CENTER ROWSPAN=3 width=131>1</td>"
"<Th ALIGN=CENTER COLSPAN=2 width=220>2</th>"
"<Th ALIGN=CENTER COLSPAN=3 width=330>3</th>"
"<Th ALIGN=CENTER COLSPAN=2 width=201>4</th>"
"<Th ALIGN=CENTER width=91>5</th>"
"<Th ALIGN=CENTER rowSPAN=2 width=87>6</th>"
"</tr>"
"<TR bgcolor=\"red\">"
"<TD ALIGN=CENTER rowspan=2 width=110>1</td>"
"<TD ALIGN=CENTER rowspan=2 width=110>2</td>"
"<TD ALIGN=CENTER rowspan=2 width=110>3</td>"
"<TD ALIGN=CENTER rowspan=2 width=110>4</td>"
"<TD ALIGN=CENTER rowspan=2 width=110>5</td>"
"<TD ALIGN=CENTER rowspan=2 width=110>5</td>"
"<TD ALIGN=CENTER colspan=2 width=182>6</td>"
"</tr>"
"<TR align=CENTER bgcolor=\"red\">"
"<TD ALIGN=CENTER width=91>1</td>"
"<TD ALIGN=CENTER colspan=2 width=178>2</td>"
"</tr>"
"</table>"
"<BR>"
"<BR>"
"<TABLE BORDER=1 cellspacing=0 width=1060>"
"<TR bgcolor=\"red\">"
"<TD ALIGN=CENTER width=131>1</td>"
"<Th ALIGN=CENTEr width=110>2</th>"
"<Th ALIGN=CENTER width=220>3</th>"
"<Th ALIGN=CENTER width=110>4</th>"
"<Th ALIGN=CENTER width=311>5</th>"
"<Th ALIGN=CENTER width=178>6</th>"
"</tr>"
"</table>"
"</BODY></HTML>");



Название: Re: Как QTextBrowser отображает html-таблицы
Отправлено: Andrey_hello от Апрель 04, 2008, 18:11
 :)
Уже разобрался. Не совсем удачная конфигурация таблицы. Специально делал немного похитрей на время разработки обработчика таблиц.

Нормальные таблицы (после поправок в обработчике на толщины рамок) отображаются и совпадают по ширинам ячеек идеально.

А уж подумывал, что самому рисовать придется. >:(