在visual studio 2019调试模式下查看QTreeWidget、QTreeWidgetItem类型的变量的值

系列文章目录

文章目录

  • 系列文章目录
  • 前言
  • 一、编译优化设置
  • 二、打印输出

前言

使用visual studio2019调试代码时,遇到QTreeWidget、QTreeWidgetItem类型的变量,如何查看节点和子节点的值呢,我在visual studio2019调试代码时,监视窗口显示如下:
在visual studio 2019调试模式下查看QTreeWidget、QTreeWidgetItem类型的变量的值_第1张图片
上图中cameraNode是一个QTreeWidgetItem类型的变量,我知道能看到这个cameraNode节点有三个子节点,但我不能看到她的子节点的名称等属性。
于是我视图添加新的监视变量:cameraNode->text(0) 代表cameraNode的第一个子节点
cameraNode->text(1) 代表cameraNode的第二个子节点
cameraNode->text(2) 代表cameraNode的第三个子节
但是调试提示: cameraNode->text(0) 函数 QTreeWidgetItem::text 没有地址,原因可能是编译器优化。

一、编译优化设置

项目属性窗口,选择C/C++ ->优化->已禁用(/Od)
在visual studio 2019调试模式下查看QTreeWidget、QTreeWidgetItem类型的变量的值_第2张图片
我已经设置禁止编译器优化,问题依旧

二、打印输出

使用Qt自带的qDebug()

//任务节点
    QString preTask = u8"任务:";
    QTreeWidgetItem* taskNode = nullptr;
    for(QString item : m_taskNumSet)
    {
        taskNode = new QTreeWidgetItem();
        QString taskNum = preTask + item;
        taskNum = taskNum.trimmed();
        taskNode->setText(0, taskNum);
        taskNode->setCheckState(0, Qt::Checked);
        cameraNode->addChild(taskNode);   
    }

    qDebug() << "taskNode:" << "cameraNode->child(0)->text(0)=" << cameraNode->child(0)->text(0) << "cameraNode->child(1)->text(0)=" << cameraNode->child(1)->text(0) << "cameraNode->child(2->text(0)" << cameraNode->child(2)->text(0);

   

在visual studio 2019调试模式下查看QTreeWidget、QTreeWidgetItem类型的变量的值_第3张图片

你可能感兴趣的:(Qt,vs2015~2019报错,qt,QTreeWidget查看值)