本文整理汇总了C++中QDataStream::version方法的典型用法代码示例。如果您正苦于以下问题:C++ QDataStream::version方法的具体用法?C++ QDataStream::version怎么用?C++ QDataStream::version使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QDataStream
的用法示例。
在下文中一共展示了QDataStream::version方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: read
bool QSvgIconEngine::read(QDataStream &in)
{
d = new QSvgIconEnginePrivate;
d->svgBuffers = new QHash<int, QByteArray>;
if (in.version() >= QDataStream::Qt_4_4) {
int isCompressed;
QHash<int, QString> fileNames; // For memoryoptimization later
in >> fileNames >> isCompressed >> *d->svgBuffers;
#ifndef QT_NO_COMPRESS
if (!isCompressed) {
foreach(int key, d->svgBuffers->keys())
d->svgBuffers->insert(key, qCompress(d->svgBuffers->value(key)));
}
示例2: serialization
void tst_QPicture::serialization()
{
QDataStream stream;
const int thisVersion = stream.version();
for (int version = QDataStream::Qt_1_0; version <= thisVersion; ++version) {
const QDataStream::Version versionEnum = static_cast<QDataStream::Version>(version);
{
// streaming of null pictures
ensureSerializesCorrectly(QPicture(), versionEnum);
}
{
// picture with a simple line, checking bitwise equality
QPicture picture;
QPainter painter(&picture);
painter.drawLine(10, 20, 30, 40);
ensureSerializesCorrectly(picture, versionEnum);
}
}
{
// Test features that were added after Qt 4.5, as that was hard-coded as the major
// version for a while, which was incorrect. In this case, we'll test font hints.
QPicture picture;
QPainter painter;
QFont font;
font.setStyleName("Blah");
font.setHintingPreference(QFont::PreferFullHinting);
painter.begin(&picture);
painter.setFont(font);
painter.drawText(20, 20, "Hello");
painter.end();
Picture customPicture;
painter.begin(&customPicture);
picture.play(&painter);
const QFont actualFont = ((PaintEngine*)customPicture.paintEngine())->font();
painter.end();
QCOMPARE(actualFont.styleName(), QStringLiteral("Blah"));
QCOMPARE(actualFont.hintingPreference(), QFont::PreferFullHinting);
}
}
示例3: convertUiToUib
//.........这里部分代码省略.........
int no = objects.find( *b );
if ( no != -1 ) {
packUInt16( out2, a.key() );
packUInt16( out2, no );
}
++b;
}
++a;
}
}
if ( !connectionsElem.isNull() ) {
QString prevLanguage = "C++";
int prevSenderNo = 0;
QString prevSignal = "clicked()";
int prevReceiverNo = 0;
QString prevSlot = "accept()";
QDataStream out2( connectionsBlock, IO_WriteOnly );
QDomElement f = connectionsElem.firstChild().toElement();
while ( !f.isNull() ) {
if ( f.tagName() == "connection" ) {
QMap<QString, QString> argMap;
QDomElement g = f.firstChild().toElement();
while ( !g.isNull() ) {
argMap[g.tagName()] = g.firstChild().toText().data();
g = g.nextSibling().toElement();
}
QString language = f.attribute( "language", "C++" );
int senderNo = objects.find( argMap["sender"], widgetNo );
int receiverNo = objects.find( argMap["receiver"], widgetNo );
QString signal = UibHack::normalize( argMap["signal"] );
QString slot = UibHack::normalize( argMap["slot"] );
Q_UINT8 connectionFlags = 0;
if ( language != prevLanguage )
connectionFlags |= Connection_Language;
if ( senderNo != prevSenderNo )
connectionFlags |= Connection_Sender;
if ( signal != prevSignal )
connectionFlags |= Connection_Signal;
if ( receiverNo != prevReceiverNo )
connectionFlags |= Connection_Receiver;
if ( slot != prevSlot )
connectionFlags |= Connection_Slot;
out2 << connectionFlags;
if ( connectionFlags & Connection_Language )
packString( strings, out2, language );
if ( connectionFlags & Connection_Sender )
packUInt16( out2, senderNo );
if ( connectionFlags & Connection_Signal )
packStringSplit( strings, out2, signal, '(' );
if ( connectionFlags & Connection_Receiver )
packUInt16( out2, receiverNo );
if ( connectionFlags & Connection_Slot )
packStringSplit( strings, out2, slot, '(' );
prevLanguage = language;
prevSenderNo = senderNo;
prevSignal = signal;
prevReceiverNo = receiverNo;
prevSlot = slot;
} else if ( f.tagName() == "slot" ) {
// ###
}
f = f.nextSibling().toElement();
}
}
{
QDataStream out2( introBlock, IO_WriteOnly );
out2 << introFlags;
out2 << defaultMargin;
out2 << defaultSpacing;
packUInt16( out2, objects.count() );
packCString( strings, out2, className );
}
out << UibMagic;
out << (Q_UINT8) '\n';
out << (Q_UINT8) '\r';
out << (Q_UINT8) out.version();
outputBlock( out, Block_Strings, strings.block() );
outputBlock( out, Block_Intro, introBlock );
outputBlock( out, Block_Images, imagesBlock );
outputBlock( out, Block_Widget, widgetBlock );
outputBlock( out, Block_Slots, slotsBlock );
outputBlock( out, Block_Tabstops, tabstopsBlock );
outputBlock( out, Block_Actions, actionsBlock );
outputBlock( out, Block_Menubar, menubarBlock );
outputBlock( out, Block_Toolbars, toolbarsBlock );
outputBlock( out, Block_Variables, variablesBlock );
outputBlock( out, Block_Functions, functionsBlock );
outputBlock( out, Block_Buddies, buddiesBlock );
outputBlock( out, Block_Connections, connectionsBlock );
out << (Q_UINT8) Block_End;
}