Autor Wątek: QlistWidget w QT - jak zrobić wybór z listy w QListWidget  (Przeczytany 863 razy)

Offline Abaddon

  • Użytkownik

# Styczeń 22, 2010, 08:05:09
Cześć

Chciałbym prosić Was o pomoc, ponieważ już sam nie wiem, w czym robię błąd. W Qt jest taki typ QListWidget - chcę napisać program, który za pomocą tego obiektu będę mógł sobie wybierać jeden wierszyk (np. Jakiś mickiewicza). Wiem, ze jest taki sygnał, jak itemPressed(QListWidgetItem*)

kiedy korzystam z takiego połączenia:

connect(drzewo_wierszy,SIGNAL(itemPressed(QListWidgetItem*)),this,SLOT(jakis_slot()));
Wtedy działa, i co bym z listy tej nie wybrał, to slot jakis_slot() sie wykonuje.

Jednak kiedy zamiast QListWidgetItem* (w sygnale) wpisuje nazwe itemu (np. mickiewicz), to nie działa to połączenie.

Proszę o pomoc, ponieważ nie mam już pomysłu jak zrobić z tym typem. Już chyba próbowałem wszystkiego. Mało tego, w dokumentacji jest tylko tyle:
Cytuj
void QListWidget::itemPressed ( QListWidgetItem * item )   [signal]

This signal is emitted with the specified item when a mouse button is pressed on an item in the widget.

See also itemClicked() and itemDoubleClicked().

a a wszelkiego rodzaju stronach strasznie mało co o tym typie, a w ogóle nie moge znaleść jak robić tak, jak wspominałem na początku programu....

Z góry dzięki za pomoc:D

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline agent_J

  • Użytkownik

# Styczeń 22, 2010, 09:58:55
Niestety nie ma możliwości sprawdzenia, który item został wybrany i jaką ma zawartość ... Do dokumentacji i czytać wszystko od początku a szczególnie jak działają podstawowe mechanizmy Qt ...

Offline Abaddon

  • Użytkownik

# Styczeń 22, 2010, 18:10:41
To po *** jest coś takiego?? Nie działa to na zasadzie - wcinąłem, zwraca jakąś liczbę tekst cokolwiek?? Naprawde nie jest to logiczne.

Offline kamilek

  • Użytkownik

# Styczeń 25, 2010, 21:14:33
powinno być coś takiego :)

connect(drzewo_wierszy,SIGNAL(itemPressed(QListWidgetItem*)),this,SLOT(jakis_slot(QListWidgetItem*)));

SYGNAŁ i SŁOT muszą mieć takie same typy argumentów w tym wypadku QListWidgetItem*
a potem możesz zrobić co tylko chcesz :)