VS调试Qt程序,会发现无法查看QString等Qt内置类型的值,可以修改autoexp.dat文件,使Qt内置类型的值也可以查看。
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Packages\Debugger\autoexp.dat,在VS2005,qt3下亲测可以。
搜索 [AutoExpand],添加
;QT_DEBUG_START (Qt5 Visual Studio Add-in v2.4.3)
QString=<d->unicode,su> len=<d->len,u>
QCString =<shd->data, s>
QWMatrix =m11=<_m11> m12=<_m12> m21=<_m21> m22=<_m22> dx=<_dx> dy=<_dy>
QVariant =Type=<d->typ> value=<d->value>
QValueList<*> =Count=<sh->nodes>
QPtrList<*> =Count=<numNodes>
QGuardedPtr<*> =ptr=<priv->obj>
QEvent =type=<t>
QObject =class=<metaObj->classname,s> name=<objname,s>
QByteArray=<d->data,s> size=<d->size,u>
QPoint =x=<xp> y=<yp>
QPointF =x=<xp> y=<yp>
QRect =x1=<x1> y1=<y1> x2=<x2> y2=<y2>
QRectF =x=<xp> y=<yp> w=<w> h=<h>
QSize =width=<wd> height=<ht>
QSizeF =width=<wd> height=<ht>
QHash<*> =size=<d->size>
QVarLengthArray<*> =size=<s> data=<ptr>
;QT_DEBUG_END
搜索[Visualizer],添加
;QT_DEBUG_START (Qt5 Visual Studio Add-in v2.4.3)
; The Qt Company Ltd. Qt 5.x visualizers -----------------------------------------[ start ]--
;------------------------------------------------------------------------------
; Feel free to modify these visualizers to suit yours needs! But please let us
; know about the changes you make, so we continuously improve the visualizers.
; Qt4
;QString{
; preview ([$e.d->data,su])
; stringview ([$e.d->data,sub])
; children
; (
; #(
; d: $c.d,
; [size]: $c.d->size,
; [referenced]: $c.d->ref._q_value
; )
; )
;}
; Qt4
;QByteArray{
; preview ([$e.d->data,s])
; stringview ([$e.d->data,sb])
; children
; (
; #(
; d: $c.d,
; [size]: $c.d->size,
; [referenced]: $c.d->ref._q_value
; )
; )
;}
; Qt5
QString|*::QString{
preview ([(unsigned short*)$e.d + $e.d->offset/2,su])
stringview ([(unsigned short*)$e.d + $e.d->offset/2,sub])
children
(
#(
d: $c.d,
[size]: $c.d->size,
[referenced]: $c.d->ref.atomic._q_value
)
)
}
; Qt5
QByteArray|*::QByteArray{
preview ([(char*)$e.d + $e.d->offset,s])
stringview ([(char*)$e.d + $e.d->offset,sb])
children
(
#(
d: $c.d,
[size]: $c.d->size,
[referenced]: $c.d->ref._q_value
)
)
}
QFileInfo|*::QFileInfo{
preview
(
#(
"private=", $c.d_ptr
)
)
}
QUrl|*::QUrl{
preview
(
#if ($e.d.stateFlags == 0) (
$e.d
) #else (
#( $e.d->scheme, $e.d->host, $e.d->path )
)
)
children
(
#(
scheme: $c.d->scheme,
host: $c.d->host,
path: $c.d->path,
username: $c.d->userName,
password: $c.d->password,
encodedOriginal: $c.d->encodedOriginal,
query: $c.d->query,
fragment: $c.d->fragment
)
)
}
QTime|*::QTime{
preview
(
#(
"hour=", [$e.mds / 3600000, d],
", minute=", [($e.mds % 3600000) / 60000, d],
", second=", [($e.mds / 1000) % 60, d],
", millisecond=", [$e.mds % 1000, d]
)
)
children
(
#(
[hour]: [$e.mds / 3600000, d],
[minute]: [($e.mds % 3600000) / 60000, d],
[second]: [($e.mds / 1000) % 60, d],
[millisecond]: [$e.mds % 1000, d]
)
)
}
QVariant{
preview
(
#if ($e.d.type == 1) (
#("bool = ", [$e.d.data.b])
) #elif ($e.d.type == 2) (
#("int = ", [$e.d.data.i])
) #elif ($e.d.type == 3) (
#("usigned int = ", [$e.d.data.u])
) #elif ($e.d.type == 4) (
#("long long = ", [$e.d.data.ll])
) #elif ($e.d.type == 5) (
#("unsigned long long = ", [$e.d.data.ull])
) #elif ($e.d.type == 6) (
#("double = ", [$e.d.data.d])
) #elif ($e.d.type == 7) (
#("char = ", [$e.d.data.c])
) #elif ($e.d.type == 8) (
#("QMap = ", [(QMap) $e.d.data.ptr])
) #elif ($e.d.type == 10) (
#("QString = ", [(QString) $e.d.data.ptr])
) #elif ($e.d.type == 11) (
#("QStringList = ", [(QStringList) $e.d.data.ptr])
) #elif ($e.d.type == 17) (
#("QUrl = ", [(QUrl) $e.d.data.ptr])
) #else (
#("type = ", [$e.d.type])
)
)
children
(
#if ($e.d.type == 1) (
$c.d.data.b
) #elif ($e.d.type == 2) (
$c.d.data.i
) #elif ($e.d.type == 3) (
$c.d.data.u
) #elif ($e.d.type == 4) (
$c.d.data.ll
) #elif ($e.d.type == 5) (
$c.d.data.ull
) #elif ($e.d.type == 6) (
$c.d.data.d
) #elif ($e.d.type == 7) (
$c.d.data.c
) #elif ($e.d.type == 8) (
) #elif ($e.d.type == 10) (
#(
[size]: ((QString) $c.d.data.ptr).d->size
)
) #elif ($e.d.type == 11) (
#if ((((QStringList) $e.d.data.ptr).d->end - ((QStringList) $e.d.data.ptr).d->begin) <= 10) (
#array
(
expr: (QString)((((QStringList) $e.d.data.ptr).d->array + ((QStringList) $e.d.data.ptr).d->begin)[$i]),
size: ((QStringList) $e.d.data.ptr).d->end-((QStringList) $e.d.data.ptr).d->begin
)
) #else (
#array
(
expr: (QString)((((QStringList) $e.d.data.ptr).d->array + ((QStringList) $e.d.data.ptr).d->begin)[$i]),
size: 10
)
)
) #elif ($e.d.type == 17) (
#(
scheme: ((QUrl) $e.d.data.ptr).d->scheme,
host: ((QUrl) $e.d.data.ptr).d->host,
path: ((QUrl) $e.d.data.ptr).d->path,
username: ((QUrl) $e.d.data.ptr).d->userName,
password: ((QUrl) $e.d.data.ptr).d->password,
encodedOriginal: ((QUrl) $e.d.data.ptr).d->encodedOriginal,
query: ((QUrl) $e.d.data.ptr).d->query,
fragment: ((QUrl) $e.d.data.ptr).d->fragment
)
) #else (
#("type = ", [$e.d.type])
)
)
}
*::QVariant{
preview
(
#if ($e.d.type == 1) (
#("bool = ", [$e.d.data.b])
) #elif ($e.d.type == 2) (
#("int = ", [$e.d.data.i])
) #elif ($e.d.type == 3) (
#("usigned int = ", [$e.d.data.u])
) #elif ($e.d.type == 4) (
#("long long = ", [$e.d.data.ll])
) #elif ($e.d.type == 5) (
#("unsigned long long = ", [$e.d.data.ull])
) #elif ($e.d.type == 6) (
#("double = ", [$e.d.data.d])
) #elif ($e.d.type == 7) (
#("char = ", [$e.d.data.c])
) #elif ($e.d.type == 8) (
#("QMap = ", [($T1::QMap) $e.d.data.ptr])
) #elif ($e.d.type == 10) (
#("QString = ", [($T1::QString) $e.d.data.ptr])
) #elif ($e.d.type == 11) (
#("QStringList = ", [($T1::QStringList) $e.d.data.ptr])
) #elif ($e.d.type == 17) (
#("QUrl = ", [($T1::QUrl) $e.d.data.ptr])
) #else (
#("type = ", [$e.d.type])
)
)
children
(
#if ($e.d.type == 1) (
$c.d.data.b
) #elif ($e.d.type == 2) (
$c.d.data.i
) #elif ($e.d.type == 3) (
$c.d.data.u
) #elif ($e.d.type == 4) (
$c.d.data.ll
) #elif ($e.d.type == 5) (
$c.d.data.ull
) #elif ($e.d.type == 6) (
$c.d.data.d
) #elif ($e.d.type == 7) (
$c.d.data.c
) #elif ($e.d.type == 8) (
) #elif ($e.d.type == 10) (
#(
[size]: (($T1::QString) $c.d.data.ptr).d->size
)
) #elif ($e.d.type == 11) (
#if (((($T1::QStringList) $e.d.data.ptr).d->end - (($T1::QStringList) $e.d.data.ptr).d->begin) <= 10) (
#array
(
expr: ($T1::QString)(((($T1::QStringList) $e.d.data.ptr).d->array + (($T1::QStringList) $e.d.data.ptr).d->begin)[$i]),
size: (($T1::QStringList) $e.d.data.ptr).d->end-(($T1::QStringList) $e.d.data.ptr).d->begin
)
) #else (
#array
(
expr: ($T1::QString)(((($T1::QStringList) $e.d.data.ptr).d->array + (($T1::QStringList) $e.d.data.ptr).d->begin)[$i]),
size: 10
)
)
) #elif ($e.d.type == 17) (
#(
scheme: (($T1::QUrl) $e.d.data.ptr).d->scheme,
host: (($T1::QUrl) $e.d.data.ptr).d->host,
path: (($T1::QUrl) $e.d.data.ptr).d->path,
username: (($T1::QUrl) $e.d.data.ptr).d->userName,
password: (($T1::QUrl) $e.d.data.ptr).d->password,
encodedOriginal: (($T1::QUrl) $e.d.data.ptr).d->encodedOriginal,
query: (($T1::QUrl) $e.d.data.ptr).d->query,
fragment: (($T1::QUrl) $e.d.data.ptr).d->fragment
)
) #else (
#("type = ", [$e.d.type])
)
)
}
;------------------------------------------------------------------------------
; QStringList
;------------------------------------------------------------------------------
QStringList{
preview
(
#if (($c.d->end - $c.d->begin) <= 10) (
#(
"[", $c.d->end - $c.d->begin, "](",
#array
(
expr: (QString)(($c.d->array + $c.d->begin)[$i]),
size: $c.d->end-$c.d->begin
), ")"
)
) #else (
#(
"[", $c.d->end - $c.d->begin, "](",
#array
(
expr: (QString)(($c.d->array + $c.d->begin)[$i]),
size: 10
), ", ...)"
)
)
)
}
*::QStringList{
preview
(
#if (($c.d->end - $c.d->begin) <= 10) (
#(
"[", $c.d->end - $c.d->begin, "](",
#array
(
expr: ($T1::QString)(($c.d->array + $c.d->begin)[$i]),
size: $c.d->end-$c.d->begin
), ")"
)
) #else (
#(
"[", $c.d->end - $c.d->begin, "](",
#array
(
expr: ($T1::QString)(($c.d->array + $c.d->begin)[$i]),
size: 10
), ", ...)"
)
)
)
}
;------------------------------------------------------------------------------
; QList, QQueue
;------------------------------------------------------------------------------
QList<*>|QQueue<*>{
preview
(
#if (int(sizeof($T1)) <= int(sizeof(void*))) (
#if (($c.d->end - $c.d->begin) <= 10) (
#(
"[", $c.d->end - $c.d->begin, "](",
#array
(
expr: ($T1)(($c.d->array + $c.d->begin)[$i]),
size: $c.d->end-$c.d->begin
), ")"
)
) #else (
#(
"[", $c.d->end - $c.d->begin, "](",
#array
(
expr: ($T1)(($c.d->array + $c.d->begin)[$i]),
size: 10
), ", ...)"
)
)
) #else (
#if (($c.d->end - $c.d->begin) <= 10) (
#(
"[", $c.d->end - $c.d->begin, "](",
#array
(
expr: *($T1*)(($c.d->array + $c.d->begin)[$i]),
size: $c.d->end-$c.d->begin
), ")"
)
) #else (
#(
"[", $c.d->end - $c.d->begin, "](",
#array
(
expr: *($T1*)(($c.d->array + $c.d->begin)[$i]),
size: 10
), ", ...)"
)
)
)
)
children
(
#if (int(sizeof($T1)) <= int(sizeof(void*))) (
#array (
expr: ($T1)(($c.d->array + $c.d->begin)[$i]),
size: $c.d->end - $c.d->begin
)
) #else (
#array (
expr: *($T1*)(($c.d->array + $c.d->begin)[$i]),
size: $c.d->end - $c.d->begin
)
)
)
}
*::QList<*>|*::QQueue<*>{
preview
(
#if (int(sizeof($T2)) <= int(sizeof(void*))) (
#if (($c.d->end - $c.d->begin) <= 10) (
#(
"[", $c.d->end - $c.d->begin, "](",
#array
(
expr: ($T2)(($c.d->array + $c.d->begin)[$i]),
size: $c.d->end-$c.d->begin
), ")"
)
) #else (
#(
"[", $c.d->end - $c.d->begin, "](",
#array
(
expr: ($T2)(($c.d->array + $c.d->begin)[$i]),
size: 10
), ", ...)"
)
)
) #else (
#if (($c.d->end - $c.d->begin) <= 10) (
#(
"[", $c.d->end - $c.d->begin, "](",
#array
(
expr: *($T2*)(($c.d->array + $c.d->begin)[$i]),
size: $c.d->end-$c.d->begin
), ")"
)
) #else (
#(
"[", $c.d->end - $c.d->begin, "](",
#array
(
expr: *($T2*)(($c.d->array + $c.d->begin)[$i]),
size: 10
), ", ...)"
)
)
)
)
children
(
#if (int(sizeof($T2)) <= int(sizeof(void*))) (
#array (
expr: ($T2)(($c.d->array + $c.d->begin)[$i]),
size: $c.d->end - $c.d->begin
)
) #else (
#array (
expr: *($T2*)(($c.d->array + $c.d->begin)[$i]),
size: $c.d->end - $c.d->begin
)
)
)
}
;------------------------------------------------------------------------------
; QList::iterator, QQueue::iterator
;------------------------------------------------------------------------------
QList<*>::iterator|QList<*>::const_iterator|QQueue<*>::iterator|QQueue<*>::const_iterator{
preview
(
#(
($T1*)$c.ptr
)
)
children
(
#(
ptr: ($T1)$c.ptr
)
)
}
*::QList<*>::iterator|*::QList<*>::const_iterator|*::QQueue<*>::iterator|*::QQueue<*>::const_iterator{
preview
(
#(
($T2)$c.i->v
)
)
children
(
#(
ptr: ($T2)$c.i->v
)
)
}
;------------------------------------------------------------------------------
; QListIterator
;------------------------------------------------------------------------------
QListIterator<*>|QMutableListIterator<*>{
preview
(
#(
*($T1*)($c.i.i->v)
)
)
children
(
#(
Value: *($T1*)($c.i.i->v)
)
)
}
*::QListIterator<*>|*::QMutableListIterator<*>{
preview
(
#(
*($T2*)($c.i.i->v)
)
)
children
(
#(
Value: *($T2*)($c.i.i->v)
)
)
}
;------------------------------------------------------------------------------
; QLinkedList
;------------------------------------------------------------------------------
QLinkedList<*>{
preview
(
#if ($e.d->size >= 10) (
#(
"[", $e.d->size, "](",
#list
(
head: $c.d->n,
size: 10,
next: n
) : ( (*(QLinkedListNode<$T1>*)&$e).t ), ", ...)"
)
) #else (
#(
"[", $e.d->size, "](",
#list
(
head: $c.d->n,
size: $c.d->size,
next: n
) : ( (*(QLinkedListNode<$T1>*)&$e).t ), ")"
)
)
)
children
(
#(
#list
(
head: $c.d->n,
size: $c.d->size,
next: n
) : (*(QLinkedListNode<$T1>*)&$e).t
)
)
}
*::QLinkedList<*>{
preview
(
#if ($e.d->size >= 10) (
#(
"[", $e.d->size, "](",
#list
(
head: $c.d->n,
size: 10,
next: n
) : ( (*($T1::QLinkedListNode<$T2>*)&$e).t ), ", ...)"
)
) #else (
#(
"[", $e.d->size, "](",
#list
(
head: $c.d->n,
size: $c.d->size,
next: n
) : ( (*($T1::QLinkedListNode<$T2>*)&$e).t ), ")"
)
)
)
children
(
#(
#list
(
head: $c.d->n,
size: $c.d->size,
next: n
) : (*($T1::QLinkedListNode<$T2>*)&$e).t
)
)
}
;------------------------------------------------------------------------------
; QLinkedList::iterator
;------------------------------------------------------------------------------
QLinkedList<*>::iterator|*::QLinkedList<*>::iterator|QLinkedList<*>::const_iterator|*::QLinkedList<*>::const_iterator{
preview
(
#(
$e.i->t
)
)
children
(
#(
ptr: $e.i->t
)
)
}
QLinkedListIterator<*>|*::QLinkedListIterator<*>{
preview
(
#(
$c.i
)
)
children
(
#(
value: $c.i
)
)
}
;------------------------------------------------------------------------------
; QVector, QStack
;
; By default, this visualizer supports only Qt 4.6.x. If you're going to use
; Qt 4.5.x code, then you may want to replace all expr lines with this:
; expr: (((size_t)($c.d) + (size_t)(sizeof(QVectorData)) ))[$i],
;
; This will allow this visualizer to display Qt 4.5.x and Qt 4.6.x QVector
; objects. But be aware of some limitations. For example enum types can't be
; displayed properly this way.
;
; Qt 4.5.x:
; QVector::d is QVectorTypedData<T>
; QVector::p is QVectorData
; expr: $c.d->array[$i]
;
; Qt 4.6.x:
; QVector::d is QVectorData
; QVector::p is QVectorTypedData<T>
; expr: $c.p->array[$i]
;
;------------------------------------------------------------------------------
QVector<*>|*::QVector<*>|QStack<*>|*::QStack<*>{
preview
(
#if ($c.d->size <= 10) (
#(
"[", $c.d->size, "](",
#array
(
expr: $c.p->array[$i],
size: $c.d->size
), ")"
)
) #else (
#(
"[", $c.d->size, "](",
#array
(
expr: $c.p->array[$i],
size: 10
), ", ...)"
)
)
)
children
(
#array
(
expr: $c.p->array[$i],
size: $c.d->size
)
)
}
;------------------------------------------------------------------------------
; QMap
;------------------------------------------------------------------------------
QMapNode<*,*>{
preview
(
#(
"(",
$e.key,
"; ",
$e.value,
")"
)
)
children
(
#(
key: $e.key,
value: $e.value
)
)
}
QMap<*>{
children
(
#(
raw data: [$c,!],
#tree
(
head : $c.d->forward[0],
skip : $c.d,
size : $c.d->size,
left : backward,
right : forward
) : ( (QMapNode<$T1>*)((char*)&$e - (sizeof(QMapPayloadNode<$T1>) - sizeof(QMapData::Node*))) )
)
)
preview
(
#(
"[",
$e.d->size,
"](",
#tree
(
head : $c.d->forward[0],
size : $c.d->size,
left : backward,
right : forward
) : $e,
")"
)
)
}
;------------------------------------------------------------------------------
; QHash
;------------------------------------------------------------------------------
QHash<*>{
preview
(
#(
"[", $e.d->size, "] (...)"
)
)
children
(
#if ($e.d->size <= 255) (
#(
#array (
expr: (QHashNode<$T1>*)$c.d->buckets[$i],
size: $c.d->numBuckets
) : #list (
head: $e,
next: next
) : #switch ($e.next != 0) #case 1 (
$e
)
)
) #else (
#(
#array (
expr: (QHashNode<$T1>*)$c.d->buckets[$i],
size: 255
) : #list (
head: $e,
next: next
) : #switch ($e.next != 0) #case 1 (
$e
)
)
)
)
}
*::QHash<*>{
preview
(
#(
"[", $e.d->size, "] (...)"
)
)
children
(
#if ($e.d->size <= 255) (
#(
#array (
expr: ($T1::QHashNode<$T2> *)$c.d->buckets[$i],
size: $c.d->numBuckets
) : #list (
head: $e,
next: next
) : #switch ($e.next != 0) #case 1 (
$e
)
)
) #else (
#(
#array (
expr: ($T1::QHashNode<$T2> *)$c.d->buckets[$i],
size: 255
) : #list (
head: $e,
next: next
) : #switch ($e.next != 0) #case 1 (
$e
)
)
)
)
}
;------------------------------------------------------------------------------
; QMultiHash
;------------------------------------------------------------------------------
QMultiHash<*>{
preview
(
(*(QHash<$T1>*)(&$c))
)
}
*::QMultiHash<*>{
preview
(
(*($T1::QHash<$T2>*)(&$c))
)
}
;------------------------------------------------------------------------------
; QHash::iterator
;------------------------------------------------------------------------------
QHash<*>::iterator{
preview
(
#(
"(", ((QHashNode<$T1>*)($c.i))->key, ", ", ((QHashNode<$T1>*)($c.i))->value, ")"
)
)
children
(
#(
key: ((QHashNode<$T1>*)($c.i))->key,
value: ((QHashNode<$T1>*)($c.i))->value
)
)
}
*::QHash<*>::iterator{
preview
(
#(
"(", (($T1::QHashNode<$T2>*)($c.i))->key, ", ", (($T1::QHashNode<$T2>*)($c.i))->key, ")"
)
)
children
(
#(
key: (($T1::QHashNode<$T2>*)($c.i))->key,
value: (($T1::QHashNode<$T2>*)($c.i))->value
)
)
}
;------------------------------------------------------------------------------
; QHashIterator
;------------------------------------------------------------------------------
QHashIterator<*>{
preview
(
#(
"(", ((QHashNode<$T1>*)((($c).i).i))->key, ", ", ((QHashNode<$T1>*)((($c).i).i))->key, ")"
)
)
children
(
#(
key: ((QHashNode<$T1>*)((($c).i).i))->key,
value: ((QHashNode<$T1>*)((($c).i).i))->value
)
)
}
*::QHashIterator<*>{
preview
(
#(
"(", (($T1::QHashNode<$T2>*)((($c).i).i))->key, ", ", (($T1::QHashNode<$T2>*)((($c).i).i))->key, ")"
)
)
children
(
#(
key: (($T1::QHashNode<$T2>*)((($c).i).i))->key,
value: (($T1::QHashNode<$T2>*)((($c).i).i))->value
)
)
}
;------------------------------------------------------------------------------
; QHashNode
;------------------------------------------------------------------------------
QHashNode<*>|*::QHashNode<*>{
preview
(
#(
"(key = ", $c.key,"; value = ", $c.value, ")"
)
)
children
(
#(
key: $c.key,
value: $c.value
)
)
}
;------------------------------------------------------------------------------
; QSet
;------------------------------------------------------------------------------
QSet<*>{
preview
(
#(
"[", $e.q_hash.d->size, "] (...)"
)
)
children
(
#if ($e.q_hash.d->size <= 255) (
#(
#array (
expr: (QHashNode<$T1,QHashDummyValue> *)$c.q_hash.d->buckets[$i],
size: $c.q_hash.d->numBuckets
) : #list (
head: $e,
next: next
) : #switch ($e.next != 0) #case 1 (
$e.key
)
)
) #else (
#(
#array (
expr: (QHashNode<$T1,QHashDummyValue> *)$c.q_hash.d->buckets[$i],
size: 255
) : #list (
head: $e,
next: next
) : #switch ($e.next != 0) #case 1 (
$e.key
)
)
)
)
}
*::QSet<*>{
preview
(
#(
"[", $e.q_hash.d->size, "] (...)"
)
)
children
(
#if ($e.q_hash.d->size <= 255) (
#(
#array (
expr: ($T1::QHashNode<$T2,QHashDummyValue> *)$c.q_hash.d->buckets[$i],
size: $c.q_hash.d->numBuckets
) : #list (
head: $e,
next: next
) : #switch ($e.next != 0) #case 1 (
$e.key
)
)
) #else (
#(
#array (
expr: ($T1::QHashNode<$T2,QHashDummyValue> *)$c.q_hash.d->buckets[$i],
size: 255
) : #list (
head: $e,
next: next
) : #switch ($e.next != 0) #case 1 (
$e.key
)
)
)
)
}
;------------------------------------------------------------------------------
; QPalette
;------------------------------------------------------------------------------
QPalette{
children
(
#(
WindowText_active:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+ 0)->d,
Button_active:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+ 1)->d,
Light_active:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+ 2)->d,
Midlight_active:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+ 3)->d,
Dark_active:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+ 4)->d,
Mid_active:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+ 5)->d,
Text_active:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+ 6)->d,
BrightText_active:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+ 7)->d,
ButtonText_active:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+ 8)->d,
Base_active:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+ 9)->d,
Window_active:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+10)->d,
Shadow_active:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+11)->d,
Highlight_active:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+12)->d,
HighlightedText_active:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+13)->d,
Link_active:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+14)->d,
LinkVisited_active:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+15)->d,
AlternateBase_active:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+16)->d,
NoRole_active:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+17)->d,
ToolTipBase_active:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+18)->d,
ToolTipText_active:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+19)->d,
WindowText_disabled:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+20+ 0)->d,
Button_disabled:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+20+ 1)->d,
Light_disabled:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+20+ 2)->d,
Midlight_disabled:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+20+ 3)->d,
Dark_disabled:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+20+ 4)->d,
Mid_disabled:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+20+ 5)->d,
Text_disabled:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+20+ 6)->d,
BrightText_disabled:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+20+ 7)->d,
ButtonText_disabled:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+20+ 8)->d,
Base_disabled:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+20+ 9)->d,
Window_disabled:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+20+10)->d,
Shadow_disabled:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+20+11)->d,
Highlight_disabled:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+20+12)->d,
HighlightedText_disabled:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+20+13)->d,
Link_disabled:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+20+14)->d,
LinkVisited_disabled:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+20+15)->d,
AlternateBase_disabled:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+20+16)->d,
NoRole_disabled:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+20+17)->d,
ToolTipBase_disabled:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+20+18)->d,
ToolTipText_disabled:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+20+19)->d,
WindowText_inactive:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+40+ 0)->d,
Button_inactive:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+40+ 1)->d,
Light_inactive:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+40+ 2)->d,
Midlight_inactive:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+40+ 3)->d,
Dark_inactive:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+40+ 4)->d,
Mid_inactive:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+40+ 5)->d,
Text_inactive:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+40+ 6)->d,
BrightText_inactive:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+40+ 7)->d,
ButtonText_inactive:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+40+ 8)->d,
Base_inactive:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+40+ 9)->d,
Window_inactive:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+40+10)->d,
Shadow_inactive:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+40+11)->d,
Highlight_inactive:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+40+12)->d,
HighlightedText_inactive:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+40+13)->d,
Link_inactive:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+40+14)->d,
LinkVisited_inactive:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+40+15)->d,
AlternateBase_inactive:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+40+16)->d,
NoRole_inactive:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+40+17)->d,
ToolTipBase_inactive:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+40+18)->d,
ToolTipText_inactive:
((QBrush*)((char*)$c.d+sizeof(QAtomicInt))+40+19)->d
)
)
}
*::QPalette{
children
(
#(
WindowText_active:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+ 0)->d,
Button_active:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+ 1)->d,
Light_active:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+ 2)->d,
Midlight_active:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+ 3)->d,
Dark_active:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+ 4)->d,
Mid_active:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+ 5)->d,
Text_active:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+ 6)->d,
BrightText_active:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+ 7)->d,
ButtonText_active:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+ 8)->d,
Base_active:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+ 9)->d,
Window_active:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+10)->d,
Shadow_active:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+11)->d,
Highlight_active:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+12)->d,
HighlightedText_active:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+13)->d,
Link_active:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+14)->d,
LinkVisited_active:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+15)->d,
AlternateBase_active:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+16)->d,
NoRole_active:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+17)->d,
ToolTipBase_active:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+18)->d,
ToolTipText_active:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+19)->d,
WindowText_disabled:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+20+ 0)->d,
Button_disabled:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+20+ 1)->d,
Light_disabled:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+20+ 2)->d,
Midlight_disabled:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+20+ 3)->d,
Dark_disabled:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+20+ 4)->d,
Mid_disabled:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+20+ 5)->d,
Text_disabled:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+20+ 6)->d,
BrightText_disabled:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+20+ 7)->d,
ButtonText_disabled:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+20+ 8)->d,
Base_disabled:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+20+ 9)->d,
Window_disabled:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+20+10)->d,
Shadow_disabled:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+20+11)->d,
Highlight_disabled:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+20+12)->d,
HighlightedText_disabled:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+20+13)->d,
Link_disabled:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+20+14)->d,
LinkVisited_disabled:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+20+15)->d,
AlternateBase_disabled:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+20+16)->d,
NoRole_disabled:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+20+17)->d,
ToolTipBase_disabled:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+20+18)->d,
ToolTipText_disabled:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+20+19)->d,
WindowText_inactive:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+40+ 0)->d,
Button_inactive:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+40+ 1)->d,
Light_inactive:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+40+ 2)->d,
Midlight_inactive:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+40+ 3)->d,
Dark_inactive:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+40+ 4)->d,
Mid_inactive:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+40+ 5)->d,
Text_inactive:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+40+ 6)->d,
BrightText_inactive:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+40+ 7)->d,
ButtonText_inactive:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+40+ 8)->d,
Base_inactive:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+40+ 9)->d,
Window_inactive:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+40+10)->d,
Shadow_inactive:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+40+11)->d,
Highlight_inactive:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+40+12)->d,
HighlightedText_inactive:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+40+13)->d,
Link_inactive:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+40+14)->d,
LinkVisited_inactive:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+40+15)->d,
AlternateBase_inactive:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+40+16)->d,
NoRole_inactive:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+40+17)->d,
ToolTipBase_inactive:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+40+18)->d,
ToolTipText_inactive:
(($T1::QBrush*)((char*)$c.d+sizeof(QAtomicInt))+40+19)->d
)
)
}
;------------------------------------------------------------------------------
; QBrush
;------------------------------------------------------------------------------
QBrush|*::QBrush{
preview
(
#(
"[", $c.d->style, "] (...)"
)
)
children
(
#(
style: $c.d->style,
color: $c.d->color,
transform: $c.d->transform
)
)
}
QBrushData|*::QBrushData{
preview
(
#(
"[", $c.style, "] (...)"
)
)
children
(
#(
style: $c.style,
color: $c.color,
transform: $c.transform
)
)
}
;------------------------------------------------------------------------------
; QColor
;------------------------------------------------------------------------------
QColor|*::QColor{
preview
(
#(
#if ($c.cspec == 1) (
#(
"[", $c.cspec, "] [", "r = ", [$c.ct.argb.red,x],
", g = ", [$c.ct.argb.green,x],
", b = ", [$c.ct.argb.blue,x], "] (...)"
)
) #elif ($c.cspec == 2) (
#(
"[", $c.cspec, "] [", "h = ", [$c.ct.ahsv.hue,x],
", s = ", [$c.ct.ahsv.saturation,x],
", v = ", [$c.ct.ahsv.value,x], "] (...)"
)
) #elif ($c.cspec == 3) (
#(
"[", $c.cspec, "] [", "c = ", [$c.ct.acmyk.cyan,x],
", m = ", [$c.ct.acmyk.magenta,x],
", y = ", [$c.ct.acmyk.yellow,x],
", k = ", [$c.ct.acmyk.black,x], "] (...)"
)
) #else (
#(
"[Invalid]"
)
)
)
)
children
(
#(
#if ($c.cspec == 1) (
#(
red: [$c.ct.argb.red,x],
green: [$c.ct.argb.green,x],
blue: [$c.ct.argb.blue,x],
alpha: [$c.ct.argb.alpha,x],
pad: [$c.ct.argb.pad,x]
)
) #elif ($c.cspec == 2) (
#(
hue: [$c.ct.ahsv.hue,x],
saturation: [$c.ct.ahsv.saturation,x],
value: [$c.ct.ahsv.value,x],
alpha: [$c.ct.ahsv.alpha,x],
pad: [$c.ct.ahsv.pad,x]
)
) #elif ($c.cspec == 3) (
#(
cyan: [$c.ct.acmyk.cyan,x],
magenta: [$c.ct.acmyk.magenta,x],
yellow: [$c.ct.acmyk.yellow,x],
black: [$c.ct.acmyk.black,x],
alpha: [$c.ct.acmyk.alpha,x]
)
)
)
)
}
;------------------------------------------------------------------------------
; QTransform
;------------------------------------------------------------------------------
QTransform|*::QTransform{
preview
(
#(
"[",[$c.affine._m11,g]," ",[$c.affine._m12,g]," ",[$c.m_13,g],"]",
"[",[$c.affine._m21,g]," ",[$c.affine._m22,g]," ",[$c.m_23,g],"]",
"[",[$c.affine._dx,g]," ",[$c.affine._dy,g]," ",[$c.m_33,g],"]"
)
)
children
(
#(
translation_horizontal_m31_dx: [$c.affine._dx,g],
translation_vertical_m32_dy: [$c.affine._dy,g],
scaling_horizontal_m11: [$c.affine._m11,g],
scaling_vertical_m22: [$c.affine._m22,g],
projection_factor_m33: [$c.m_33,g],
projection_horizontal_m13: [$c.m_13,g],
projection_vertical_m23: [$c.m_23,g],
shearing_horizontal_m21: [$c.affine._m21,g],
shearing_vertical_m12: [$c.affine._m12,g],
type: $c.m_type,
dirty: (bool)$c.m_dirty
)
)
}
;------------------------------------------------------------------------------
; QMatrix
;------------------------------------------------------------------------------
QMatrix|*::QMatrix{
preview
(
#(
"[",[$c._m11,g]," ",[$c._m12,g],"]",
"[",[$c._m21,g]," ",[$c._m22,g],"]",
"[",[$c._dx,g]," ",[$c._dy,g],"]"
)
)
children
(
#(
translation_horizontal_dx: [$c._dx,g],
translation_vertical_dy: [$c._dy,g],
scaling_horizontal_m11: [$c._m11,g],
scaling_vertical_m22: [$c._m22,g],
shearing_horizontal_m21: [$c._m21,g],
shearing_vertical_m12: [$c._m12,g]
)
)
}
;------------------------------------------------------------------------------
; QPolygon
;------------------------------------------------------------------------------
QPolygon{
preview
(
#(
"[", ((QVector<QPoint>*)(&$c))->d->size, "] (...)"
)
)
children
(
#(
#array
(
expr: ((QPoint*)(((void*)$c.d) + sizeof(QVectorData)))[$i],
size: ((QVector<QPoint>*)(&$c))->d->size
)
)
)
}
*::QPolygon{
preview
(
#(
"[", (($T1::QVector<$T1::QPoint>*)(&$c))->d->size, "] (...)"
)
)
children
(
#(
#array
(
expr: (($T1::QPoint*)(((void*)$c.d) + sizeof(QVectorData)))[$i],
size: (($T1::QVector<$T1::QPoint>*)(&$c))->d->size
)
)
)
}
;------------------------------------------------------------------------------
; QPolygonF
;------------------------------------------------------------------------------
QPolygonF{
preview
(
#(
"[", ((QVector<QPointF>*)(&$c))->d->size, "] (...)"
)
)
children
(
#(
#array
(
expr: ((QVector<QPointF>*)(&$c))->p->array[$i],
size: ((QVector<QPointF>*)(&$c))->d->size
)
)
)
}
*::QPolygonF{
preview
(
#(
"[", (($T1::QVector<$T1::QPointF>*)(&$c))->d->size, "] (...)"
)
)
children
(
#(
#array
(
expr: (($T1::QVector<$T1::QPointF>*)(&$c))->p->array[$i],
size: (($T1::QVector<$T1::QPointF>*)(&$c))->d->size
)
)
)
}
;------------------------------------------------------------------------------
; The Qt Company Ltd. Qt 5.x visualizers -------------------------------------------[ end ]--
;QT_DEBUG_END