2011-09-20 10 views
17

Mam wiele QComboBoxes, i w pewnym momencie, muszę pobrać każdy element określonego QComboBox do iteracji.
Mimo że mógłbym mieć listę przedmiotów, które odpowiadają przedmiotom w QComboBox, wolałbym je pobrać bezpośrednio z samego widżetu (istnieje ogromna liczba QComboBoxes z wieloma pozycjami).Uzyskiwanie wszystkich elementów QComboBox - PyQt4 (Python)

Czy są jakieś funkcje/metody, które zrobią to za mnie?
(Np:

QComboBoxName.allItems() 

)
Szukałem poprzez odniesienie klasy, ale nie mógł znaleźć coś odpowiedniego.

Myślałem o kilku bałaganikach, ale ich nie lubię.
(Podobnie jak powtarzanie poprzez QComboBox przez zmianę indeksu i otrzymanie przedmiotu itp.).


Python 2.7.1
IDLE 1,8
Windows 7
PyQt4

Odpowiedz

32

miarę mogę powiedzieć, można po prostu odwołać element za pomocą .itemText():

AllItems = [QComboBoxName.itemText(i) for i in range(QComboBoxName.count())] 
+0

.itemText() działa świetnie! Dzięki! –

+0

Ah, nie wiedziałem, że chcesz tekst przedmiotu, a nie referencję do przedmiotu. Tak czy siak, powodzenia. – Blender