[ad_1]
Estoy intentando identificar el “remitente” de la función “conectar” de Qt.
el
int i = RXobject->senderSignalIndex();
Parece una buena manera de realizar mi tarea, pero…
Me sale el miembro “protegido” y no se como proceder…
Ignore el código irrelevante, esto está “en construcción”.
y estoy haciendo una pregunta sobre C++, nada que ver con 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; ^
Lo que he probado:
Pídale a la Sra. Google que proporcione un ejemplo de “remitente
“uso… no hubo suerte
Solución 1
Si entiendo lo que intentas hacer, no “resuelvas” ese método. Solo se puede acceder a los miembros protegidos de una clase desde el código de la clase o desde los herederos de la clase, que creo que es QObject.
[ad_2]
コメント