|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#21 |
|
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
passeremo a wxWidgets + boost ma per adesso devo finire una cosa al volo e devo usare QT.
Ho fatto una matrice dinamica di pulsanti e adesso dovrei assegnare un evento clicked() ad ognuno. Ovviamente un evento solo con un ID per riconoscere il chiamante. L'ho fatto con wxWidgets ed è una scemenza, con QT non ne esco fuori. Sto usando questo metodo per collegare i pulsanti all'evento: Codice:
connect(&qButtons[n][i], SIGNAL(clicked()), this, SLOT(on_MatrixBtnClicked()) ); funziona, entra in questa funzione quando premo uno qualsiasi dei pulsanti Codice:
void MatrixWindow::on_MatrixBtnClicked()
{
puts( __PRETTY_FUNCTION__ );
}
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve |
|
|
|
|
|
#22 | |
|
Senior Member
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
|
Quote:
Forse che non funziona la puts? Ciao
__________________
GPU Compiler Engineer |
|
|
|
|
|
|
#23 |
|
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
scusa ma sono sveglio dalle 4 :
mi sa che ho spiegato alla verga di segugio diciamo che comunque ho risolto ma non mi piace ... anche se mi sembra non ci siano vie alternative migliori ed è un punto a sfavore per QT. Spiego: Ho una matrice di pulsanti che chiamano UNA funzione quando vengono cliccati. In questa funzione voglio intercettare l'ID del pulsante per sapere chi è il chiamante. In wxWidgets è semplicissimo, in QT pare non sia possibile se non taroccando la cosa. Se vuoi spiego come ho risolto EDIT: la puts è solo per vedere se entra nella funzione
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve |
|
|
|
|
|
#24 |
|
Senior Member
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
|
Non so, provo a sparare a caso
Hai subclassato QPushButton facendo una classe che implementa un segnale "clickedID(int)" Hai fatto l'override di "void mouseReleaseButton(QMouseEvent* event)" e l'hai definita : void MioButtonID::mouseReleaseButton(QMouseEvent* event) { emit clickedID(id); } (posto che "id" sia una variabile "int" della classe MioButtonID) e poi nella classe che deve ricevere il segnale : connect(button[i][j], SIGNAL(clickedID(int)), this, SLOT(matrixBtnClicked(int))); ???? Questo è quello che avrei fatto io così di a prima vista Ciao
__________________
GPU Compiler Engineer |
|
|
|
|
|
#25 | |
|
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
Quote:
Però mi sembra così strano dover fare una mandrakata del genere. Un sistema così grosso come QT che non prevede un evento con ID
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve |
|
|
|
|
|
|
#26 | |
|
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7260
|
Quote:
avresti dovuto usare QButtonGroup http://doc.trolltech.com/4.3/qbuttongroup.html |
|
|
|
|
|
|
#27 | |
|
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
Quote:
perchè l'evento clicked è "clicked()" (senza parametri) se poi sai come farlo senza quel giro lungo sono tutt'orecchi
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve |
|
|
|
|
|
|
#28 | |
|
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7260
|
Quote:
Codice:
void QButtonGroup::buttonClicked ( int id ) Ultima modifica di k0nt3 : 21-11-2007 alle 10:19. |
|
|
|
|
|
|
#29 | |
|
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
Quote:
Infatti dice: This function was introduced in Qt 4.2. vabbè risolto, grazie. 2 ore di lavoro buttate nel cesso
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve |
|
|
|
|
|
|
#30 |
|
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7260
|
fai riferimento alla documentazione di trolltech che è ottima
trovi tutto qui http://doc.trolltech.com/4.3/index.html |
|
|
|
|
|
#31 | |
|
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
Quote:
http://doc.trolltech.com/4.3/classes.html
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve |
|
|
|
|
|
|
#32 |
|
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7260
|
buon lavoro!
|
|
|
|
|
|
#33 |
|
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
grazie ma con QT ho già finito
Adesso abbandoniamo QT e passiamo a wxWidgets ma il problema è che devo convertire tutte le QList, QString, QPair, QCazz
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:54.












buon lavoro!








