解决攻略:

在Vs2019安装目录中找到Visualizers目录,并将qt5.natvis拷贝至目录下,如下图:

Visualizers路径:C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Packages\Debugger\Visualizers

qt5.natvis:

<?xml version="1.0" encoding="utf-8"?>
<!--******************************************************************************** Copyright (C) 2016 The Qt Company Ltd.** Contact: https://www.qt.io/licensing/**** This file is part of the Qt VS Tools.**** $QT_BEGIN_LICENSE:GPL-EXCEPT$** Commercial License Usage** Licensees holding valid commercial Qt licenses may use this file in** accordance with the commercial license agreement provided with the** Software or, alternatively, in accordance with the terms contained in** a written agreement between you and The Qt Company. For licensing terms** and conditions see https://www.qt.io/terms-conditions. For further** information use the contact form at https://www.qt.io/contact-us.**** GNU General Public License Usage** Alternatively, this file may be used under the terms of the GNU** General Public License version 3 as published by the Free Software** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT** included in the packaging of this file. Please review the following** information to ensure the GNU General Public License requirements will** be met: https://www.gnu.org/licenses/gpl-3.0.html.**** $QT_END_LICENSE$******************************************************************************
--><AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010"><Type Name="QPoint"><AlternativeType Name="QPointF"/><DisplayString>{{ x = {xp}, y = {yp} }}</DisplayString><Expand><Item Name="[x]">xp</Item><Item Name="[y]">yp</Item></Expand></Type><Type Name="QRect"><DisplayString>{{ x = {x1}, y = {y1}, width = {x2 - x1 + 1}, height = {y2 - y1 + 1} }}</DisplayString><Expand><Item Name="[x]">x1</Item><Item Name="[y]">y1</Item><Item Name="[width]">x2 - x1 + 1</Item><Item Name="[height]">y2 - y1 + 1</Item></Expand></Type><Type Name="QRectF"><DisplayString>{{ x = {xp}, y = {yp}, width = {w}, height = {h} }}</DisplayString><Expand><Item Name="[x]">xp</Item><Item Name="[y]">yp</Item><Item Name="[width]">w</Item><Item Name="[height]">h</Item></Expand></Type><Type Name="QSize"><AlternativeType Name="QSizeF"/><DisplayString>{{ width = {wd}, height = {ht} }}</DisplayString><Expand><Item Name="[width]">wd</Item><Item Name="[height]">ht</Item></Expand></Type><Type Name="QLine"><AlternativeType Name="QLineF"/><DisplayString>{{ start point = {pt1}, end point = {pt2} }}</DisplayString><Expand><Synthetic Name="[start point]"><DisplayString>{pt1}</DisplayString><Expand><ExpandedItem>pt1</ExpandedItem></Expand></Synthetic><Synthetic Name="[end point]"><DisplayString>{pt2}</DisplayString><Expand><ExpandedItem>pt2</ExpandedItem></Expand></Synthetic></Expand></Type><Type Name="QPolygon"><DisplayString>{{ size = {d-&gt;size} }}</DisplayString><Expand><Item Name="[referenced]">d-&gt;ref.atomic._q_value</Item><ArrayItems><Size>d-&gt;size</Size><ValuePointer>(QPoint*)((reinterpret_cast&lt;char*&gt;(d)) + d-&gt;offset)</ValuePointer></ArrayItems></Expand></Type><Type Name="QPolygonF"><DisplayString>{{ size = {d-&gt;size} }}</DisplayString><Expand><Item Name="[closed]">d-&gt;size &gt; 0&amp;&amp; ((((QPointF*)((reinterpret_cast&lt;char*&gt;(d)) + d-&gt;offset)[0]).xp== (((QPointF*)((reinterpret_cast&lt;char*&gt;(d)) + d-&gt;offset)[d-&gt;size - 1]).xp)&amp;&amp; ((((QPointF*)((reinterpret_cast&lt;char*&gt;(d)) + d-&gt;offset)[0]).yp== (((QPointF*)((reinterpret_cast&lt;char*&gt;(d)) + d-&gt;offset)[d-&gt;size - 1]).yp)</Item><Item Name="[referenced]">d-&gt;ref.atomic._q_value</Item><ArrayItems><Size>d-&gt;size</Size><ValuePointer>(QPointF*)((reinterpret_cast&lt;char*&gt;(d)) + d-&gt;offset)</ValuePointer></ArrayItems></Expand></Type><Type Name ="QVector2D"><DisplayString>{{ x = {xp}, y = {yp} }}</DisplayString><Expand><Item Name="[x]">xp</Item><Item Name="[y]">yp</Item></Expand></Type><Type Name ="QVector3D"><DisplayString>{{ x = {xp}, y = {yp}, z = {zp} }}</DisplayString><Expand><Item Name="[x]">xp</Item><Item Name="[y]">yp</Item><Item Name="[z]">zp</Item></Expand></Type><Type Name ="QVector4D"><DisplayString>{{ x = {xp}, y = {yp}, z = {zp}, w = {wp} }}</DisplayString><Expand><Item Name="[x]">xp</Item><Item Name="[y]">yp</Item><Item Name="[z]">zp</Item><Item Name="[w]">wp</Item></Expand></Type><Type Name ="QMatrix"><DisplayString>{{ m11 = {_m11}, m12 = {_m12}, m21 = {_m21}, m22 = {_m22}, ... }}</DisplayString><Expand><Item Name="[m11]">_m11</Item><Item Name="[m12]">_m12</Item><Item Name="[m21]">_m21</Item><Item Name="[m22]">_m22</Item><Item Name="[dx]">_dx</Item><Item Name="[dy]">_dy</Item></Expand></Type><Type Name ="QMatrix4x4"><DisplayString>{{ m11 = {m[0][0]}, m12 = {m[1][0]}, m13 = {m[2][0]}, m14 = {m[3][0]}, ... }}</DisplayString><Expand><Item Name="[m11]">m[0][0]</Item><Item Name="[m12]">m[1][0]</Item><Item Name="[m13]">m[2][0]</Item><Item Name="[m14]">m[3][0]</Item><Item Name="[m21]">m[0][1]</Item><Item Name="[m22]">m[1][1]</Item><Item Name="[m23]">m[2][1]</Item><Item Name="[m24]">m[3][1]</Item><Item Name="[m31]">m[0][2]</Item><Item Name="[m32]">m[1][2]</Item><Item Name="[m33]">m[2][2]</Item><Item Name="[m34]">m[3][2]</Item><Item Name="[m41]">m[0][3]</Item><Item Name="[m42]">m[1][3]</Item><Item Name="[m43]">m[2][3]</Item><Item Name="[m44]">m[3][3]</Item></Expand></Type><Type Name="QSizePolicy"><DisplayString>{{ horizontal = {static_cast&lt;Policy&gt;(bits.horPolicy)}, vertical = {static_cast&lt;Policy&gt;(bits.verPolicy)}, type = {ControlType(1 &lt;&lt; bits.ctype)} }}</DisplayString><Expand><Synthetic Name="[vertical policy]"><DisplayString>QSizePolicy::Policy::{static_cast&lt;Policy&gt;(bits.verPolicy)}</DisplayString></Synthetic><Synthetic Name="[horizontal policy]"><DisplayString>QSizePolicy::Policy::{static_cast&lt;Policy&gt;(bits.horPolicy)}</DisplayString></Synthetic><Synthetic Name="[control type]"><DisplayString>QSizePolicy::ControlType::{ControlType(1 &lt;&lt; bits.ctype)}</DisplayString></Synthetic><Synthetic Name="[expanding directions]"><DisplayStringCondition="(static_cast&lt;Policy&gt;(bits.verPolicy) &amp; ExpandFlag)">Qt::Vertical (2)</DisplayString><DisplayStringCondition="(static_cast&lt;Policy&gt;(bits.horPolicy) &amp; ExpandFlag)">Qt::Horizontal (1)</DisplayString></Synthetic><Item Name="[vertical stretch]">static_cast&lt;int&gt;(bits.verStretch)</Item><Item Name="[horizontal stretch]">static_cast&lt;int&gt;(bits.horStretch)</Item><Item Name="[has height for width]">bits.hfw == 1</Item><Item Name="[has width for height]">bits.wfh == 1</Item></Expand></Type><Type Name="QChar"><DisplayString>{ucs,c}</DisplayString><StringView>ucs,c</StringView><Expand><Item Name="[latin 1]">ucs > 0xff ? '\0' : char(ucs),c</Item><Item Name="[unicode]">ucs,c</Item></Expand></Type><Type Name="QString"><DisplayString>{((reinterpret_cast&lt;unsigned short*&gt;(d)) + d->offset / 2),sub}</DisplayString><StringView>((reinterpret_cast&lt;unsigned short*&gt;(d)) + d->offset / 2),sub</StringView><Expand><Item Name="[size]">d-&gt;size</Item><Item Name="[referenced]">d-&gt;ref.atomic._q_value</Item><ArrayItems><Size>d-&gt;size</Size><ValuePointer>((reinterpret_cast&lt;unsigned short*&gt;(d)) + d->offset / 2),c</ValuePointer></ArrayItems></Expand></Type><Type Name="QByteArray"><DisplayString>{((reinterpret_cast&lt;char*&gt;(d)) + d-&gt;offset),sb}</DisplayString><StringView>((reinterpret_cast&lt;char*&gt;(d)) + d-&gt;offset),sb</StringView><Expand><Item Name="[size]">d-&gt;size</Item><Item Name="[referenced]">d-&gt;ref.atomic._q_value</Item><ArrayItems><Size>d-&gt;size</Size><ValuePointer>((reinterpret_cast&lt;char*&gt;(d)) + d-&gt;offset),c</ValuePointer></ArrayItems></Expand></Type><Type Name="QBitArray"><DisplayString>{{ size = {(d.d-&gt;size &lt;&lt; 3) - *((reinterpret_cast&lt;char*&gt;(d.d)) + d.d-&gt;offset)} }}</DisplayString><Expand><Item Name="[referenced]">d.d-&gt;ref.atomic._q_value</Item><IndexListItems><Size>(d.d-&gt;size &lt;&lt; 3) - *((reinterpret_cast&lt;char*&gt;(d.d)) + d.d-&gt;offset)</Size><ValueNode>(*(reinterpret_cast&lt;const unsigned char*&gt;((reinterpret_cast&lt;char*&gt;(d.d)) + d.d-&gt;offset) + 1+ ($i &gt;&gt; 3)) &amp; (1 &lt;&lt; ($i &amp; 7))) != 0</ValueNode></IndexListItems></Expand></Type><Type Name="QVarLengthArray&lt;*&gt;"><AlternativeType Name="QVarLengthArray&lt;*, int&gt;"/><DisplayString>{{ size = {s} }}</DisplayString><Expand><Item Name="[capacity]">a</Item><ArrayItems><Size>s</Size><ValuePointer>ptr</ValuePointer></ArrayItems></Expand></Type><Type Name="QDate"><DisplayString>{{ julian day = {jd} }}</DisplayString><Expand></Expand></Type><Type Name="QTime"><DisplayStringCondition="mds == 1">{{ millisecond = {mds} }}</DisplayString><DisplayStringCondition="mds != 1">{{ milliseconds = {mds} }}</DisplayString><Expand><Item Name="[hour]"Condition="(mds / 3600000) == 1">mds / 3600000, d</Item><Item Name="[hours]"Condition="(mds / 3600000) != 1">mds / 3600000, d</Item><Item Name="[minute]"Condition="((mds % 3600000) / 60000) == 1">(mds % 3600000) / 60000, d</Item><Item Name="[minutes]"Condition="((mds % 3600000) / 60000) != 1">(mds % 3600000) / 60000, d</Item><Item Name="[second]"Condition="((mds / 1000) % 60) == 1">(mds / 1000) % 60, d</Item><Item Name="[seconds]"Condition="((mds / 1000) % 60) != 1">(mds / 1000) % 60, d</Item><Item Name="[millisecond]"Condition="(mds % 1000) == 1">mds % 1000, d</Item><Item Name="[milliseconds]"Condition="(mds % 1000) != 1">mds % 1000, d</Item></Expand></Type><Type Name="QRegularExpression"><DisplayString>{d.pattern}</DisplayString></Type><Type Name="QSharedData"><Expand><Item Name="[referenced]">ref._q_value</Item></Expand></Type><Type Name="QSharedPointer&lt;*&gt;"><DisplayString>strong reference to shared pointer of type {"$T1"}</DisplayString><Expand><Item Name="[is null]">value == 0</Item><Item Name="[weak referenced]">d-&gt;weakref._q_value</Item><Item Name="[strong referenced]">d-&gt;strongref._q_value</Item></Expand></Type><Type Name="QSharedDataPointer&lt;*&gt;"><DisplayString>pointer to implicit shared object of type {"$T1"}</DisplayString><Expand><ExpandedItem>d</ExpandedItem></Expand></Type><Type Name="QExplicitlySharedDataPointer&lt;*&gt;"><DisplayString>pointer to explicit shared object of type {"$T1"}</DisplayString><Expand><ExpandedItem>d</ExpandedItem></Expand></Type><Type Name="QPointer&lt;*&gt;"><DisplayString>guarded pointer to subclass of QObject of type {"$T1"}</DisplayString><Expand><Item Name="[is null]">wp.d == 0 || wp.d-&gt;strongref._q_value == 0 || wp.value == 0</Item></Expand></Type><Type Name="QWeakPointer&lt;*&gt;"><DisplayString>weak reference to shared pointer of type {"$T1"}</DisplayString><Expand><Item Name="[is null]">d == 0 || d-&gt;strongref._q_value == 0 || value == 0</Item><Item Name="[weak referenced]">d-&gt;weakref._q_value</Item><Item Name="[strong referenced]">d-&gt;strongref._q_value</Item></Expand></Type><Type Name="QScopedPointer&lt;*&gt;"><DisplayString>scoped pointer to a dynamically allocated object of type {"$T1"}</DisplayString><Expand><Item Name="[is null]">!d</Item></Expand></Type><Type Name="QScopedArrayPointer&lt;*&gt;"><DisplayString>scoped pointer to dynamically allocated array of objects of type {"$T1"}</DisplayString><Expand><Item Name="[is null]">!d</Item></Expand></Type><Type Name="QPair&lt;*,*&gt;"><DisplayString>({first}, {second})</DisplayString><Expand><Item Name="[first]">first</Item><Item Name="[second]">second</Item></Expand></Type><Type Name="QVector&lt;*&gt;"><AlternativeType Name="QStack&lt;*&gt;"></AlternativeType><DisplayString>{{ size = {d-&gt;size} }}</DisplayString><Expand><Item Name="[referenced]">d-&gt;ref.atomic._q_value</Item><ArrayItems><Size>d-&gt;size</Size><ValuePointer>($T1*)((reinterpret_cast&lt;char*&gt;(d)) + d-&gt;offset)</ValuePointer></ArrayItems></Expand></Type><Type Name="QList&lt;*&gt;"><AlternativeType Name="QStringList"></AlternativeType><AlternativeType Name="QQueue&lt;*&gt;"></AlternativeType><DisplayString>{{ size = {d-&gt;end - d-&gt;begin} }}</DisplayString><Expand><Item Name="[referenced]">d-&gt;ref.atomic._q_value</Item><IndexListItems><Size>d-&gt;end - d-&gt;begin</Size><ValueNode>*reinterpret_cast&lt;$T1*&gt;((sizeof($T1) &gt; sizeof(void*))? reinterpret_cast&lt;Node*&gt;(d->array + d->begin + $i)->v: reinterpret_cast&lt;$T1*&gt;(d->array + d->begin + $i))</ValueNode></IndexListItems></Expand></Type><Type Name="QLinkedList&lt;*&gt;"><DisplayString>{{ size = {d-&gt;size} }}</DisplayString><Expand><Item Name="[referenced]">d-&gt;ref.atomic._q_value</Item><LinkedListItems><Size>d-&gt;size</Size><HeadPointer>d-&gt;n</HeadPointer><NextPointer>n</NextPointer><ValueNode>(*(QLinkedListNode&lt;$T1&gt;*)this).t</ValueNode></LinkedListItems></Expand></Type><Type Name="QMapNode&lt;*,*&gt;"><DisplayString>({key}, {value})</DisplayString><Expand><Item Name="[key]">key</Item><Item Name="[value]">value</Item></Expand></Type><Type Name="QMap&lt;*,*&gt;"><AlternativeType Name="QMultiMap&lt;*,*&gt;"/><DisplayString>{{ size = {d-&gt;size} }}</DisplayString><Expand><Item Name="[referenced]">d-&gt;ref.atomic._q_value</Item><TreeItems><Size>d-&gt;size</Size><HeadPointer>d-&gt;header.left</HeadPointer><LeftPointer>left</LeftPointer><RightPointer>right</RightPointer><ValueNode>*((QMapNode&lt;$T1,$T2&gt;*)this)</ValueNode></TreeItems></Expand></Type><Type Name="QHashNode&lt;*,*&gt;"><DisplayString Condition="next == 0">(empty)</DisplayString><DisplayString Condition="next != 0">({key}, {value})</DisplayString><Expand><Item Name="[key]" Condition="next != 0">key</Item><Item Name="[value]" Condition="next != 0">value</Item></Expand></Type><Type Name="QHash&lt;*,*&gt;"><AlternativeType Name="QMultiHash&lt;*,*&gt;"/><DisplayString>{{ size = {d-&gt;size} }}</DisplayString><Expand><Item Name="[referenced]">d-&gt;ref.atomic._q_value</Item><IndexListItems><Size>d-&gt;numBuckets</Size><ValueNode>*((QHashNode&lt;$T1,$T2&gt;*)d-&gt;buckets[$i])</ValueNode></IndexListItems></Expand></Type><Type Name="QHashNode&lt;*,QHashDummyValue&gt;"><DisplayString Condition="next == 0">(empty)</DisplayString><DisplayString Condition="next != 0">({key})</DisplayString><Expand><Item Name="[key]" Condition="next != 0">key</Item></Expand></Type><Type Name="QSet&lt;*&gt;"><DisplayString>{{ size = {q_hash.d-&gt;size} }}</DisplayString><Expand><ExpandedItem>q_hash</ExpandedItem></Expand></Type><Type Name="QCache&lt;*,*&gt;::Node"><DisplayString>({*keyPtr}, {*t})</DisplayString><Expand><Item Name="[key]">*keyPtr</Item><Item Name="[value]">*t</Item></Expand></Type><Type Name="QCache&lt;*,*&gt;"><DisplayString>{{ size = {hash.d-&gt;size} }}</DisplayString><Expand><Item Name="[max coast]">mx</Item><Item Name="[total coast]">total</Item><Item Name="[referenced]">hash.d-&gt;ref.atomic._q_value</Item><LinkedListItems><Size>hash.d-&gt;size</Size><HeadPointer>f</HeadPointer><NextPointer>n</NextPointer><ValueNode>*((Node*)this)</ValueNode></LinkedListItems></Expand></Type><Type Name="QVariant"><!--Region DisplayString QVariant--><DisplayString Condition="d.type == QMetaType::UnknownType">Invalid</DisplayString><DisplayString Condition="d.type == QMetaType::Bool">{d.data.b}</DisplayString><DisplayString Condition="d.type == QMetaType::Int">{d.data.i}</DisplayString><DisplayString Condition="d.type == QMetaType::UInt">{d.data.u}</DisplayString><DisplayString Condition="d.type == QMetaType::LongLong">{d.data.ll}</DisplayString><DisplayString Condition="d.type == QMetaType::ULongLong">{d.data.ull}</DisplayString><DisplayString Condition="d.type == QMetaType::Double">{d.data.d}</DisplayString><DisplayString Condition="d.type == QMetaType::QChar">{d.data.c}</DisplayString><DisplayString Condition="d.type == QMetaType::QVariantMap">{*((QMap&lt;QString,QVariant&gt;*)(d.is_shared ? d.data.shared-&gt;ptr: reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))}</DisplayString><DisplayString Condition="d.type == QMetaType::QVariantList">{*((QList&lt;QVariant&gt;*)(d.is_shared ? d.data.shared-&gt;ptr: reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))}</DisplayString><DisplayString Condition="d.type == QMetaType::QString">{*((QString*)(d.is_shared ? d.data.shared-&gt;ptr: reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))}</DisplayString><DisplayString Condition="d.type == QMetaType::QStringList">{*((QStringList*)(d.is_shared ? d.data.shared-&gt;ptr: reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))}</DisplayString><DisplayString Condition="d.type == QMetaType::QByteArray">{*((QByteArray*)(d.is_shared ? d.data.shared-&gt;ptr: reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))}</DisplayString><DisplayString Condition="d.type == QMetaType::QBitArray">{*((QBitArray*)(d.is_shared ? d.data.shared-&gt;ptr: reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))}</DisplayString><DisplayString Condition="d.type == QMetaType::QDate">{*((QDate*)(d.is_shared ? d.data.shared-&gt;ptr: reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))}</DisplayString><DisplayString Condition="d.type == QMetaType::QTime">{*((QTime*)(d.is_shared ? d.data.shared-&gt;ptr: reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))}</DisplayString><DisplayString Condition="d.type == QMetaType::QDateTime">DateTime</DisplayString><DisplayString Condition="d.type == QMetaType::QUrl">Url</DisplayString><DisplayString Condition="d.type == QMetaType::QLocale">Locale</DisplayString><DisplayString Condition="d.type == QMetaType::QRect">{*((QRect*)(d.is_shared ? d.data.shared-&gt;ptr: reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))}</DisplayString><DisplayString Condition="d.type == QMetaType::QRectF">{*((QRectF*)(d.is_shared ? d.data.shared-&gt;ptr: reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))}</DisplayString><DisplayString Condition="d.type == QMetaType::QSize">{*((QSize*)(d.is_shared ? d.data.shared-&gt;ptr: reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))}</DisplayString><DisplayString Condition="d.type == QMetaType::QSizeF">{*((QSizeF*)(d.is_shared ? d.data.shared-&gt;ptr: reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))}</DisplayString><DisplayString Condition="d.type == QMetaType::QLine">{*((QLine*)(d.is_shared ? d.data.shared-&gt;ptr: reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))}</DisplayString><DisplayString Condition="d.type == QMetaType::QLineF">{*((QLineF*)(d.is_shared ? d.data.shared-&gt;ptr: reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))}</DisplayString><DisplayString Condition="d.type == QMetaType::QPoint">{*((QPoint*)(d.is_shared ? d.data.shared-&gt;ptr: reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))}</DisplayString><DisplayString Condition="d.type == QMetaType::QPointF">{*((QPointF*)(d.is_shared ? d.data.shared-&gt;ptr: reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))}</DisplayString><DisplayString Condition="d.type == QMetaType::QRegExp">RegExp</DisplayString><DisplayString Condition="d.type == QMetaType::QRegularExpression">RegularExpression</DisplayString><DisplayString Condition="d.type == QMetaType::QVariantHash">{*((QHash&lt;QString,QVariant&gt;*)(d.is_shared ? d.data.shared-&gt;ptr: reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))}</DisplayString><DisplayString Condition="d.type == QMetaType::QEasingCurve">EasingCurve</DisplayString><DisplayString Condition="d.type == QMetaType::QUuid">Uuid</DisplayString><DisplayString Condition="d.type == QMetaType::QModelIndex">ModelIndex</DisplayString><DisplayString Condition="d.type == QMetaType::LastCoreType">LastCoreType</DisplayString><DisplayString Condition="d.type == QMetaType::QFont">Font</DisplayString><DisplayString Condition="d.type == QMetaType::QPixmap">Pixmap</DisplayString><DisplayString Condition="d.type == QMetaType::QBrush">Brush</DisplayString><DisplayString Condition="d.type == QMetaType::QColor">Color</DisplayString><DisplayString Condition="d.type == QMetaType::QPalette">Palette</DisplayString><DisplayString Condition="d.type == QMetaType::QImage">Image</DisplayString><DisplayString Condition="d.type == QMetaType::QPolygon">Polygon</DisplayString><DisplayString Condition="d.type == QMetaType::QRegion">Region</DisplayString><DisplayString Condition="d.type == QMetaType::QBitmap">Bitmap</DisplayString><DisplayString Condition="d.type == QMetaType::QCursor">Cursor</DisplayString><DisplayString Condition="d.type == QMetaType::QKeySequence">KeySequence</DisplayString><DisplayString Condition="d.type == QMetaType::QPen">Pen</DisplayString><DisplayString Condition="d.type == QMetaType::QTextLength">TextLength</DisplayString><DisplayString Condition="d.type == QMetaType::QTextFormat">TextFormat</DisplayString><DisplayString Condition="d.type == QMetaType::QMatrix">Matrix</DisplayString><DisplayString Condition="d.type == QMetaType::QTransform">Transform</DisplayString><DisplayString Condition="d.type == QMetaType::QMatrix4x4">Matrix4x4</DisplayString><DisplayString Condition="d.type == QMetaType::QVector2D">Vector2D</DisplayString><DisplayString Condition="d.type == QMetaType::QVector3D">Vector3D</DisplayString><DisplayString Condition="d.type == QMetaType::QVector4D">Vector4D</DisplayString><DisplayString Condition="d.type == QMetaType::QQuaternion">Quaternion</DisplayString><DisplayString Condition="d.type == QMetaType::QPolygonF">PolygonF</DisplayString><DisplayString Condition="d.type == QMetaType::QIcon">Icon</DisplayString><DisplayString Condition="d.type == QMetaType::LastGuiType">LastGuiType</DisplayString><DisplayString Condition="d.type == QMetaType::QSizePolicy">SizePolicy</DisplayString><DisplayString Condition="d.type == QMetaType::User">UserType</DisplayString><DisplayString Condition="d.type == 0xffffffff">LastType</DisplayString><!--End region DisplayString QVariant--><!--Region DisplayView QVariant--><StringView Condition="d.type == QMetaType::QChar">d.data.c</StringView><StringView Condition="d.type == QMetaType::QString">*((QString*)(d.is_shared ? d.data.shared-&gt;ptr: reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))</StringView><StringView Condition="d.type == QMetaType::QByteArray">*((QByteArray*)(d.is_shared ? d.data.shared-&gt;ptr: reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))</StringView><!--End region DisplayView QVariant--><!--Region Expand QVariant--><Expand><ExpandedItem Condition="d.type == QMetaType::QVariantMap">*((QMap&lt;QString,QVariant&gt;*)(d.is_shared ? d.data.shared-&gt;ptr: reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))</ExpandedItem><ExpandedItem Condition="d.type == QMetaType::QVariantList">*((QList&lt;QVariant&gt;*)(d.is_shared ? d.data.shared-&gt;ptr: reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))</ExpandedItem><ExpandedItem Condition="d.type == QMetaType::QString">*((QString*)(d.is_shared ? d.data.shared-&gt;ptr: reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))</ExpandedItem><ExpandedItem Condition="d.type == QMetaType::QStringList">*((QStringList*)(d.is_shared ? d.data.shared-&gt;ptr: reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))</ExpandedItem><ExpandedItem Condition="d.type == QMetaType::QByteArray">*((QByteArray*)(d.is_shared ? d.data.shared-&gt;ptr: reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))</ExpandedItem><ExpandedItem Condition="d.type == QMetaType::QBitArray">*((QBitArray*)(d.is_shared ? d.data.shared-&gt;ptr: reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))</ExpandedItem><ExpandedItem Condition="d.type == QMetaType::QDate">*((QDate*)(d.is_shared ? d.data.shared-&gt;ptr: reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))</ExpandedItem><ExpandedItem Condition="d.type == QMetaType::QTime">*((QTime*)(d.is_shared ? d.data.shared-&gt;ptr: reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))</ExpandedItem><ExpandedItem Condition="d.type == QMetaType::QRect">*((QRect*)(d.is_shared ? d.data.shared-&gt;ptr: reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))</ExpandedItem><ExpandedItem Condition="d.type == QMetaType::QRectF">*((QRectF*)(d.is_shared ? d.data.shared-&gt;ptr: reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))</ExpandedItem><ExpandedItem Condition="d.type == QMetaType::QSize">*((QSize*)(d.is_shared ? d.data.shared-&gt;ptr: reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))</ExpandedItem><ExpandedItem Condition="d.type == QMetaType::QSizeF">*((QSizeF*)(d.is_shared ? d.data.shared-&gt;ptr: reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))</ExpandedItem><ExpandedItem Condition="d.type == QMetaType::QLine">*((QLine*)(d.is_shared ? d.data.shared-&gt;ptr: reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))</ExpandedItem><ExpandedItem Condition="d.type == QMetaType::QLineF">*((QLineF*)(d.is_shared ? d.data.shared-&gt;ptr: reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))</ExpandedItem><ExpandedItem Condition="d.type == QMetaType::QPoint">*((QPoint*)(d.is_shared ? d.data.shared-&gt;ptr: reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))</ExpandedItem><ExpandedItem Condition="d.type == QMetaType::QPointF">*((QPointF*)(d.is_shared ? d.data.shared-&gt;ptr: reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))</ExpandedItem><ExpandedItem Condition="d.type == QMetaType::QVariantHash">*((QHash&lt;QString,QVariant&gt;*)(d.is_shared ? d.data.shared-&gt;ptr: reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))</ExpandedItem></Expand><!--End region Expand QVariant--></Type></AutoVisualizer>

重启VS即可。

(1条消息) qt5.natvis文件-C++文档类资源-CSDN文库

VS2019 + QT5.12调试时无法显示Qt相关变量如QString具体值相关推荐

  1. 解决QT5 VS2010调试时不能显示字符串的内容

    我安装了qt485和qt521,公司处于qt4到qt5的过渡阶段,所以两个环境都需要.两个qt add-in可以交替使用,使用vs的工具->外界程序管理器就可以了.不过很遗憾的发现调试qt5的项 ...

  2. VS2019++QT5.12.10+PCL1.11.1+VTK8.2.0+opencv(camke3.18.0)环境搭配及演示实例

    一.参考链接: 1.VS2019+QT5.12.10+PCL1.11.1+VTK8.2.0(cmake3.20.4)环境搭配_寒木休思的博客-CSDN博客 2.VS2019+PCL1.11.1+VTK ...

  3. Wondow10 编译 Wireshark 源码(Windows10 + Vs2019 +Qt5.12)

    1.编译环境 Windows10 + Vs2019 Qt5.12 Python3 2.官方教程 wireshark提供windows平台的编译方法,点此查看 3.遇到的问题 3.1 cmake错误 理 ...

  4. vs2015调试时不显示vector内容的解决方法

    vs2015调试时不显示vector内容的解决方法 参考文章: (1)vs2015调试时不显示vector内容的解决方法 (2)https://www.cnblogs.com/Joetao/artic ...

  5. 关于Qt5.10调试时出现“qtcreatorcdbext.dll cannot be found.”的解决方案

    关于Qt5.10调试时出现"qtcreatorcdbext.dllcannot be found."的解决方案

  6. vs2015调试时无法显示QString变量的值,只显示地址

    ** 问题描: ** 在vs2015中,使用了QString变量,但是调试时鼠标放上去只能看到地址,而不是像int变量一样看到具体的值.导致想要看到变量的值只能qDebug(),就很麻烦. ** 解决 ...

  7. LibreCAD v2.2.0源码编译,使用VS2019+Qt5.12.9+Boost1.71.0环境

    零.前言 LibreCAD is a fork of QCAD community edition version 2.0.5.0;therefore, any modifications of or ...

  8. AndroidStudio中调试时一直显示waiting for debugger

    场景 在Android Studio中连接到手机上进行调试时一直提示: Wating For Debugger 博客: https://blog.csdn.net/badao_liumang_qizh ...

  9. iphone ios debug 调试时如何查看、监视变量

    对于IPhone开发/XCode的初学者,如何在调试时查看变量的值是很头痛的事情.因为Xcode的expression 经常无法正确显示变量的值.但是强大的GDB可以很方便的帮我们查看变量的值. 当执 ...

  10. QT工程转成VS2019+QT5.12的工程方法。(.pro to .sln)

    1.打开Visual stdio 2019 2.扩展 --QT VS TOOLS--Open QT Project file(.pro); 3.随便打开一个QT的工程(这是一个开源的项目.) 4.可以 ...

最新文章

  1. C++:vector中使用.clear()函数
  2. 京东某员工因加班太多引女友不满,下定决心离职:不想被迫加班!
  3. main.xml Design显示不是设计界面,而是view属性的解决办法
  4. python怎么学最快-怎么快速自学python
  5. Linux安装cx_Oracles
  6. C++ STL容器vector篇(一) vector容器存放内置和自定义数据类型并遍历
  7. 阿里布局无人驾驶;滴滴成立汽车服务;“京东 AI 天团”首亮相| CSDN极客头条...
  8. Omnet 4.2.2 errorList
  9. 2022年认证杯SPSSPRO杯数学建模D题(第一阶段)食品风味与风味物质求解全过程文档及程序
  10. 坚果pro3刷miui_锤子科技坚果Pro 3(12GB/256GB/全网通)手机卡怎么办?
  11. 靶向目标基因检测技术
  12. 多商户商城系统功能拆解14讲-平台端会员等级
  13. maven项目报error in opening zip file.
  14. 魔方机器人-复原步骤(一)
  15. 移动应用中的第三方SDK隐私合规检测
  16. 联想笔记本进入pe_lenovo怎么进入pe系统?
  17. Python-Regression
  18. 移动互联应用学习心得
  19. Gatling学习笔记(四)---脚本编写及功能介绍
  20. 微信小程序分类界面显示(医院科室为示例)

热门文章

  1. JAVA怎么打开pkg_PKG文件在电脑上怎么打开!(普通PC)
  2. 【烈日炎炎战后端】Redis(6.1万字)
  3. 正弦波和方波驱动的优缺点
  4. ajax直接发PUT,DELETE请求报错500
  5. Rust_lings
  6. MP2315高频同步整流降压x芯片电路原理图
  7. [渝粤教育] 岭南师范学院 文学创意写作 参考 资料
  8. 使用redis缓存来实现最近的浏览记录
  9. Memory Limited Persistent Message Queue
  10. 【机器学习】数据增强(Data Augmentation)