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 04:44 | IT novinky

    Telnet a ssh klient PuTTY postupně přechází na novou doménu putty.software.

    Ladislav Hagara | Komentářů: 0
    16.8. 01:00 | Komunita

    Debian dnes slaví 32 let. Ian Murdock oznámil vydání "Debian Linux Release" 16. srpna 1993.

    Ladislav Hagara | Komentářů: 15
    15.8. 17:44 | IT novinky

    Policisté zadrželi odsouzeného drogového dealera Tomáše Jiřikovského, který daroval ministerstvu spravedlnosti za tehdejšího ministra Pavla Blažka (ODS) bitcoiny v miliardové hodnotě, a zajistili i darovanou kryproměnu. Zadržení Jiřikovského může být podle ministerstva důležité k rozuzlení kauzy, která vypukla koncem května a vedla ke konci Blažka. Zajištění daru podle úřadu potvrzuje závěry dříve publikovaných právních

    … více »
    Ladislav Hagara | Komentářů: 9
    15.8. 13:44 | IT novinky

    Administrativa amerického prezidenta Donalda Trumpa jedná o možném převzetí podílu ve výrobci čipů Intel. Agentuře Bloomberg to řekly zdroje obeznámené se situací. Akcie Intelu v reakci na tuto zprávu výrazně posílily. Trump minulý týden označil Tana za konfliktní osobu, a to kvůli jeho vazbám na čínské společnosti, čímž vyvolal nejistotu ohledně dlouholetého úsilí Intelu o obrat v hospodaření. Po pondělní schůzce však prezident o šéfovi Intelu hovořil příznivě.

    Ladislav Hagara | Komentářů: 3
    15.8. 05:44 | IT novinky

    Společnost Purism stojící za linuxovými telefony a počítači Librem má nově v nabídce postkvantový šifrátor Librem PQC Encryptor.

    Ladislav Hagara | Komentářů: 10
    14.8. 18:00 | Nová verze

    VirtualBox, tj. multiplatformní virtualizační software, byl vydán v nové verzi 7.2. Přehled novinek v Changelogu. Vypíchnou lze vylepšené GUI.

    Ladislav Hagara | Komentářů: 0
    14.8. 14:11 | IT novinky

    Eric Migicovsky, zakladatel společnosti Pebble, v lednu oznámil, že má v plánu spustit výrobu nových hodinek Pebble s již open source PebbleOS. V březnu spustil předprodej hodinek Pebble Time 2 (tenkrát ještě pod názvem Core Time 2) za 225 dolarů s dodáním v prosinci. Včera představil jejich konečný vzhled (YouTube).

    Ladislav Hagara | Komentářů: 31
    14.8. 12:44 | Zajímavý software

    Byla oznámena nativní podpora protokolu ACME (Automated Certificate Management Environment) ve webovém serveru a reverzní proxy NGINX. Modul nginx-acme je zatím v preview verzi.

    Ladislav Hagara | Komentářů: 1
    14.8. 12:22 | Nová verze

    Vývojáři KDE oznámili vydání balíku aplikací KDE Gear 25.08. Přehled novinek i s náhledy a videi v oficiálním oznámení.

    Ladislav Hagara | Komentářů: 0
    13.8. 11:55 | IT novinky

    Společnost Perplexity AI působící v oblasti umělé inteligence (AI) podala nevyžádanou nabídku na převzetí webového prohlížeče Chrome internetové firmy Google za 34,5 miliardy dolarů (zhruba 723 miliard Kč). Informovala o tom včera agentura Reuters. Upozornila, že výše nabídky výrazně převyšuje hodnotu firmy Perplexity. Společnost Google se podle ní k nabídce zatím nevyjádřila.

    Ladislav Hagara | Komentářů: 5
    Kolik tabů máte standardně otevřeno ve web prohlížeči?
     (52%)
     (19%)
     (4%)
     (5%)
     (2%)
     (1%)
     (1%)
     (17%)
    Celkem 408 hlasů
     Komentářů: 23, poslední 4.8. 13:01
    Rozcestník

    Dotaz: QLineEdit a setText a divný výstup

    3.5.2007 22:55 filbar | skóre: 36 | blog: Denicek_programatora | Ostrava
    QLineEdit a setText a divný výstup
    Přečteno: 218×
    V Qt dělám jednoduchou kalkulačku. Problém mám s metodou setText, kterou nastavují co se má zobrazit na displeji, který je reprezentován pomocí QLineEdit. Na displeji se zobrazí kromě zadané číslice i divné znaky. Odpovídající kód vypadá takto:
    QLineEdit       *display;
    connect(but7,SIGNAL(clicked()),this,SLOT(clickButton7()));
    void MainWidget::clickButton7(){
            insNumeral('7');
    }
    void MainWidget::insNumeral(char c){
    //        printf ("%s\n",&c);
            QString s = display->text();
            display->setText((QString ) &c);
    }
    
    Takto se mi např zobrazí číslo 7 a 8:
    7Pêû¿Ø¶
    8Pêû¿ Pêû¿d/ø· X
    
    Nevíte, kde můžu mít chybu?

    Odpovědi

    Luboš Doležel (Doli) avatar 3.5.2007 23:02 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: QLineEdit a setText a divný výstup
    QString s = display->text();
    display->setText((QString ) &c);
    Doporučuju se naučit zcela zásadní rozdíl mezi znakem a řetězcem znaků, který buď přehlížíte nebo neznáte. Získáním adresy proměnné typu char nedostáváte řetězec znaků, ale ukazatel na znak.

    V tomto případě můžete udělat QString(c), protože QString má konstruktor, který char bere.

    4.5.2007 09:49 s0 | skóre: 32 | blog: nejchytřejší kecy | prágl
    Rozbalit Rozbalit vše Re: QLineEdit a setText a divný výstup
    Prož QChar? Navíc to přetypování, jak už řekl Doli, je nešťastné.

    Řešil bych to úplně jinak - což ovšem neznamená, že je to ideální řešení atd. - vynechal bych ten slot.

    takže:

    connect(but1, SIGNAL(clicked()), this, SLOT(clickButton()));
    ...
    connect(but7, SIGNAL(clicked()), this, SLOT(clickButton()));
    ...
    
    // univerzalni zpracovani stisknuteho tlacitka s cislem v textu
    void MainWindow::clickButton()
    {
        QString s(display->text()); // lepsi nez QString s = ... - vyhnes se inicializaci tmp promenne
    // qt4
        QString t(qobject_cast<QPushButton*>(sender())->text());
    // nebo qt3
        QString t((QPushButton*)sender()->text()); // nebo tak nejak.
        // mozna by slo i ciste sender()->text(). Tezko rict. Ale jsem liny to vyzkouset...
        display->setText(s + t);
        ...
    }
    

    prostě tan nějak. Ať nekóduješ miliardy slotů.
    Kuolema Kaikille (Paitsi Meille).
    4.5.2007 14:49 filbar | skóre: 36 | blog: Denicek_programatora | Ostrava
    Rozbalit Rozbalit vše Re: QLineEdit a setText a divný výstup
    Tak už jsem to vyřešil:
    void MainWidget::insNumeral(QChar c){
            QString s(display->text());
            QString r(c);
            display->setText(s+r);
    }
    
    Díky za rady.

    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.