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í
×
    dnes 17:55 | Nová verze

    Ubuntu pro testování nových verzí vydává měsíční snapshoty. Dnes vyšel 1. snapshot Ubuntu 26.04 LTS (Resolute Raccoon).

    Ladislav Hagara | Komentářů: 0
    dnes 14:33 | IT novinky

    Zástupci členských států EU se včera shodli na návrhu, který má bojovat proti šíření materiálů na internetu zobrazujících sexuální zneužívání dětí. Nařízení známé pod zkratkou CSAM a přezdívané chat control mělo množství kritiků a dlouho nebyla pro jeho schválení dostatečná podpora. Pro schválení byla potřeba kvalifikovaná většina a dánské předsednictví v Radě EU se snažilo dosáhnout kompromisu. Návrh nakonec po dlouhých týdnech

    … více »
    Ladislav Hagara | Komentářů: 4
    dnes 12:22 | Zajímavý software

    Britské herní studio Facepunch stojící za počítačovými hrami Garry's Mod a Rust uvolnilo svůj herní engine s&box (Wikipedie) jako open source. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT. Herní engine s&box je postavený nad proprietárním herním enginem Source 2 od společnosti Valve.

    Ladislav Hagara | Komentářů: 1
    dnes 04:55 | Komunita

    Vývoj programovacího jazyka Zig byl přesunut z GitHubu na Codeberg. Sponzoring na Every.

    Ladislav Hagara | Komentářů: 0
    dnes 04:44 | Komunita

    Stejně jako GNOME i KDE Plasma končí s X11. KDE Plasma 6.8 poběží už pouze nad Waylandem. Aplikace pro X11 budou využívat XWayland.

    Ladislav Hagara | Komentářů: 1
    včera 14:55 | IT novinky

    Poslanci Evropského parlamentu dnes vyzvali k výraznému zvýšení ochrany nezletilých na internetu, včetně zákazu vstupu na sociální sítě pro osoby mladší 16 let. Legislativně nezávazná zpráva, kterou dnes odsouhlasil Evropský parlament poměrem 493 hlasů pro ku 92 proti, kromě zavedení věkové hranice 16 let pro využívání sociálních sítí, platforem pro sdílení videí či společníků s umělou inteligencí (AI) vyzývá také k zákazu … více »

    Ladislav Hagara | Komentářů: 44
    včera 14:11 | Humor

    Doom v KiCadu nebo na osciloskopu? Žádný problém: KiDoom: Running DOOM on PCB Traces a ScopeDoom: DOOM on an Oscilloscope via Sound Card.

    Ladislav Hagara | Komentářů: 3
    včera 12:44 | Nová verze

    Po AlmaLinuxu byl v nové stabilní verzi 10.1 vydán také Rocky Linux. Přehled novinek v poznámkách k vydání.

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

    Open source reimplementace počítačových her Tomb Raider I a Tomb Raider II spolu s dalšími vylepšeními a opravami chyb TRX byla vydána ve verzi 1.0. Jedná se o sloučení projektů / enginů TR1X a TR2X do jednoho TRX. Videoukázka na YouTube.

    Ladislav Hagara | Komentářů: 1
    25.11. 17:00 | IT novinky

    Společnost Seznam.cz spouští konverzační nástroj založený na umělé inteligenci Seznam Asistent. Asistent využívá vlastní jazykový model SeLLMa a dočasně i komerční modely od OpenAI provozované v evropských datacentrech prostřednictvím Microsoft Azure. Dlouhodobým cílem Seznamu je provozovat Asistenta výhradně na interních jazykových modelech a ve vlastních datových centrech.

    Ladislav Hagara | Komentářů: 8
    Jaké řešení používáte k vývoji / práci?
     (34%)
     (47%)
     (19%)
     (18%)
     (22%)
     (15%)
     (23%)
     (16%)
     (18%)
    Celkem 410 hlasů
     Komentářů: 17, poslední 19.11. 21:57
    Rozcestník

    Dotaz: Úplne jednoduchý browser (qtwebkit)

    17.10.2014 08:53 Peter
    Úplne jednoduchý browser (qtwebkit)
    Přečteno: 588×
    Čaute.

    S Qt nemám prakticky žiadne skúsenosti. Potrebujem pre jeden mini projekt úplne "blbý" browser a rozhodol som sa ho vyrobiť pomocou qtwebkit

    browser.pro
    QT += webkit
    SOURCES = browser.cpp
    
    browser.cpp
    #include <QtGui>
    #include <QtWebKit>
    
    int main(int argc, char** argv) {
        QApplication app(argc, argv);
        QWebView view;
        view.show();
        view.setUrl(QUrl("http://localhost:10000/"));
        return app.exec();
    }
    
    Všetko funguje perfektne až na jednu vec - sťahovanie súboru. Tá aplikácia ktorá bude v tom browseri bežať totižto generuje CSV súbor, ktorý ponúkne na stiahnutie. Zaujímavé je, že upload funguje úplne v pohode, ale pri downloade sa nedeje absolútne nič.

    Za pomoc vám vopred veľmi pekne ďakujem.

    Řešení dotazu:


    Odpovědi

    17.10.2014 11:33 tm
    Rozbalit Rozbalit vše Re: Úplne jednoduchý browser (qtwebkit)
    http://stackoverflow.com/questions/16346219/how-to-download-files-from-qwebview
    Beda0 avatar 17.10.2014 11:47 Beda0 | skóre: 29
    Rozbalit Rozbalit vše Re: Úplne jednoduchý browser (qtwebkit)
    Podle tohodle to vypadá, že se to musí udělat ručně - při stahování to vyhodí signál kterej se musí spárovat s nějakym slotem a obsloužit ho.
    17.10.2014 12:46 Peter
    Rozbalit Rozbalit vše Re: Úplne jednoduchý browser (qtwebkit)
    Takže momentálny stav je nasledovný

    main.pro
    QT     += gui network webkit
    HEADERS = mainwindow.h
    SOURCES = main.cpp \
              mainwindow.cpp
    
    main.cpp
    #include <QtGui>
    #include <QtNetwork>
    #include <QtWebKit>
    #include "mainwindow.h"
    
    int main(int argc, char * argv[]) {
        QApplication app(argc, argv);
        MainWindow browser;
        browser.setWindowTitle("Data");
        browser.show();
        return app.exec();
    }
    
    mainwindow.cpp
    #include <QtGui>
    #include <QtNetwork>
    #include <QtWebKit>
    #include "mainwindow.h"
    
    MainWindow::MainWindow() {
        QWebView * view = new QWebView(this);
        view->load(QUrl("http://localhost:10000/"));
        view->page()->setForwardUnsupportedContent(true);
        connect(view->page(),SIGNAL(unsupportedContent(QNetworkReply*)),this,SLOT(unsupportedContent(QNetworkReply*)));
        setCentralWidget(view);
    }
    
    void MainWindow::unsupportedContent(QNetworkReply * reply) {
        qDebug("Download Requested");
    }
    
    mainwindow.h
    #include <QtGui>
    #include <QtNetwork>
    #include <QtWebKit>
    
    class MainWindow : public QMainWindow {
        Q_OBJECT
        public:
    	MainWindow();
        public slots:
    	void unsupportedContent(QNetworkReply * reply);
    };
    
    Po kliknutí na odkaz, ktorý má spustiť sťahovanie mi qDebug do konzoli vypíše "Download Request", čiže to znamená, že slot ako taký funguje. Teraz už len potrebujem poriešiť samotné stiahnutie súboru, ale zatial sa mi nedarí nájsť žiaden príklad. Ak ma niekto navedie, tak mu budem veľmi zaviazaný. Apropo, S Qt a C++ teraz robím úplne po prvý krát, tak poprosím pomaly na mna. :-D
    17.10.2014 13:53 nobody
    Rozbalit Rozbalit vše Re: Úplne jednoduchý browser (qtwebkit)
    mozna najdes inspiraci v Otter Browser ?
    20.10.2014 11:23 hanzz | skóre: 19 | blog: hanzz
    Rozbalit Rozbalit vše Re: Úplne jednoduchý browser (qtwebkit)
    http://qt-project.org/wiki/Download_Data_from_URL
    Josef Kufner avatar 20.10.2014 21:50 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Úplne jednoduchý browser (qtwebkit)
    Stahovaný soubor dostaneš jako parametr reply slotu unsupportedContent. Zkus si vypsat reply->readAll(), mělo by to vrátit obsah staženého souboru. Více viz dokumentace.
    Hello world ! Segmentation fault (core dumped)

    Založit nové vláknoNahoru

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

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