Více než 600 aplikací postavených na PHP frameworku Laravel je zranitelných vůči vzdálenému spuštění libovolného kódu. Útočníci mohou zneužít veřejně uniklé konfigurační klíče APP_KEY (např. z GitHubu). Z více než 260 000 APP_KEY získaných z GitHubu bylo ověřeno, že přes 600 aplikací je zranitelných. Zhruba 63 % úniků pochází z .env souborů, které často obsahují i další citlivé údaje (např. přístupové údaje k databázím nebo cloudovým službám).
Open source modální textový editor Helix, inspirovaný editory Vim, Neovim či Kakoune, byl vydán ve verzi 25.07. Přehled novinek se záznamy terminálových sezení v asciinema v oznámení na webu. Detailně v CHANGELOGu na GitHubu.
Americký výrobce čipů Nvidia získal od vlády prezidenta Donalda Trumpa souhlas s prodejem svých pokročilých počítačových čipů používaných k vývoji umělé inteligence (AI) H20 do Číny. Prodej těchto čipů speciálně upravených pro čínský trh by tak mohl být brzy obnoven, uvedla firma na svém blogu. Americká vláda zakázala prodej v dubnu, v době eskalace obchodního sporu mezi oběma zeměmi. Tehdy to zdůvodnila obavami, že by čipy mohla využívat čínská armáda.
3D software Blender byl vydán ve verzi 4.5 s prodlouženou podporou. Podrobnosti v poznámkách k vydání. Videopředstavení na YouTube.
Open source webový aplikační framework Django slaví 20. narozeniny.
V Brestu dnes začala konference vývojářů a uživatelů linuxové distribuce Debian DebConf25. Na programu je řada zajímavých přednášek. Sledovat je lze online.
Před 30 lety, tj. 14. července 1995, se začala používat přípona .mp3 pro soubory s hudbou komprimovanou pomocí MPEG-2 Audio Layer 3.
Výroba 8bitových domácích počítačů Commodore 64 byla ukončena v dubnu 1994. Po více než 30 letech byl představen nový oficiální Commodore 64 Ultimate (YouTube). S deskou postavenou na FPGA. Ve 3 edicích v ceně od 299 dolarů a plánovaným dodáním v říjnu a listopadu letošního roku.
Společnost Hugging Face ve spolupráci se společností Pollen Robotics představila open source robota Reachy Mini (YouTube). Předobjednat lze lite verzi za 299 dolarů a wireless verzi s Raspberry Pi 5 za 449 dolarů.
Dnes v 17:30 bude oficiálně vydána open source počítačová hra DOGWALK vytvořena v 3D softwaru Blender a herním enginu Godot. Release party proběhne na YouTube od 17:00.
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:
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.
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í ?
Tak vyřešeno.
Po smazání widgetu se mu musí nastavit setParent(None).
Díky Petrovi Vaňkovi z py.cz konference.
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
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ě ?
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.
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í.
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
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 :)
Tiskni
Sdílej: