Portál AbcLinuxu, 4. května 2025 16:32
Zdravím ...
po delší době jsem se vrátil k zobrazovači logů, co jsem psal v Pythonu + QT. Logy Python programů ( přes logger ) zobrazoval perfektně, reagoval na změnu logovacího souboru ( přepsání / přidání atd ). protože jsem chtěl zvýraznit řádky, obsahující NOTE, DEBUG a pod, řádky logu procházely konverzí na HTML, obarvily se hledaná slova a mezery se konvertovali na a do QTextBrowser-u se vkládaly tyto řádky jako .insertHTML(). Když pak soubor narostl, znovu se načetly přidané řádky, zkonvertovaly se a vložili se do QTextBrowser-u pomocí .append().
Fungovalo to.
Ale pokud takto zobrazím apache log, tak první vložení je správné, .append() ale vloží text (ne HTML), takže řádky jsou protkané (jako text) úseky, které dost zhoršují čitelnost logu.. Možná tady najdu někoho, kdo s tímto zápasil, protože ať čtu nebo hledám cokoli, nějak jsem se neposunul k řešení. Jo, když okno zavřu a znovu otevřu ten log, jsou zase řádky logu zobrazeny správně...
(QTextBrowser je potomkem QTextEdit a tedy sdílí jeho funkce)
PySide2.QtWidgets.QTextEdit.append(text)¶ Parameters: text – str Appends a new paragraph with text to the end of the text edit. Note The new paragraph appended will have the same character format and block format as the current paragraph, determined by the position of the cursor.
jak určit, že připojovaný úsek je HTML ?
proč to v python logu funguje, a apache logu ne?
Analyzuje nějak QT, co se vkládá, a problém je v tom, že log apache v podstatě nemá obarvovaná slova, takže vkládáný do qt browseru text kromě @nbsp; nemá span (kterým obarvuju ty určená slova )? Tápu...
Díky za naštelování
Milan
Řešení dotazu:
Do určitých pokusů jsem se pustil už včera, ale když se nic nedařilo, zeptal jsem se tady ... ale zároveň se psaním dotazu mě napadaly další možnosti, jak dosáhnout toho netextování a to pravé řešení jsem i vypsal -a skutečně, obalil jsem každý řádek značkou span, a qt to vyhodnotil jako html, a už vkládá jako HTML..
No, snad to někomu pomůže, otázka vyřešena.
Milan
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.