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 18:11 | Zajímavý projekt

    Krabix.cz je online 3D konfigurátor krabiček pro 3D tisk s exportem do STL. Běží přímo v prohlížeči. Nic se neposílá na server.

    Ladislav Hagara | Komentářů: 0
    dnes 17:00 | Komunita

    Nadace Open Home Foundation spustila veřejnou preview verzi komunitní databáze zařízení pro Home Assistant. Má fungovat jako „Wikipedie pro chytrá zařízení".

    Ladislav Hagara | Komentářů: 0
    dnes 15:22 | Komunita

    Na stránce nového panelu Firefoxu přibudou nové widgety. Například denně aktualizována interaktivní křížovka.

    Ladislav Hagara | Komentářů: 0
    dnes 14:11 | Zajímavý projekt

    PGSimCity (GitHub) je webová 3D vizualizace vnitřního fungování databázového systému PostgreSQL v podobě města. Vytvořena pomocí umělé inteligence.

    Ladislav Hagara | Komentářů: 1
    dnes 03:33 | Nová verze

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04-2.0 a 24.04-1.4. Nová verze 24.04-2.0 již počítá s výřezy pro fotoaparát (notch) a zaoblenými rohy displeje. Webový prohlížeče Morph přešel z Chromia 87 na Chromium 134. Do shellu Lomiri byl přidán editor snímků obrazovky.

    Ladislav Hagara | Komentářů: 0
    25.7. 14:22 | Bezpečnostní upozornění

    Byly zveřejněny informace o kritické zranitelnosti CVE-2026-64600 pojmenované RefluXFS (technické detaily) v XFS. Je tam již od verze Linuxu 4.11, tj. rok 2017. Jedná se o lokální eskalaci práv. Neprivilegovaný uživatel může editovat libovolný soubor, například klidně zrušit rootovské heslo v /etc/passwd. Videoukázka na Vimeo. V upstreamu je zranitelnost opravena.

    Ladislav Hagara | Komentářů: 5
    25.7. 13:46 | IT novinky

    OpenAI / ChatGPT má dnes výpadky (OpenAI Status, DownDetector).

    Ladislav Hagara | Komentářů: 0
    25.7. 13:00 | Komunita

    Poskytovatel hostingu svobodných/open-source projektů Codeberg po hlasování na valné hromadě vydal stanovisko k využívání LLM. Kvůli vytěžování infrastruktury a rostoucím cenám hardwaru, ale také hrozbám pro spolupráci v komunitě se k LLM staví kriticky. Nebude poskytovat hosting projektů vytvářených LLM agenty.

    |🇵🇸 | Komentářů: 2
    24.7. 14:22 | Zajímavý projekt

    Jack Dorsey představil (𝕏) open source týmovou komunikační platformu Buzz (GitHub) s cílem snížit závislost na Slacku a GitHubu.

    Ladislav Hagara | Komentářů: 21
    23.7. 23:00 | Nová verze

    Poštovní klient Thunderbird byl vydán v nové verzi 153 s kódovým názvem Meadow. Jedná se o ESR (Extended Support Release) vydání. Přehled novinek v poznámkách k vydání. Vylepšuje OAuth. Thundermail lze používat bez instalace doplňku.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (7%)
     (2%)
     (17%)
     (30%)
     (5%)
     (6%)
     (2%)
     (15%)
     (24%)
    Celkem 2236 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: QT+SQL+C++

    7.11.2009 20:01 Jirka
    QT+SQL+C++
    Přečteno: 552×
    Ahoj, mám problém, snažím se pracovat v QT s DB. Mějme 2 tabulky:

    firma{ nazev; id; }

    zamestnanec { jmeno; prijmeni; podrobnosti; firma; }

    Chci namapovat firmu na combobox čímž, se mi v druhém komboboxu vyberou zaměsnanci té dané firmy. Výberem zaměstnance z druhého comboboxu se mi o něm zobrazí podrobnosti. Pokoušel jsem se to dělat pomocí QSqlRelationalTableModel a mapperů. Ale zatím se mi to nepovedlo. Mohl by mě prosím někdo nasměrovat?

    Odpovědi

    7.11.2009 22:10 Roman Došek | skóre: 17 | blog: flare
    Rozbalit Rozbalit vše Re: QT+SQL+C++
    Nejdřív si vytvoříš nějakou funkci, která ti při zobrazení dialogu naplní první combobox, něco jako:
    void Dialog::NacteniFirem()
    {
        QSqlQuery query("SELECT nazev FROM firma");
        while( query.next()) {
            ui->combobox->addItem(query.value(0).toString(),query.value(0));
        }
        query.finish();
    }
    
    Potom si vytvoříš pro 1. combobox funkci pro signál currentIndexChanged, ve kterém vyčistíš obsah 2. comboboxu a načteš do něj 2.SQL dotazem seznam zaměstanců.
    void MainWindow::on_combobox_currentIndexChanged(QString Text)
    {
        ui->combobox2->clear();
            QSqlQuery query;
            query.prepare("SELECT id,jmeno,prijmeni FROM zamestnanci WHERE firma = ?");
            query.bindValue(0, ui->combobox->currentText());
            query.exec();
            while( query.next()) {
                ui->combobox2->addItem(query.value(0).toString(),query.value(0));
            }
            query.finish();
    }
    
    Snad jsem nenapsal nějakej blud, už jsem v Qt chvilku nic nedělal. Kdyžtak sem hoď nějakej kód co už máš, na tom bych ti měl být schopen lépe pomoci. Jinak doporučuju používat Qt Creator :)
    8.11.2009 10:51 Jirka
    Rozbalit Rozbalit vše Re: QT+SQL+C++
    Tvůj způsob je mi jasný, takto jsem to, ale chtěl dělat pouze v případě, že by to nešlo způsobem, který jsem naznačil níže.
    8.11.2009 10:49 Jirka
    Rozbalit Rozbalit vše Re: QT+SQL+C++
    Jak jsem to zatím dělal já:
    	model = new QSqlRelationalTableModel(this);
    	model->setEditStrategy(QSqlTableModel::OnManualSubmit);
    	model->setTable("firma");
    	
    	typeIndex = model->fieldIndex("id_adresa");
    	
    	model->setRelation(typeIndex, QSqlRelation("adresa", "id_adresa", "ulice"));
    	model->select();
    	
    	ui.comboBoxFirmaNazev->setModel(model);	//Mapovani sloupcu tabulek na bunky GUI
    	ui.comboBoxFirmaNazev->setModelColumn(model->fieldIndex("nazev"));
    	
    	mapper = new QDataWidgetMapper(this);
    	mapper->setModel(model);
    	mapper->setItemDelegate(new QSqlRelationalDelegate(this));
    
    	mapper->addMapping(ui.lineEditFirmaNazev, model->fieldIndex("nazev"));
    	mapper->addMapping(ui.lineEditFirmaICO, model->fieldIndex("ico"));
    	mapper->addMapping(ui.lineEditFirmaDIC, model->fieldIndex("dic"));
    
    	mapper->addMapping(ui.lineEditFirmaUlice, relationModel->fieldIndex("ulice"));
    	mapper->addMapping(ui.lineEditFirmaPSC, relationModel->fieldIndex("psc"));
    	mapper->addMapping(ui.lineEditFirmaCP, relationModel->fieldIndex("cislo_popisne"));
    
    Není to sice příklad, který jsem popsal, tady se snažím spojit tabulku firma s tabulkou adresa (tzn relace 1:1), ale problém je stejný, protože model->setRelation nahradí sloupec id_adresa v modelu sloupcem ulice v relaci. Nepodařilo se mi spojit celé tabulky.

    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.