[ad_1]
J’essaie d’identifier “l’expéditeur” de la fonction “connect” de Qt.
le
int i = RXobject->senderSignalIndex();
cela semble être un bon moyen d’accomplir ma tâche, mais…
Je reçois le membre “protégé” et je ne sais pas comment procéder…
Veuillez ignorer le code non pertinent, il est “en construction”
et je pose une question C++, rien à voir avec Qt.
C++
void MainWindow_Bluetooth::processMenu(int index_submenu, int index_mainmenu) { #ifdef LAMBDA text = "TASK DEBUG connect... "; //connect text += Q_FUNC_INFO; text += QString::number(__LINE__); // move index to class !!! text += " main loop index_main "; text += QString::number(index_mainmenu); text += " embeded loop index_sub "; text += QString::number(index_submenu); text += " main loop class passed index "; text += QString::number(index); qDebug() << text; #endif {// analyze indexes received block QString text; QObject *RXobject = sender(); RXobject->dumpObjectInfo(); QObjectList children = RXobject->children(); //; text = RXobject->children().at(0); //QObjectList *RXChildren = RXobject->children(); //QObject *RXparent = RXobject->parent(); //QObject *TEST_parent = RXparent->parent(); // protected member ??? int i = RXobject->senderSignalIndex(); //int SenderIndex = RXobject::senderSignalIndex(); //text = RXobject->dumpObjectInfo(); text = Q_FUNC_INFO; qDebug() << text;
/mnt/A_BT_DEC10/BT__PROGRAMS/A_JAN11/A_BT_LIBRARY/terminal_Bluetooth/mainwindow_Bluetooth_copy.cpp:3890: error: 'senderSignalIndex' is a protected member of 'QObject' mainwindow_Bluetooth_copy.cpp:3890:19: error: 'senderSignalIndex' is a protected member of 'QObject' int i = RXobject->senderSignalIndex(); ^ /home/nov25-1/Qt/5.15.2/gcc_64/include/QtCore/qobject.h:435:9: note: can only access this member on an object of type 'MainWindow_Bluetooth' int senderSignalIndex() const; ^
Ce que j’ai essayé :
Demandez à Mme Google de fournir un exemple de “expéditeur
“utilisation… pas de chance
Solution 1
Si je comprends ce que vous essayez de faire, vous ne « résolvez » pas cette méthode. Les membres protégés d’une classe ne sont accessibles qu’à partir du code de classe lui-même ou des héritiers de la classe, qui, je pense, sont QObject.
[ad_2]
コメント