Qt i SIGNAL, SLOT




adikiekrz09.02.2008 12:19:33
#
Dołączył: 09.02.2008

stworzylem taki connect:

connect(ui.listWidget, SIGNAL(itemClicked()), this, SLOT(test())));

chodzi mi o to by pokliknieci na item w listwidget w label pojawil mi sie napis ktory jest funkcji test(), jak ta funkcja jest w pushbutton to dziala a w listwidget nie chce.

ringo9926.05.2009 22:19:12
#
Dołączył: 25.01.2007

Pierwsze pytanie to czy w swoim kodzie w miejscu deklaracji slotu używasz makra slots ?

a druga sprawa dotyczy sygnałów, czy aby na pewno dobry sygnał obsługujesz ?? i w sposób poprawny ?? jak dla mnie to sprawa jest dość prosta, obsługujemy sygnał i w slocie zmieniamy napis odpowiedniego lablel'a. Po za tym pamiętaj ze chcąc zmienić nazwę elementu listy nie wywołujesz funkcji zmiany label'a na rzecz kontrolki QListWidget tylko na rzecz itemu który może ci zwrócić po wyemitowaniu sygnału. btw... polecam dokumentację, jest bardzo prosto i przejrzyście.

Oto urywek dokumentacji który może rozwiązać twój problem:

[c] void QListWidgetItem::setText ( const QString & text )

Sets the text for the list widget item's to the given text.

See also text().[/c]

a tak wyglada deklaracja slotu test();

[c]

class klasa_okna: public QWidget {

private slots: /// dodadkowo pojawia /// sie makro slots void test(); /// a tutaj juz nasz slot

private: ... ...

public: ... ...

protected: ... ...

};

[/c]

connect'y powinny znajdować się w konstruktorze.




Kontakt

Jeśli chcesz się z nami skontaktować napisz na adres: info(at)binboy.org lub odwiedź nasz profil na Facebooku!

O Nas

Serwis binboy.org to kopalnia wiedzy dla wszystkich z branży IT, w szczególności dla programistów i webmasterów. To duży zbiór kursów programowania, tutoriali, darmowych ebooków, setki kodów źródłowych itp.

Bądź w kontakcie

Panel użytkownika

Zaloguj się do panelu użytkownika.
Nie masz konta? Zarejestruj się!
Zapomniałeś hasła?