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

    Editor kódu Zed (Wikipedie) má nově v sobě integrovaný debugger. Podporuje Rust, C/C++, JavaScript, Go, Python a pomocí rozšíření i další programovací jazyky.

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

    Byl publikován aktuální přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie). Servo mimo jiné nově zvládne animované GIFy.

    Ladislav Hagara | Komentářů: 0
    včera 21:44 | Bezpečnostní upozornění

    Nejnovější X.Org X server 21.1.18 a Xwayland 24.1.8 řeší další bezpečnostní chybu.

    Ladislav Hagara | Komentářů: 0
    včera 17:55 | Pozvánky

    Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 210. sraz, který proběhne 20. června od 18:00 v Red Hat Labu na Fakultě informatiky Masarykovy univerzity na adrese Botanická 68A nebo také online.

    Ladislav Hagara | Komentářů: 0
    včera 14:33 | Nová verze

    Byla vydána nová verze 17 integrovaného vývojového prostředí (IDE) Qt Creator. Podrobný přehled novinek v changelogu.

    Ladislav Hagara | Komentářů: 0
    včera 12:00 | Nová verze

    Open source 3D herní a simulační engine Open 3D Engine (O3DE) byl vydán v nové verzi 25.05.0. Přehled novinek v poznámkách k vydání. Nově je implementováno standardizované simulační rozhraní ROS (Robot Operating System) 2.

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

    Nejnovější X.Org X server 21.1.17 a Xwayland 24.1.7 řeší 6 bezpečnostních chyb: CVE-2025-49175, CVE-2025-49176, CVE-2025-49177, CVE-2025-49178, CVE-2025-49179 a CVE-2025-49180. Nils Emmerich je nalezl koncem března a dnes publikoval detaily.

    Ladislav Hagara | Komentářů: 0
    17.6. 14:33 | Nová verze

    Desktopové prostředí KDE Plasma bylo vydáno ve verzi 6.4 (Mastodon). Přehled novinek i s videi a se snímky obrazovek v oficiálním oznámení. Podrobný přehled v seznamu změn.

    Ladislav Hagara | Komentářů: 0
    17.6. 10:11 | Komunita

    UN Open Source Week 2025 probíhá tento týden v sídle Organizace spojených národů v New Yorku. Středeční a čtvrteční jednání bude možné sledovat na UN Web TV.

    Ladislav Hagara | Komentářů: 1
    17.6. 03:55 | Nová verze

    Byla vydána nová verze 2.50.0 distribuovaného systému správy verzí Git. Přispělo 98 vývojářů, z toho 35 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    Jaký je váš oblíbený skriptovací jazyk?
     (57%)
     (30%)
     (7%)
     (2%)
     (0%)
     (1%)
     (3%)
    Celkem 281 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    Rozcestník

    Dotaz: Python OOP QT, QTabWidget - dynamická tvorba tabů

    14.6.2013 18:49 patrikpb
    Python OOP QT, QTabWidget - dynamická tvorba tabů
    Přečteno: 402×
    Zdravím! Nevěděl jsem jak ve zkratce popsat překážku, kterou řeším. Zkouším v pythonu napsat jednoduché GUI pro NetworkManager. Mám myšlenku, jednoduchého okna, ve kterém bude QTabWidget a na každém tabu bude nastavení jednoho interface (wlan,eth,...) plus pár dalších. Chtěl bych udělat tvorbu těchto tabů závislou na zařízeních, která jsou ve stroji dostupná. Mohu zjistit, jaká zařízení jsou dostupná, ale jsou to jen hodnoty typu string nebo obdobné.

    Měl jsem asi takovouto představu
    ifaces=["wlan0","wlan1","eth0"]#seznam síťových zařízení
    for I in ifaces:
        I=MujWidget()
        #a nasledovalo by pridani instance widgetu jako noveho tabu
    
    Je to jen nástin co od části kódu chci a vím, že nemůže fungovat. Potřebuji nějakým způsobem vytvořil pro každý řetězec jednu instanci widgetu. Má někdo nápad, příklad kódu nebo jiný způsob jak řešit tuto situaci?

    Řešení dotazu:


    Odpovědi

    pavlix avatar 14.6.2013 19:14 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Python OOP QT, QTabWidget - dynamická tvorba tabů
    Možností je spousta. Každopádně nepoužívej proměnou, která slouží k procházení cyklu k ničemu jinému. Widget bude muset vědět, ke kterému interface se vztahuje. Python je na tyhle hříčky docela dobře uzpůsobený.
    for iface in ifaces:
        widget = MujWidget(iface);
        # další práce s widgetem
    
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    14.6.2013 19:42 patrikpb
    Rozbalit Rozbalit vše Re: Python OOP QT, QTabWidget - dynamická tvorba tabů
    Díky, dělá to přesně co jsem v textu chtěl. Jde potom ještě přistupovat jednotlivě k takto vytvořeným widgetům? Nemám tušení jak třeba přistupovat k předposlednímu widgetu, který byl v cyklu vytvořen.
    pavlix avatar 14.6.2013 20:11 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Python OOP QT, QTabWidget - dynamická tvorba tabů
    Buď přes ten tabbed widget, který je zcela jistě zná, nebo si je můžeš někam uložit, třeba do seznamu nebo slovníku, podle toho, jestli k nim chceš přistupovat podle pořadí nebo podle názvu.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    14.6.2013 20:35 patrikpb
    Rozbalit Rozbalit vše Re: Python OOP QT, QTabWidget - dynamická tvorba tabů
    Wow, tak python zase jednou překonal má očekávání. Moc díky za rady, slovník bude to pravé. Vyřešeno :-)
    pavlix avatar 14.6.2013 20:41 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Python OOP QT, QTabWidget - dynamická tvorba tabů
    Jinak s GUI pro NetworkManager si hraje hromada lidí, takže by možná stálo za to spojit síly, pokud chceš dělat něco, co se bude fakt používat.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    14.6.2013 21:12 patrikpb
    Rozbalit Rozbalit vše Re: Python OOP QT, QTabWidget - dynamická tvorba tabů
    Klidně bych s někým spojil síly, jen toho neumím zase tolik a nemám tušení kde hledat takové lidi. Chtěl jsem vytvořit něco nezávislého na DE a využívajícího Qt. V Razor-Qt mi tento nástroj schází.

    Sotva jsem překonal jeden problém, mám další :D. Teď řeším jak pro všechny wifi taby udělat jeden template widgetů abych nemusel všechny widgety definovat znova a znova. Tvorba vlastního widgetu není zase taková hračka jak koukám...
    pavlix avatar 14.6.2013 21:38 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Python OOP QT, QTabWidget - dynamická tvorba tabů
    Vím o někom, kdo má okolo Qt projektů docela přehled:

    https://fedoraproject.org/wiki/JaroslavReznik

    Jinak se určitě někdy stav na IRC freenode #nm.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    19.6.2013 10:53 Radek Novacek | skóre: 3
    Rozbalit Rozbalit vše Re: Python OOP QT, QTabWidget - dynamická tvorba tabů
    Tvorba vlastního widgetu je celkem jednoduchá, stačí podědit QWidget
    class MyWidget(QtGui.QWidget):
        def __init__(self, name, parent=None):
            QtGui.QWidget.__init__(self, parent)
            # Vytvoreni obsahu widgetu
            label = QtGui.QLabel(name, parent)
            # Vytvoreni layoutu
            layout = QtGui.QVBoxLayout(self)
            layout.addWidget(label)
    

    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.