Как перебрать ВСЁ «родительское» дерево, используя цикл «foreach»?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как перебрать ВСЁ «родительское» дерево, используя цикл «foreach»?

Сообщение Anonymous »

Код: Выделить всё

Here is a full , debug, output.
Моя задача — получить доступ к одному из выделенных «детей».
У меня есть доступ к «этому ", и я считаю, что ДОЛЖЕН перебирать "родительские" объекты для выполнения своей задачи.
Я знаю, как кодировать/использовать "foreach" для циклического прохождения ОДНОГО "родительского" объекта (указателя), мне нужна помощь с
Написание кода "foreach" на C++ для перебора ВСЕХ "родительских" объектов в "этом" дереве.

Код: Выделить всё

Locals
index   1   int
mainWindow  0x0 MainWindow_Bluetooth*
test    " TEST SettingsDialog Constructor (emit index 1 ) " QString
this    "SettingsDialog"    SettingsDialog
[QDialog]   "SettingsDialog"    QDialog
[d] @0x555555d8ab80 QDialogPrivate
[parent]    @0x555555dda550 QMdiSubWindow
[QWidget]   @0x555555dda550 QWidget
[d] @0x555555d7b9d0 QMdiSubWindowPrivate
[parent]    @0x555555c2c790 QWidget
[QObject]   @0x555555c2c790 QObject
[QPaintDevice]  @0x555555c2c7a0 QPaintDevice
[d] @0x555555c2c7d0 QWidgetPrivate
[parent]    @0x555555c5ec90 QMdiArea
[QAbstractScrollArea]   @0x555555c5ec90 QAbstractScrollArea
[d] @0x5555558c04f0 QMdiAreaPrivate
[parent]    "MainWindow_Bluetooth"  MainWindow_Bluetooth
[QMainWindow]   "MainWindow_Bluetooth"  QMainWindow
[d] @0x555555c2a630 QMainWindowPrivate
[parent]    @0x555555ce30c0 QMdiSubWindow
**[children]      **QList
[properties]    
[methods]   
[extra]
Menu_Index  0   int
command 0x0 char*
index   8   int
index_sub   0   int
list_array  @0x555555bcda90 QStringList[10]
m_TAB_CommonDebug   "A_BT_TAB_DIALOG"   A_BT_TAB_DIALOG
m_TAB_Connect   0x0 A_BT_TAB_DIALOG*
m_TAB_Ext   0x0 A_BT_TAB_DIALOG_EXT*
m_console   @0x555555c2ce00 Console
m_mdiarea   @0x555555c5ec90 QMdiArea
m_serial    @0x55555566b480 QSerialPort
m_settings  "SettingsDialog"    SettingsDialog
m_settings_RFcomm   0x0 SettingsDialog_RFcomm*
m_status    @0x555555c5edb0 QLabel
m_ui    @0x555555669da0 Ui::MainWindow_Bluetooth
mainAction  @0x555555bcdbe8 QAction*[16]
result  ""  QString
subAction   @0x555555bcdae8 QAction*[16]
subMenu @0x555555bcdb68 QMenu*[16]
text    "   Parent console (case 7) "   QString
verify  @0x555555bcdc90 QStringList[16]
[children]     QList
[properties]    
[methods]   
[extra]
[children]     QList
[properties]    
[methods]   
[extra]
data    @0x555555c2c8f0 QWidgetData
[children]     QList
[properties]    
[methods]   
[extra]
[children]     QList
[properties]    
[methods]   
[extra]
ConnectIndex    1   int
ConnectText " TEST SettingsDialog Constructor (emit index 1 ) " QString
m_TAB_CommonDebug   0x0 A_BT_TAB_DIALOG*
m_TAB_Connect   "A_BT_TAB_DIALOG"    A_BT_TAB_DIALOG
m_TAB_Ext   "A_BT_TAB_DIALOG_EXT"   A_BT_TAB_DIALOG_EXT
m_currentSettings   @0x555555d63cd0 SettingsDialog::Settings
m_intValidator  @0x555555dbe390 QIntValidator
m_status    @0x555555dbdcc0 QLabel
m_ui    @0x555555d751b0 Ui::SettingsDialog
pTAB    "A_BT_TAB_DIALOG"   A_BT_TAB_DIALOG
staticMetaObject    @0x7ffff7f03620 QMetaObject
statusBar   @0x555555dcf6a0 QStatusBar
text    "\n\t  #ifdef APPLY_CONNECT \n\tTRACE SettingsDialog::processAction(int  index) ...  int SettingsDialog::processAction(int, QString)403 \nindex 1\t Test message \n TEST SettingsDialog Constructor (emit index 1 ) "   QString
Inspector
Expressions
"(?addMenu(list[index] +
SERIAL_SETUP
SetupRun
endif

//                    //subtempmenu = new QMenu();
//
m_ui->actionConnect
processAction
qDebug().noquote() 

Подробнее здесь: [url]https://stackoverflow.com/questions/78456662/how-to-iterate-thru-the-entire-parent-tree-using-foreach-loop[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»