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 19:55 | Zajímavý software

    Uživatelé mobilních telefonů s Linuxem si nyní mohou nainstalovat aplikaci Mobilní Datovka. Díky tomu je přístup k datovým schránkám dostupný i na zařízeních s mobilními linuxovými distribucemi, jako jsou například Mobian, NixOS Mobile, pmOS atd. Aplikace je dostupná na Flathubu.

    David Heidelberg | Komentářů: 0
    včera 13:33 | Komunita

    Software Freedom Conservancy v novém dokumentu shrnuje doporučení, jak přistupovat ke generativní AI založené na LLM při přispívání do svobodného a open-source softwaru. Mimo jiné vyzývá k obezřetnosti, transparentnosti a revizi generovaného kódu člověkem.

    |🇵🇸 | Komentářů: 0
    včera 13:22 | Nová verze

    Byla vydána nová verze 5.6.0 programu na úpravu digitálních fotografií darktable (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    20.6. 20:11 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma. V Týdnu v GNOME je zmíněn flatpak balíček pro GIMP 0.54.1 z roku 1996. Jedná se o poslední verzi GIMPu postavenou nad toolkitem Motif.

    Ladislav Hagara | Komentářů: 0
    20.6. 19:11 | Nová verze

    Home Assistant Operating System, tj. linuxová distribuce optimalizována pro hostování Home Assistanta a jeho aplikací, byl vydán v nové major verzi 18.0.

    Ladislav Hagara | Komentářů: 0
    20.6. 18:11 | Komunita

    Po šestiletém úsilí byla z jádra Linux odstraněna funkce strncpy(). Všechna předchozí volání této funkce byla převedena na bezpečnější alternativy.

    Ladislav Hagara | Komentářů: 1
    20.6. 17:22 | Nová verze

    Byla vydána nová verze 261 správce systému a služeb systemd (Wikipedie, GitHub). Z novinek lze vypíchnout nový subsystém IMDS (Cloud "Instance Metadata Service"), nový příkaz storagectl nebo novou komponentu systemd-sysinstall.

    Ladislav Hagara | Komentářů: 3
    20.6. 12:00 | Nová verze

    Vývojové prostředí Qt Creator bylo vydáno ve verzi 20 (seznam změn). Novinky zahrnují hlavně rozšíření pro integraci LLM agentů nebo minimalistický editační režim uživatelského rozhraní („zen mode“).

    |🇵🇸 | Komentářů: 0
    19.6. 10:22 | Humor

    Už jste se prolétli na webu Google Earth? Přibyl tam Simulátor letu (Nástroje / Simulátor letu). Funguje i bez účtu Google [𝕏].

    Ladislav Hagara | Komentářů: 0
    19.6. 09:55 | Nová verze

    Byla vydána nová verze 4.7 (𝕏, Bluesky, Mastodon) multiplatformního open source herního enginu Godot (Wikipedie, GitHub). Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 3
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (16%)
     (31%)
     (3%)
     (6%)
     (3%)
     (15%)
     (26%)
    Celkem 1957 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: Qt - pokus vytvořit vlastní widget

    8.7.2004 17:04 Pavel
    Qt - pokus vytvořit vlastní widget
    Přečteno: 300×
    Snažím se vytvořit si vlastní widget, aby mi při stisku klávesy poslal signal, zkousel jsem to na LineEditu, (v praxi to však potřebuji u tabulkyu), z manuálu jsem se pokusil napsat třídu, která by to měla dělat. Překlad proběhne OK, ale při linkování to vyhodí chyby nevíte, kde je chyba. Dík moc Pavel

    #include qwidget.h

    #include qlineedit.h

    #include qevent.h

    class mln :public QWidget

    {

    Q_OBJECT

    public:

    mln( QWidget *parent = 0, const char *name =0);

    ~mln() {}

    protected:

    void keyPressEvent(QKeyEvent *e);

    signals:

    void press();

    };

    mln::mln(QWidget *parent, const char *name) :

    QWidget(parent, name)

    {

    QLineEdit *le = new QLineEdit(this, "mln");

    }

    void mln::keyPressEvent(QKeyEvent *e)

    {

    emit press();

    }

    Odpovědi

    Pavel Stárek avatar 8.7.2004 17:31 Pavel Stárek | skóre: 43 | blog: Tady bloguju já :-) | Kolín
    Rozbalit Rozbalit vše Re: Qt - pokus vytvořit vlastní widget
    Asi by bylo dobré taky poslat tu chybu kterou to vyhodí. :-)
    Kdo chce, hledá způsob; kdo nechce, hledá důvod.
    8.7.2004 17:50 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: Qt - pokus vytvořit vlastní widget
    Předpokládám, že postupuješ např. podle http://www.root.cz/clanek/2211?

    Nebo jen tak spouštíš gcc na to, cos sem vložil? (BTW používej <pre> tag. Bude to pak aspoň k přečtení...)
    8.7.2004 18:29 pavel
    Rozbalit Rozbalit vše Re: Qt - pokus vytvořit vlastní widget
    To je jasný, že mám vytvořenej projekt, formulář, ...
    g++  -o pokus .obj/main.o .obj/mainform.o \
    .obj/moc_mainform.o  -L/usr/lib/qt3//lib -L/usr/X11R6/lib -lqt-mt -lXext -lX11 -lm
    .obj/mainform.o(.text+0x33): In function `mln::mln[not-in-charge](QWidget*, char const*)':
    : undefined reference to `vtable for mln'
    .obj/mainform.o(.text+0x3a): In function `mln::mln[not-in-charge](QWidget*, char const*)':
    : undefined reference to `vtable for mln'
    .obj/mainform.o(.text+0xc3): In function `mln::mln[in-charge](QWidget*, char const*)':
    : undefined reference to `vtable for mln'
    .obj/mainform.o(.text+0xca): In function `mln::mln[in-charge](QWidget*, char const*)':
    : undefined reference to `vtable for mln'
    .obj/mainform.o(.text+0x121): In function `mln::keyPressEvent(QKeyEvent*)':
    : undefined reference to `mln::press()'
    collect2: ld returned 1 exit status
    make: *** [pokus] Error 1
    
    8.7.2004 18:38 karlok
    Rozbalit Rozbalit vše Re: Qt - pokus vytvořit vlastní widget
    Tezko rici, kde zacit

    1) do definice tridy by jsi mel pridat definici funkce napr. setText

    public slots: void setText( const QString &string ) { ... bla bla ...; };

    2) a konstruktoru pak tuhle funkci pripojis pomoci "connect" nasledujicim zpusobem mln::mln(QWidget *parent, const char *name) :

    QWidget(parent, name)

    {

    QLineEdit *le = new QLineEdit(this, "mln"); connect( le, SIGNAL(textChanged(const QString&)), this, SLOT(setText(const QString&)) ); }

    3) pak pomoci "moc" vygenerovat napr. main.moc.cpp a cele to zkompilovat a slinkovat. Pak by to snad melo fungovat
    15.1.2006 16:47 MaCrek
    Rozbalit Rozbalit vše Re: Qt - pokus vytvořit vlastní widget
    No sice je prispevok stary 2 roky, ale mozno to niekomu pomoze:

    Ak je v qt definovana trieda v subore *.cpp je potrebne na koniec tohto suboru includnut *.moc.

    vid.:
    http://doc.trolltech.com/3.0/commonproblems.html#linkerror http://doc.trolltech.com/3.0/moc.html
    15.1.2006 16:48 MaCrek
    Rozbalit Rozbalit vše Re: Qt - pokus vytvořit vlastní widget
    sakra, zabudol som jeden brejk, su tam 2 adresy...

    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.