Here is a full , debug, output.
我的任务是访问突出显示的“孩子”之一。
我可以访问“this”指针,并且我相信我应该迭代“父”对象来完成我的任务。 我知道如何编码/使用“foreach”循环通过一个“父”(指针),我确实需要帮助 C++ 编码“foreach”以循环遍历“this”树中的所有“父”对象。
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] <35 items> **QList<QObject*>
[properties] <at least 0 items>
[methods] <20 items>
[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] <3 items> QList<QObject*>
[properties] <at least 8 items>
[methods] <14 items>
[extra]
[children] <6 items> QList<QObject*>
[properties] <at least 59 items>
[methods] <27 items>
[extra]
data @0x555555c2c8f0 QWidgetData
[children] <4 items> QList<QObject*>
[properties] <at least 2 items>
[methods] <7 items>
[extra]
[children] <8 items> QList<QObject*>
[properties] <at least 0 items>
[methods] <8 items>
[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
"(?<=\thci0 <no such value>
// subMenu[index] = subMenu[index]
// ->addMenu(list[index] +
SERIAL_SETUP
SetupRun
endif
// //subtempmenu = new QMenu();
//
m_ui->actionConnect
processAction
qDebug().noquote() << text;
Return Value
Tooltip
正如我所说,我知道如何在单亲“父母”中执行“foreach”。 也许我需要嵌套的“foreach”循环? 如果是这样 - 怎么办?
PS 我不是机器人,我不会回复人工智能生成的评论。
这是我的单阶段“foreach”代码
// iterate parent until correct object is found or until action match is found
QList<QObject*> pList =this->parent()->children();
foreach (auto item,pList)
{
text = " iterate parent(s) "; // test ;
qDebug().noquote() << text;
text = item->objectName(); parent child
qDebug().noquote() << text;
}
需要扩展整个树
任何人??
PS 我会破例回复那些说我需要知道树的深度的人。不,这就是“foreach”的作用。