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