Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Re: [python] [Python]=seznam objektu v QTabWidgetu

0 views
Skip to first unread message

Petr Vanek

unread,
Apr 29, 2008, 4:41:49 AM4/29/08
to pyt...@py.cz
> tabList = []
> for x in range(self.ui.questionTabs.count()):
> tabList.append(self.ui.questionTabs.widget(x))
>
> Jako skladiště tabů jsem prozatím zvolil pythonovský list,
QObjectList
> z Qt ještě prozkoumám, abych se přiznal, tak to že Qt má vlastní
> datové typy je pro mne novinkou :)
> Že se k jednomu tabu dostanu přes číselný index jsem věděl, tak
> nechápu, že mě hned nenapadlo dát to do smyčky ... asi jsem až moc
> hledal už nějakou hotovou funkci ...

oni v Trolltechu uvažují asi nějak takhle (podle Qt konfery soudě):
když už něco nacpu do qtabwidgetu, tak vím, co tam dávám. A proto si
to nejspíš někde poznamenám, takže na to není potřeba speciální
funkce. Navíc se to v C++ dá elegantně napsat pomocí foreach makra.

Qt zavádí hromadu vlastních typů/konstrukcí, které mají ekvivalent v
standardních knihovnách různých jazyků (v případě vazeb na jiné
než C++) a osobně v tomhle případě rozdíl mezi [] a QObjectList()
nevidím. Kromě toho, že je druhá varianta delší na psaní. {zde
vložte příspěvek páně Supermana, který bude jistě následovat,
přičemž nepochybuju, že bude poučný;)}

Stejně tak se dají obejít různé QMapy, QPairy a QHashe, které jsou v
C++ pekelně pohodlné, ale v Pythonu trošku nadbytečné.

petr


superman

unread,
Apr 29, 2008, 7:42:27 AM4/29/08
to Konference PyCZ
>{zde vložte příspěvek páně Supermana, který bude jistě následovat,
přičemž nepochybuju, že bude poučný;)}

Tak teď jsem se nasmál, tohle jsem nečekal.

On je Python a C++ tak odlišný, že se to nedá srovnávat. A Qt byla
původně pro C++. Navíc pro C++ je problém, že kromě všeho musíte taky
uhlídat všechny pointery, nemá garbage collector. Podle mého by bylo
nejlepší, kdyby Python měl svou nativní grafickou knihovnu, kde by se
nemusel přizpůsobovat C++ jazyku. A nebo alespoň "pythonovštěji" obalené
Qt a wxWidgets. Moc bych si to přál já sám.

Ale jinak já do Qt nekecám. Nepoužívám ho, a to ze dvou důvodů. První je
nevyhovující licence, druhá je ta, že Qt není čisté C++ a nedá se přímo
přeložit C++ kompilátorem. Třetí je to, že Qt používá zlomeček možností
C++ a čtvrté je to, že Qt je na štíru s ošetřováním chyb a mnohé metody,
které mohou selhat vůbec nevrací žádnou chybovou informaci. Ale jinak je
Qt príma. :-)

Miloslav Ponkrác

0 new messages