abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 18:44 | Komunita

    Od soboty do úterý probíhá v Hamburku konference 39C3 (Chaos Communication Congress) věnovaná také počítačové bezpečnosti nebo hardwaru. Program (jiná verze) slibuje řadu zajímavých přednášek. Streamy a záznamy budou k dispozici na media.ccc.de.

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | Zajímavý software

    Byl představen nový Xserver Phoenix, kompletně od nuly vyvíjený v programovacím jazyce Zig. Projekt Phoenix si klade za cíl být moderní alternativou k X.Org serveru.

    🇨🇽 | Komentářů: 2
    včera 13:11 | Nová verze

    XLibre Xserver byl 21. prosince vydán ve verzi 25.1.0, 'winter solstice release'. Od založení tohoto forku X.Org serveru se jedná o vůbec první novou minor verzi (inkrementovalo se to druhé číslo v číselném kódu verze).

    🇨🇽 | Komentářů: 0
    včera 03:33 | Nová verze

    Wayback byl vydán ve verzi 0.3. Wayback je "tak akorát Waylandu, aby fungoval Xwayland". Jedná se o kompatibilní vrstvu umožňující běh plnohodnotných X11 desktopových prostředí s využitím komponent z Waylandu. Cílem je nakonec nahradit klasický server X.Org, a tím snížit zátěž údržby aplikací X11.

    Ladislav Hagara | Komentářů: 0
    25.12. 14:44 | Nová verze

    Byla vydána verze 4.0.0 programovacího jazyka Ruby (Wikipedie). S Ruby Box a ZJIT. Ruby lze vyzkoušet na webové stránce TryRuby. U příležitosti 30. narozenin, první veřejná verze Ruby 0.95 byla oznámena 21. prosince 1995, proběhl redesign webových stránek.

    Ladislav Hagara | Komentářů: 0
    24.12. 02:11 | Komunita

    Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.

    Ladislav Hagara | Komentářů: 30
    24.12. 02:00 | Nová verze

    Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    23.12. 18:33 | Nová verze

    Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.

    Ladislav Hagara | Komentářů: 0
    23.12. 13:55 | Nová verze

    Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.

    Ladislav Hagara | Komentářů: 0
    23.12. 12:44 | Nová verze

    Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.

    Ladislav Hagara | Komentářů: 0
    Kdo vám letos nadělí dárek?
     (34%)
     (2%)
     (19%)
     (2%)
     (2%)
     (2%)
     (15%)
     (15%)
     (10%)
    Celkem 118 hlasů
     Komentářů: 18, poslední 24.12. 15:29
    Rozcestník

    Rich text editor pro Qt

    7.4.2014 06:53 | Přečteno: 1605× | Počítače

    Knihovna Qt má vestavený editor html textu - třídu QTextEdit. Potíž je v tom, že editor nemá jakékoliv ovládací prvky, kterými by se dal text v editoru formátovat. Proto nám náš občasný firemní kolega Jiří Procházka vyrobil jednoduchý editor, třídu MRichTextEdit, abychom měli co použít v aplikaci Deko the CRM.

    Editor je volně k dispozici (kromě ikonek, zde se Jiří spoléhá na podporu prostředí), ke stažení je zde:
    https://github.com/Anchakor/MRichTextEditor

    Základní dovednosti editoru

    Použití

    Použití je jednoduché, obrázky byly vytvořené pomocí pár řádků v C++ aplikaci:

        QDialog *dialog = new QDialog(this);
        MRichTextEdit *rte = new MRichTextEdit(dialog);
        QGridLayout *gl = new QGridLayout(dialog);
        gl->addWidget(rte,0,0,1,1);
        dialog->setWindowTitle(tr("Rich text editor"));
        dialog->setMinimumWidth (400);
        dialog->setMinimumHeight(400);
        dialog->show();
    

    Editor akceptuje prostý text nebo html:

    Text vrací v několika různých formátech:

           

    Hodnocení: 90 %

            špatnédobré        

    Obrázky

    Rich text editor pro Qt, obrázek 1 Rich text editor pro Qt, obrázek 2 Rich text editor pro Qt, obrázek 3 Rich text editor pro Qt, obrázek 4

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    7.4.2014 09:15 Arpád
    Rozbalit Rozbalit vše Re: Rich text editor pro Qt
    co delas s tim textem pak dal v aplikaci. Kdyz napr. chces ten text, cos naeditoval, vytisknout nabo dát do pdf?
    Petr Bravenec avatar 7.4.2014 09:35 Petr Bravenec | skóre: 43 | blog: Bravenec
    Rozbalit Rozbalit vše Re: Rich text editor pro Qt
    Příloha:
    Ten editor je jednoduchý widget, určený do formulářů.

    Ta aplikace, ze které je ten widget vytažený, je obvyklá databázová aplikace, text se proto obvykle ukládá do databáze, spolu s dalšími prvky z formuláře. Ale máme to použité třeba v poštovním klientovi, tam není třeba nic tisknout nebo exportovat do pdf, text lze rovnou odeslat.

    Vytisknout ten text editor neumí, všude v aplikaci je editor součástí nějakého většího celku. Teprve ten se dá třeba uložit do ODT nebo vytisknout, ať už na tiskárnu, nebo do PDF.

    Možná došlo k nedorozumění - není to "hotový" editor, je to jen jeden prvek pro vestavění do aplikace. Qt widget QTextEdit to umí, ale v knihovně Qt není k dispozici nic, co by rozšiřovalo QTextEdit o ovládací prvky. Proto MRichTextEdit.
    Petr Bravenec - Hobrasoft s.r.o.
    8.4.2014 15:52 Arpád
    Rozbalit Rozbalit vše Re: Rich text editor pro Qt
    Možná došlo k nedorozumění - není to "hotový" editor, je to jen jeden prvek pro vestavění do aplikace.
    ne , vpodstate jsem to takhle pochopil. Otazka byla skutecne, jak s tim textem nalozi ta 'aplikace', pote co se ten 'zformatovany' text odlozil treba do databaze. Casto je to tak, ze takovy widget umozni uzivateli napr. v nabidce sestavit ten nabidkovy text se seznamem vlastnosti , tabulatory apod. Ten html-fragment je mozno pak dat primo do mailu (kdyz se z aplikace posila mail primo) , ale kdyz se chce takova nabidka poslat jako pdf-ko, tak se (myslim, nevim jak jinak) musi ten html text parsovat, aby se mohlo v tom pdf dosahnout nejakeho takove podobneho vzhledu jako v tom html.

    Videl jsem pred lety aplikaci, kde pro to formatovani pouzivali nejaky vlastni formatovaci jazyk (neco jako dneska wiki), jinde jsem videl pouziti EPS. A ta moje otazka byla, zda to delate nejak podobne, nebo jestli nahodou se nejedna o nejakou novou fintu. :-)
    Petr Bravenec avatar 8.4.2014 16:43 Petr Bravenec | skóre: 43 | blog: Bravenec
    Rozbalit Rozbalit vše Re: Rich text editor pro Qt

    Typicky tu aplikaci používám takto: někdo mi zavolá, vyskočí mi okno na obrazovku, kde si můžu přečíst, ve kterých projektech je dotyčný zapojen, co jsem s ním kdy řešil, co jsem řešil s jeho kolegy. Udělám si z toho úkol, případně hned pracovní výkaz, příložím poznámku o telefonátu k příslušnému projektu, plus případně přiložím i maily, abych měl vše na jednom místě a nemusel to v případě potřeby dohledávat. Na konci projektu vyhodím sestavu, vyfakturuju a projekt přesunu někam do archivu v "podadresáři". Průběžné projekty má zákazník k dispozici na webu, například takto:

    http://weko.hobrasoft.cz/timesheet/default/2RL44SD:288KFTU

    Ale to už je nadstavba pro web, aplikace samotná je samostatná - "stáhni, odpoj se, nainstaluj a funguj". Ten dokument samotný dokážu buď vytisknout, nebo uložit do odt, do pdf ne.

    Pokud chci poslat přímo z Deka nějaký newsletter nebo nabídku, můžu použít ten zformátovaný html text, ale pdf musím dát do příloh. Účelem té aplikace rozhodně není rozesílání mailů nebo tvorba dokumentů, i když nějaké základní věci to umí.

    Jinak pokud bych měl nějak zpracovávat html a převádět to do pdf, určitě bych to neparsoval - prohlížeč to zvládá líp. Vestavěný prohlížeč i s vazbami na javascript v aplikaci používáme hodně, například pro mapy:

    http://www.hobrasoft.cz/cs/deko/screenshots/deko-screenshot-06.png

    Petr Bravenec - Hobrasoft s.r.o.
    7.4.2014 13:16 Mike
    Rozbalit Rozbalit vše Re: Rich text editor pro Qt
    Pěkné :-) Binding pro Python (PyQt/PySide) se neplánuje?
    Petr Bravenec avatar 7.4.2014 17:07 Petr Bravenec | skóre: 43 | blog: Bravenec
    Rozbalit Rozbalit vše Re: Rich text editor pro Qt
    Ne neplánuje. Je spíše možné, že uvolníme nějaké jiné kusy kódu v C++, které lze využít obecněji, ale Python jde zcela mimo nás.
    Petr Bravenec - Hobrasoft s.r.o.
    7.4.2014 21:24 __dark__
    Rozbalit Rozbalit vše Re: Rich text editor pro Qt
    Hodne zvlastni coding style
    8.4.2014 12:39 smazáno | skóre: 18 | blog: smazáno
    Rozbalit Rozbalit vše Re: Rich text editor pro Qt
    kde?
    8.4.2014 12:51 s0 | skóre: 32 | blog: nejchytřejší kecy | prágl
    Rozbalit Rozbalit vše Re: Rich text editor pro Qt
    tady všude.

    https://github.com/Anchakor/MRichTextEditor/blob/master/mrichtextedit.cpp

            if (ok) {
                fmt.setAnchor(true);
                fmt.setAnchorHref(newUrl);
                fmt.setForeground(QApplication::palette().color(QPalette::Link));
                fmt.setFontUnderline(true);
              } else {
                unlink = true;
                }

    jako asi se na to zvyknout dá, ale už jsem viděl čitelnější conding standardy...
    Kuolema Kaikille (Paitsi Meille).

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.