Russian Qt Forum
Ноябрь 22, 2024, 15:46 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QTextBrowser and CSS  (Прочитано 9823 раз)
FreTFuL
Гость
« : Август 22, 2010, 16:53 »

Дайте мне пожалуйста  кусочек кода в котором у вас получилось  отобразить в QTextBrowser с HTML таблицей і CSS.


таблицу я делаю.
Код:
QTextDocument *doc = new QTextDocument;
           QFile *File = new QFile("../Trader/html.txt");
           File->open(QFile::ReadOnly | QFile::Text);
           QString html = File->readAll();
           qDebug() << html;
        QFile *File2 = new QFile("../Trader/html2.txt");
        File2->open(QFile::ReadOnly | QFile::Text);
        QString css = File2->readAll();
        qDebug() << css;
        doc->addResource(QTextDocument::StyleSheetResource,QUrl("format.css"),css);
        doc->setHtml(html);
        QTextBrowser *br = new QTextBrowser;
        br->setDocument(doc);
        br->show();

По етому примеру пробую подключить CSS.
http://www.qtcentre.org/wiki/index.php?title=QTextBrowser_with_images_and_CSS

И ничего не полуається таблица отображается без стиля((

Мне нужна обичная таблица с чорными линиями.
Помогите пожалуйста.
Записан
volkov9999
Гость
« Ответ #1 : Август 25, 2010, 18:46 »

Стили из css файла можно вставить в хеадер html файла. Вот пример:

Код:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>  </title>
<style type="text/css">
<!--
body,td,th {
font-family: Verdana, Arial, Helvetica, sans-serif;
}
body {
background-image: url(img/back3.jpg);
background-attachment:fixed;
background-position:center
}
-->
</style>
<link href="mainstyle.css" rel="stylesheet" type="text/css" />
</head>

<body>

и т.д.

Записан
volkov9999
Гость
« Ответ #2 : Сентябрь 09, 2010, 23:50 »

Вынужден признать последний пост неверен. нуна делать так было:

Код:
QString text ;
text = QString::fromUtf8(       " <table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">"
                                            " <tr style=\"font:Arial, Helvetica, sans-serif;font-size:14px;\" >"   // так можно прописать стили
                                              " <td width=\"100\">&nbsp;</td>"
                                              " <td colspan=\"3\"><h1><center>YOUR_TEXT_MAY_BE_HERE
 "<hr /> "  // черная линия
</center></h1></td>"
                                              " <td width=\"100\">&nbsp;</td>"
                                            " </tr>"
                                          " </table>"  ;
 text.replace(QString("YOUR_TEXT_MAY_BE_HERE"), some_QString );
printer  = QPrinter () ;
prDialog = QPrintPreviewDialog() ;
cTextBrowser = QTextBrowser();

 cTextBrowser.setHtml(text);
  prDialog.exec();


Только почему-то у меня цифры съезжают книзу и двоеточия миниатюрные получаются, хз почему.
« Последнее редактирование: Сентябрь 09, 2010, 23:52 от volkov9999 » Записан
andrew.k
Гость
« Ответ #3 : Сентябрь 22, 2010, 17:43 »

как раз борюсь надо той же проблемой.
Сделал шаблон в html подогнаный под лист А4. Сверстан на дивах + css.
Запихнул все в QTextDocument и планирую печатать.
Пока все встало на проблеме с CSS.
Использую версию 4.4.3.
Как я понимаю этот документ как раз описывает, что поддерживается, а что нет.
http://doc.trolltech.com/4.4/richtext-html-subset.html#block-attributes
Иду прямо по документу и половина из того, что есть в этом списке не работает.
Что за дела? в чем проблема?
В итоге у меня документ фактически полностью без стилей.
И еще разницы нет, откуда брать css из отдельного файла или из самого документа. Все равно не работает толком.
Записан
andrew.k
Гость
« Ответ #4 : Сентябрь 22, 2010, 18:40 »

text-transform   [ uppercase | lowercase | smallcaps ]   Select the transformation that will be performed on the text prior to displaying it.


Этот атрибут вообще убил Улыбающийся
В QTextBrowser работает, отображает все заглавными (я выставил body { text-transform: uppercase; } )
В QPrintPreviewDialog не работает, отображает исходным регистром.
Дальше жму печатать, на листе получаю капсом, т.е. в соответствии с атрибутом Улыбающийся
Я пять минут втыкал, откуда взялся распечатанный листок с капсом, если в превью все маленькими буквами Улыбающийся
Жесть какая-то.
Записан
andrew.k
Гость
« Ответ #5 : Сентябрь 22, 2010, 19:29 »

Забил практически на все. Осталось только самое основное, которое хоть как-то работает.
Никак не обойти, то что необходимо задать фиксированную высоту дива, чтобы отодвинуть нижний колонтитул.
height никак не работает, ни на прямую в дивах или таблицах, ни в стилях. нигде! ну как это вообще.

Возникла мысль. Может ли быть причина этому отсутствие WebKit'а в сборке qt?
Записан
andrew.k
Гость
« Ответ #6 : Сентябрь 22, 2010, 19:48 »

Посмотрел в зависимостях у бинарника не WebKit. Поэтому похоже он не виноват. Я еще толком не знаю, что это за модуль. С ним не работал. Просто как версия.

Вот и поговорили.

Вызывайте 03 пока не поздно Подмигивающий
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.051 секунд. Запросов: 20.