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:00 | Nová verze

    raylib (Wikipedie), tj. multiplatformní open-source knihovna pro vývoj grafických aplikací a her, byla vydána ve verzi 6.0.

    Ladislav Hagara | Komentářů: 0
    včera 18:33 | IT novinky

    Nové verze AI modelů. Společnost OpenAI představila GPT‑5.5. Společnost DeepSeek představila DeepSeek V4.

    Ladislav Hagara | Komentářů: 0
    včera 15:33 | Zajímavý článek

    Nová čísla časopisů od nakladatelství Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 164 (pdf) a Hello World 29 (pdf).

    Ladislav Hagara | Komentářů: 0
    včera 04:44 | Komunita

    Bylo oznámeno, že webový prohlížeč Opera GX zaměřený na hráče počítačových her je už také na Flathubu and Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    23.4. 23:11 | IT novinky

    Akcionáři americké mediální společnosti Warner Bros. Discovery dnes schválili převzetí firmy konkurentem Paramount Skydance za zhruba 110 miliard dolarů (téměř 2,3 bilionu Kč). Firmy se na spojení dohodly v únoru. O část společnosti Warner Bros. Discovery dříve usilovala rovněž streamovací platforma Netflix, se svou nabídkou však neuspěla. Transakci ještě budou schvalovat regulační orgány, a to nejen ve Spojených státech, ale také

    … více »
    Ladislav Hagara | Komentářů: 0
    23.4. 22:33 | Nová verze

    Canonical vydal (email, blog, YouTube) Ubuntu 26.04 LTS Resolute Raccoon. Přehled novinek v poznámkách k vydání. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 11. vydání s dlouhodobou podporou (LTS).

    Ladislav Hagara | Komentářů: 2
    23.4. 11:55 | Nová verze

    V programovacím jazyce Go naprogramovaná webová aplikace pro spolupráci na zdrojových kódech pomocí gitu Gitea (Wikipedie) byla vydána v nové verzi 1.26.0. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    23.4. 04:44 | Pozvánky

    Ve středu 29. dubna 2026 se v pražské kanceláři SUSE v Karlíně uskuteční 7. Mobile Linux Hackday, komunitní setkání zaměřené na Linux na mobilních zařízeních, kernelový vývoj i uživatelský prostor. Akce proběhne od 10:00 do večerních hodin. Hackday je určen všem zájemcům o praktickou práci s Linuxem na telefonech. Zaměří se na vývoj aplikací v userspace, například bankovní aplikace, zpracování obrazu z kamery nebo práci s NFC, i na úpravy

    … více »
    lkocman | Komentářů: 1
    22.4. 21:55 | Nová verze

    LilyPond (Wikipedie) , tj. multiplatformní svobodný software určený pro sazbu notových zápisů, byl vydán ve verzi 2.26.0. Přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    22.4. 20:33 | Nová verze

    Byla vydána nová verze 11.0.0 otevřeného emulátoru procesorů a virtualizačního nástroje QEMU (Wikipedie). Přispělo 237 vývojářů. Provedeno bylo více než 2 500 commitů. Přehled úprav a nových vlastností v seznamu změn.

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

    Dotaz: PyQt - mazání řádku grid layoutu

    Martin Stiborský avatar 18.4.2009 14:38 Martin Stiborský | skóre: 26 | blog: Stibiho bláboly | Opava
    PyQt - mazání řádku grid layoutu
    Přečteno: 270×
    Příloha:

    Dobrý den.

    V příloze jsem vložil obrázek aplikaci. Je v ní QGridLayout, který má na každém řádku nékolik widgetů a hlavně každý řádek má tlačítko, které má řádek smazat. Moje otázka je, jak toto nejlíp vyřešit.

    Zatím jediné co mě napadlo, je funkce přípojená na každé tlačítko, která udělá následující věci:

    • pomocí sender() zjistím widget na který se kliklo
    • indexOf mi zjistí index toho widgetu a pak jsem schopný funkcí getItemPosition zjistit umístění mazacího tlačítka a tím pádem řádek na kterém leží a který má být smazán
    • pak stačí prolézt všechny sloupce řádku, tím získám všechny widgety které tam jsou a můžu je smazat pomocí removeWidget

    Toto jsem vyzkoušel, problém je, že to nefunguje, pořád existuje řádek layoutu, není to ono.

    Navíc, není nějaký lepší způsob, jak zjistit všechny widgety jednoho řádku ?

    Díky mockrát za pomoc.

    Kvík ..

    Odpovědi

    Martin Stiborský avatar 19.4.2009 17:13 Martin Stiborský | skóre: 26 | blog: Stibiho bláboly | Opava
    Rozbalit Rozbalit vše Re: PyQt - mazání řádku grid layoutu

    Jediné co mě napadlo je, že si uložím vše krom řádku který chci smazat, smažu celý widget a znovu ho vykreslím.

    To fakt není jiné řešení ?

    Kvík ..
    Martin Stiborský avatar 20.4.2009 00:21 Martin Stiborský | skóre: 26 | blog: Stibiho bláboly | Opava
    Rozbalit Rozbalit vše Re: PyQt - mazání řádku grid layoutu

    Tak vyřešeno.

    Po smazání widgetu se mu musí nastavit setParent(None).

    Díky Petrovi Vaňkovi z py.cz konference.

    Kvík ..
    20.4.2009 10:52 KL
    Rozbalit Rozbalit vše Re: PyQt - mazání řádku grid layoutu

     

    Tak vyřešeno.

    Po smazání widgetu se mu musí nastavit setParent(None).

    Díky Petrovi Vaňkovi z py.cz konference.

    Hmm...přiznám se že mi není úplně jasné, čeho pomocí setParent(None) dosáhneš. Widgety zmizí, GC je posbírá protože nemají žádného parenta, to je jasný, ale řádek layoutu tam pořád zůstane, ne? I když teda asi nebude mít žádnou velikost...safra, už jsem PyQt dlouho nic neudělal, ztrácím tu jistotu :-)

     

    Martin Stiborský avatar 20.4.2009 10:57 Martin Stiborský | skóre: 26 | blog: Stibiho bláboly | Opava
    Rozbalit Rozbalit vše Re: PyQt - mazání řádku grid layoutu

    Máš pravdu, řádek tam zůstane a je to pro mě problém, protože pak ty řádky procházím, sbírám data  z widgetů a cyklus řídí počet řádků.

    Není to čisté řešení. Jak ten řádek smazat korektně ?

    Kvík ..
    20.4.2009 11:13 KL
    Rozbalit Rozbalit vše Re: PyQt - mazání řádku grid layoutu

    Obávám se, že u už vytvořeného QGridLayoutu řádky ani nepřidáš, ani neodebereš. Asi se budeš muset smířit s tím, že tam vždycky nějaké zůstanou, a seznam widgetů pro cyklus si držet někde bokem, aby se ti tam prázdné řádky layoutu nepletly.

    Martin Stiborský avatar 20.4.2009 11:16 Martin Stiborský | skóre: 26 | blog: Stibiho bláboly | Opava
    Rozbalit Rozbalit vše Re: PyQt - mazání řádku grid layoutu

    Přidat řádek není problém.

    Dobrá, postačí mi držet si řádky které jsou obsazeny widgety, to není problém. Jenom jsem doufal, že bude nějaké čistší řešení.

    Kvík ..
    20.4.2009 11:38 KL
    Rozbalit Rozbalit vše Re: PyQt - mazání řádku grid layoutu

    Jak přidáš pátý řádek do gridu, který má jen čtyři řádky? Neříkám že to nejde, možná jsem jen nevzdělanej, ale nikde na to metodu nevidím. Tedy pokud tím nemyslíš to, že do řádku gridu šoupneš dvouřádkový HBoxLayout :-)

    Martin Stiborský avatar 20.4.2009 11:49 Martin Stiborský | skóre: 26 | blog: Stibiho bláboly | Opava
    Rozbalit Rozbalit vše Re: PyQt - mazání řádku grid layoutu

    Já si nejsem vůbec jistý, jestli to všechno chápu dobře já, ale když vytvořím GridLayout, tak předem nemusím specifikovat kolik řádků/sloupců bude mít.

    Když do něj tedy chci něco vložit, tak zavolám addWidget() kde určím ukazatel na widget který do layoutu vkládám, řádek, sloupec, popřípadě další věci. Toť vše.

    Viz tady, "self.answersWidgets" je GridLayout, pod "self.rowCount" mám další volný řádek v layoutu a poslední parametr je sloupec.

    Doufám že každý nemluvíme o něčem jiném :)

    Kvík ..
    20.4.2009 12:28 Raduz | skóre: 5
    Rozbalit Rozbalit vše Re: PyQt - mazání řádku grid layoutu
    Máš pravdu, a já žiju v minulosti :-) Počet sloupců/řádků se v konstruktoru QGridLayoutu specifikoval v Qt3, v Qt4 už se to zřejmě dělá dynamicky při vkládání widgetů. Vždyť říkám, že jsem v PyQt dlouho nic nedělal.

    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.