有没有办法使用Qt Creator中的Locals and Expressions窗口查看存储在QStandardItemModel
对象中的数据,以便在调试时监控它们的值?
我可以在Locals窗口中看到数组的内容,但对于QStandardItemModel
,表示不会显示内部数据:
Image of Qt Creator Locals Window showing a QStandardItemModel
我正在使用Qt Creator版本4.0.3和Qt版本5.7.0。
我已经尝试了以下方法,但他们没有帮助:
我还尝试将myQStandardItemModel->item(0,0)->text()
添加到“表达式”窗口,但这会给出<no such value>
的值。但是,如果我将它直接放在代码中,并将其分配给临时变量,则此表达式可以正常工作。虽然我可以使用这种技术进行调试,但它迫使我在我的代码中添加临时变量,并在每次发现需要检查QStandardItemModel
时重新编译 - 是否有更快的方法?
答案 0 :(得分:0)
我现在发现,如果我从使用Qt Creator切换到使用Microsoft Visual Studio 2015调试我的代码,我可以在中断模式下在Locals窗口中看到QStandardItemModel
的内容。 QStandardItemModel
中第一项的数据可在以下位置找到:
myQStandardItemModel / QAbstractItemModel / QObject / d_ptr / [Raw View] / d /
[QStandardItemModelPrivate] / root / [Raw View] / d / d_ptr / [Raw View] / d / children /
[0] / d_ptr / [Raw View] / d / values / [0] / value
以下截图说明了这一点:
我还尝试使用Microsoft Visual C ++编译器在Qt Creator中编译代码,并使用Windows SDK中的CDB调试器进行调试。但是,虽然这确实在“本地”窗口中提供了关于QStandardItemModel
而不是MinGW的更多调试信息,但我无法在QStandardItemModel
的每个项目中找到实际的文本数据。