• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Qt, drukowanie zinterpretowanego pliku HTML ( strony )

Object Storage Arubacloud
0 głosów
124 wizyt
pytanie zadane 8 maja 2019 w C i C++ przez Jakub 0 Pasjonat (23,120 p.)
zamknięte 9 maja 2019 przez Jakub 0

Witam, planuje napisać w Qt po raz pierwszy nieco większy projekt. Chcę zrobić program który na podstawie pewnych danych formularza wygeneruje odpowiedni kod HTML i pozwoli na wydruk utworzonego pliku. O ile pierwsza część nie jest trudna bo po prostu trzeba napisać jakiś algorytm to nie wiem jak zrealizować drukowanie dokumentu *.html przez Qt. Chodzi mi o to żeby nie był drukowany kod ( plik ) ale jego rezultat. Np.

na podstawie tego kodu:

<!DOCTYPE HTML>
<html>
  <head>
    <style>
      .art {
        font-weight: bold; 
      }
    </style>
  </head>
  <body>
    <p class="art">Hello</p>
  </body>
</html>

program ma wydrukować odpowiedni tekst:

Jak widać CSS też powinien być wspierany. Czy da się to jakoś zrobić albo czy są chociaż pośrednie rozwiązania? Z góry dziękuje za pomoc i pozdrawiam :)

 

komentarz zamknięcia: temat wyczerpany.

2 odpowiedzi

+1 głos
odpowiedź 9 maja 2019 przez Bondrusiek Maniak (61,370 p.)
wybrane 9 maja 2019 przez Jakub 0
 
Najlepsza

Witam,

Qt nie obsługuje czystego CSS a coś co nazwali Qt Style Sheet, które w gruncie rzeczy jest bardzo podobne do swojego oryginału. Tutaj możesz zobaczyć przykłady:

https://doc.qt.io/Qt-5/stylesheet-syntax.html

Co do odczytu to funkcja, która może odczytać html to klasa QTextEdit posiada metodę setHtml()

QFile file(":/help.html");
file.open(QFile::ReadOnly | QFile::Text);
QTextStream stream(&file);
textEdit->setHtml(stream.readAll());

Możesz również użyć funkcji setStyleSheet() dla QTextEdit aby przypisać dany styl:

textEdit->setStyleSheet("font-weight: bold;");

 

komentarz 9 maja 2019 przez Jakub 0 Pasjonat (23,120 p.)
Dziękuje, w sumie nawet lepszy i łatwiejszy sposób niż bezpośrednie generowanie HTML/CSS i drukowanie tego. Mam tylko jedno szybkie pytanie dla pewności ( oczywiście potem poczytam sobie na spokojnie więcej na ten temat ), mianowicie, czy style Qt współpracują z moimi własnymi klasami i atrybutami w kodzie HTML oraz czy metoda setHtml() wspiera różnego rodzaju metainformacje oraz HTML5. Z góry dziękuje i pozdrawiam.

* Wiem że może pytania mogą wydać się oczywiste ale wolę to wiedzieć wcześniej bo nigdy nie wiadomo...
1
komentarz 9 maja 2019 przez Bondrusiek Maniak (61,370 p.)
Z tego co wiem to nie można używać HTML5 w Qt.

https://www.youtube.com/watch?time_continue=1594&v=ropVUkdKNqs

Qt style sheet są dosyć rozbudowanie. Możesz stylizować całe klasy, identyfikatory bądź poszczególne cechy.

https://doc.qt.io/Qt-5/stylesheet-syntax.html
+1 głos
odpowiedź 9 maja 2019 przez tangarr Mędrzec (154,780 p.)
Możesz użyć Qt WebEngine do renderowania HTML.
https://doc.qt.io/qt-5/qtwebengine-index.html
komentarz 9 maja 2019 przez Jakub 0 Pasjonat (23,120 p.)
Dziękuje, poczytam też o tym.

Podobne pytania

0 głosów
1 odpowiedź 343 wizyt
0 głosów
4 odpowiedzi 799 wizyt
pytanie zadane 8 lipca 2017 w C i C++ przez niezalogowany
0 głosów
0 odpowiedzi 176 wizyt
pytanie zadane 29 czerwca 2017 w C i C++ przez Bondrusiek Maniak (61,370 p.)

92,555 zapytań

141,403 odpowiedzi

319,554 komentarzy

61,940 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...