Zmienne w dokumencie html
-
Witam!
Tytuł wątku jest zapewne nieadekwatny do problemu ale do rzeczy. Jednym z kolejnych elementów mojej aplikacji jest klocek odpowiedzialny za wydruk dokumentu (w całości sformatowany w HTML) uzupełnionego o dane pobrane z Widgetów. Problem w tym, że nie wiem jak się za to zabrać. Sformatowany tekst wymusza użycie QTextEdit, a to znowu znacząco utrudnia zadanie. Próbowałem już:
- Wrzucenie HTML bezpośrednio do QTextEdit na poziomie projektowania formularza, następnie wyszukiwanie słowa które trzyma zmienna X, następnie podmiana. Wniosek - przy 40 miejscach do zmiany można umrzeć.
- Próbowałem wczytywać wczytywać HTML z pliku do QTextEdit i linia po linii szukać słowa do zmiany. Konkluzja jak wyżej.
- Próbowałem też w akcie desperacji zmusić Qt aby słowo w QTextEdit stało się zmienną.
- W akcie megadesperacji zrobiłem skan dokumentu do pliku graficznego i chciałem po nim rysować ale ilość pracy przy ustawianiu miejsca rysowania oraz niska jakość podczas faktycznego drukowania zniechęciły.
Gdyby ktoś nie rozumiał:
W QText edit mam taki oto sformatowany HTML'em tekst: Jestem sobie [do_uzupełnienia] Romek, mam na [do_uzupełnienia1] domek...Istnieje jakieś mądre rozwiązanie takiego problemu?
-
Po prostu użyj QString::replace(). Ta metoda ma mnóstwo różnych wariantów, na pewno znajdziesz odpowiedni.
Jeśli znaczniki do uzupełnienia faktycznie są numerowane, to możesz też wszystko zrobić w pętli i podmienić całość w jednej linijce kodu (tylko swoje "zmienne" rzuć do QList, na przykład).
-
Dzięki za pomysł! Nie wiem dlaczego nie wyświetliło mi się nic z 'replace' w helpie. Tak czy inaczej działa!
btw example:
@QString ciach = ui->QTextEditForm->toHtml();
QString find = "text";ciach.replace(find,"pro");@