本文整理汇总了C++中QVariant::asString方法的典型用法代码示例。如果您正苦于以下问题:C++ QVariant::asString方法的具体用法?C++ QVariant::asString怎么用?C++ QVariant::asString使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QVariant
的用法示例。
在下文中一共展示了QVariant::asString方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: expandMacros
QString KasTaskItem::expandMacros( const QString &format, QObject *data )
{
QString s = format;
QRegExp re("\\$(\\w+)");
int pos = 0;
while ( pos >= 0 ) {
pos = re.search( s, pos );
if ( pos >= 0 ) {
QVariant val = data->property( re.cap(1).latin1() );
QString v = val.asString();
s.replace( pos, re.matchedLength(), v );
pos = pos + v.length();
}
}
return s;
}
示例2: outputObject
static int outputObject( QMap<int, QStringList>& buddies,
UibIndexMap& objects, UibStrTable& strings,
QDataStream& out, QDomElement elem,
QCString className )
{
bool isQObject = !className.isEmpty();
if ( className == "QToolBar" )
out << (Q_UINT8) elem.attribute( "dock", "0" ).toInt();
if ( className == "QWidget" )
className = elem.attribute( "class", className ).latin1();
int objectNo = -1;
if ( isQObject ) {
packCString( strings, out, className );
objectNo = objects.insert();
}
outputGridCell( out, elem );
// optimization: insert '&Foo' into string-table before 'Foo'
if ( className == "QAction" || className == "QActionGroup" ) {
QVariant value = DomTool::readProperty( elem, "menuText", QVariant() );
if ( value.asString().startsWith("&") )
strings.insertString( value.asString() );
}
QDomElement f = elem.firstChild().toElement();
while ( !f.isNull() ) {
QString tag = f.tagName();
if ( tag == "action" ) {
if ( elem.tagName() == "item" || elem.tagName() == "toolbar" ) {
QString actionName = f.attribute( "name" );
int no = objects.find( actionName );
if ( no != -1 ) {
out << (Q_UINT8) Object_ActionRef;
packUInt16( out, no );
}
} else {
out << (Q_UINT8) Object_SubAction;
outputObject( buddies, objects, strings, out, f, "QAction" );
}
} else if ( tag == "actiongroup" ) {
out << (Q_UINT8) Object_SubAction;
outputObject( buddies, objects, strings, out, f, "QActionGroup" );
} else if ( tag == "attribute" ) {
out << (Q_UINT8) Object_Attribute;
outputProperty( buddies, objectNo, strings, out, f );
} else if ( tag == "column" ) {
out << (Q_UINT8) Object_Column;
outputObject( buddies, objects, strings, out, f );
} else if ( tag == "event" ) {
out << (Q_UINT8) Object_Event;
packCString( strings, out, f.attribute("name").latin1() );
packVariant( strings, out,
QStringList::split(',', f.attribute("functions")) );
} else if ( tag == "grid" || tag == "hbox" || tag == "vbox" ) {
out << (Q_UINT8) Object_SubLayout;
outputObject( buddies, objects, strings, out, f,
layoutForTag(tag) );
} else if ( tag == "item" ) {
if ( elem.tagName() == "menubar" ) {
out << (Q_UINT8) Object_MenuItem;
packCString( strings, out, f.attribute("name").latin1() );
packCString( strings, out, f.attribute("text").utf8() );
outputObject( buddies, objects, strings, out, f );
} else {
out << (Q_UINT8) Object_Item;
outputObject( buddies, objects, strings, out, f );
}
} else if ( tag == "property" ) {
outputProperty( buddies, objectNo, strings, out, f );
} else if ( tag == "row" ) {
out << (Q_UINT8) Object_Row;
outputObject( buddies, objects, strings, out, f );
} else if ( tag == "separator" ) {
out << (Q_UINT8) Object_Separator;
} else if ( tag == "spacer" ) {
out << (Q_UINT8) Object_Spacer;
outputObject( buddies, objects, strings, out, f );
} else if ( tag == "widget" ) {
if ( f.attribute("class") == "QLayoutWidget" &&
elem.tagName() != "widget" ) {
outputLayoutWidgetsSubLayout( buddies, objects, strings, out,
f );
} else {
out << (Q_UINT8) Object_SubWidget;
outputObject( buddies, objects, strings, out, f, "QWidget" );
}
}
f = f.nextSibling().toElement();
}
out << (Q_UINT8) Object_End;
if ( isQObject )
objects.setName( objectNo,
DomTool::readProperty(elem, "name", "").asString() );
return objectNo;
}
示例3: outputProperty
static void outputProperty( QMap<int, QStringList>& buddies, int objectNo,
UibStrTable& strings, QDataStream& out,
QDomElement elem )
{
QCString name = elem.attribute( "name" ).latin1();
QDomElement f = elem.firstChild().toElement();
QString tag = f.tagName();
QString comment;
QVariant value;
if ( name == "resizeable" )
name = "resizable";
if ( tag == "font" ) {
QString family;
Q_UINT16 pointSize = 65535;
Q_UINT8 fontFlags = 0;
QDomElement g = f.firstChild().toElement();
while ( !g.isNull() ) {
QString text = g.firstChild().toText().data();
if ( g.tagName() == "family" ) {
fontFlags |= Font_Family;
family = text;
} else if ( g.tagName() == "pointsize" ) {
fontFlags |= Font_PointSize;
pointSize = (Q_UINT16) text.toUInt();
} else {
if ( g.firstChild().toText().data().toInt() != 0 ) {
if ( g.tagName() == "bold" ) {
fontFlags |= Font_Bold;
} else if ( g.tagName() == "italic" ) {
fontFlags |= Font_Italic;
} else if ( g.tagName() == "underline" ) {
fontFlags |= Font_Underline;
} else if ( g.tagName() == "strikeout" ) {
fontFlags |= Font_StrikeOut;
}
}
}
g = g.nextSibling().toElement();
}
out << (Q_UINT8) Object_FontProperty;
packCString( strings, out, name );
out << fontFlags;
if ( fontFlags & Font_Family )
packString( strings, out, family );
if ( fontFlags & Font_PointSize )
packUInt16( out, pointSize );
} else if ( tag == "palette" ) {
out << (Q_UINT8) Object_PaletteProperty;
packCString( strings, out, name );
QDomElement g = f.firstChild().toElement();
while ( !g.isNull() ) {
QDomElement h = g.firstChild().toElement();
while ( !h.isNull() ) {
value = DomTool::elementToVariant( h, Qt::gray );
if ( h.tagName() == "color" ) {
out << (Q_UINT8) Palette_Color;
out << value.asColor();
} else if ( h.tagName() == "pixmap" ) {
out << (Q_UINT8) Palette_Pixmap;
packVariant( strings, out, value, "pixmap" );
}
h = h.nextSibling().toElement();
}
if ( g.tagName() == "active" ) {
out << (Q_UINT8) Palette_Active;
} else if ( g.tagName() == "inactive" ) {
out << (Q_UINT8) Palette_Inactive;
} else {
out << (Q_UINT8) Palette_Disabled;
}
g = g.nextSibling().toElement();
}
out << (Q_UINT8) Palette_End;
} else {
value = DomTool::elementToVariant( f, value, comment );
if ( value.isValid() ) {
if ( name == "buddy" ) {
buddies[objectNo] += value.asString();
} else {
if ( tag == "string" ) {
out << (Q_UINT8) Object_TextProperty;
packCString( strings, out, name );
packCString( strings, out, value.asString().utf8() );
packCString( strings, out, comment.utf8() );
} else {
out << (Q_UINT8) Object_VariantProperty;
packCString( strings, out, name );
packVariant( strings, out, value, tag );
}
}
}
}
}
示例4: packVariant
static void packVariant( UibStrTable& strings, QDataStream& out,
QVariant value, QString tag = "" )
{
QStringList::ConstIterator s;
Q_UINT8 type = value.type();
if ( tag == "pixmap" ) {
type = QVariant::Pixmap;
} else if ( tag == "image" ) {
type = QVariant::Image;
} else if ( tag == "iconset" ) {
type = QVariant::IconSet;
}
out << type;
switch ( type ) {
case QVariant::String:
case QVariant::Pixmap:
case QVariant::Image:
case QVariant::IconSet:
packString( strings, out, value.asString() );
break;
case QVariant::StringList:
packUInt16( out, value.asStringList().count() );
s = value.asStringList().begin();
while ( s != value.asStringList().end() ) {
packString( strings, out, *s );
++s;
}
break;
case QVariant::Font:
out << value.asFont();
break;
case QVariant::Rect:
packUInt16( out, value.asRect().x() );
packUInt16( out, value.asRect().y() );
packUInt16( out, value.asRect().width() );
packUInt16( out, value.asRect().height() );
break;
case QVariant::Size:
packUInt16( out, value.asSize().width() );
packUInt16( out, value.asSize().height() );
break;
case QVariant::Color:
out << value.asColor();
break;
case QVariant::Point:
packUInt16( out, value.asPoint().x() );
packUInt16( out, value.asPoint().y() );
break;
case QVariant::Int:
packUInt32( out, value.asInt() );
break;
case QVariant::Bool:
out << (Q_UINT8) value.asBool();
break;
case QVariant::Double:
out << value.asDouble();
break;
case QVariant::CString:
packCString( strings, out, value.asCString() );
break;
case QVariant::Cursor:
out << value.asCursor();
break;
case QVariant::Date:
out << value.asDate();
break;
case QVariant::Time:
out << value.asTime();
break;
case QVariant::DateTime:
out << value.asDateTime();
break;
default:
out << value;
}
}
示例5: varNameChanged
void FlowPart::varNameChanged(QVariant newValue, QVariant oldValue) {
if (!m_pFlowCodeDocument)
return;
m_pFlowCodeDocument->varNameChanged(newValue.asString(), oldValue.asString());
}