本文整理汇总了C++中QSizeF函数的典型用法代码示例。如果您正苦于以下问题:C++ QSizeF函数的具体用法?C++ QSizeF怎么用?C++ QSizeF使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了QSizeF函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: QFETCH
void MercatorProjectionTest::screenCoordinatesOfCenter()
{
QFETCH( qreal, lon );
QFETCH( qreal, lat );
const GeoDataCoordinates coordinates( lon, lat, 0, GeoDataCoordinates::Degree );
ViewportParams viewport;
viewport.setProjection( Mercator );
viewport.setRadius( 360 / 4 ); // for easy mapping of lon <-> x
viewport.setSize( QSize( 2, 2 ) );
viewport.centerOn( lon * DEG2RAD, lat * DEG2RAD );
{
qreal x;
qreal y;
const bool retval = viewport.screenCoordinates( lon * DEG2RAD, lat * DEG2RAD, x, y );
QVERIFY( retval ); // FIXME: this should fail for lon < -180 || 180 < lon
QCOMPARE( x, lon - viewport.centerLongitude() * RAD2DEG + 1.0 );
QCOMPARE( y, 1.0 );
}
{
qreal x;
qreal y;
bool globeHidesPoint = true;
const bool retval = viewport.screenCoordinates( coordinates, x, y, globeHidesPoint );
QVERIFY( retval ); // FIXME: this should fail for lon < -180 || 180 < lon
QVERIFY( !globeHidesPoint );
QCOMPARE( x, lon - viewport.centerLongitude() * RAD2DEG + 1.0 );
QCOMPARE( y, 1.0 );
}
QVERIFY( viewport.currentProjection()->repeatX() );
{
qreal x[2];
qreal y;
int pointRepeatNum = 1000;
bool globeHidesPoint = true;
const bool retval = viewport.screenCoordinates( coordinates, x, y, pointRepeatNum, QSizeF( 0, 0 ), globeHidesPoint );
QVERIFY( retval );
QCOMPARE( pointRepeatNum, 1 );
QVERIFY( !globeHidesPoint );
QCOMPARE( x[0], 1.0 );
QCOMPARE( y, 1.0 );
}
}
示例2: qSqrt
QList<QSizeF> ratioList;
const qreal sqrt2 = qSqrt(2.);
ratioList
<< QSizeF(7, 5)
<< QSizeF(3, 2)
<< QSizeF(4, 3)
<< QSizeF(5, 4);
addRatioToComboBox(QSizeF(1, 1), i18n("Square"));
addRatioToComboBox(screenRatio(), i18n("This Screen"));
addSectionHeaderToComboBox(i18n("Landscape"));
Q_FOREACH(const QSizeF& size, ratioList) {
addRatioToComboBox(size);
}
addRatioToComboBox(QSizeF(sqrt2, 1), i18n("ISO Size (A4, A3...)"));
addRatioToComboBox(QSizeF(11, 8.5), i18n("US Letter"));
addSectionHeaderToComboBox(i18n("Portrait"));
Q_FOREACH(QSizeF size, ratioList) {
size.transpose();
addRatioToComboBox(size);
}
addRatioToComboBox(QSizeF(1, sqrt2), i18n("ISO Size (A4, A3...)"));
addRatioToComboBox(QSizeF(8.5, 11), i18n("US Letter"));
ratioComboBox->setMaxVisibleItems(ratioComboBox->count());
ratioComboBox->clearEditText();
QLineEdit* edit = qobject_cast<QLineEdit*>(ratioComboBox->lineEdit());
Q_ASSERT(edit);
// Do not use i18n("%1:%2") because ':' should not be translated, it is
示例3: ItemResizer
void LvlScene::setPhysEnvResizer(QGraphicsItem * targetRect, bool enabled, bool accept)
{
if((enabled)&&(pResizer==NULL))
{
MainWinConnect::pMainWin->on_actionSelect_triggered(); //Reset mode
int x = ((ItemWater *)targetRect)->waterData.x;
int y = ((ItemWater *)targetRect)->waterData.y;
int w = ((ItemWater *)targetRect)->waterData.w;
int h = ((ItemWater *)targetRect)->waterData.h;
pResizer = new ItemResizer( QSize(w, h), Qt::darkYellow, 16 );
this->addItem(pResizer);
pResizer->setPos(x, y);
pResizer->type=3;
pResizer->targetItem = targetRect;
pResizer->_minSize = QSizeF(16, 16);
this->setFocus(Qt::ActiveWindowFocusReason);
//DrawMode=true;
//MainWinConnect::pMainWin->activeLvlEditWin()->changeCursor(leveledit::MODE_Resizing);
SwitchEditingMode(MODE_Resizing);
MainWinConnect::pMainWin->resizeToolbarVisible(true);
}
else
{
if(pResizer!=NULL)
{
if(accept)
{
#ifdef _DEBUG_
WriteToLog(QtDebugMsg, QString("Water RESIZE -> to %1 x %2").arg(pResizer->_width).arg(pResizer->_height));
#endif
long x = pResizer->pos().x();
long y = pResizer->pos().y();
long w = pResizer->_width;
long h = pResizer->_height;
long oldX = ((ItemWater *)pResizer->targetItem)->waterData.x;
long oldY = ((ItemWater *)pResizer->targetItem)->waterData.y;
long oldW = ((ItemWater *)pResizer->targetItem)->waterData.w;
long oldH = ((ItemWater *)pResizer->targetItem)->waterData.h;
((ItemWater *)pResizer->targetItem)->waterData.x = x;
((ItemWater *)pResizer->targetItem)->waterData.y = y;
((ItemWater *)pResizer->targetItem)->waterData.w = w;
((ItemWater *)pResizer->targetItem)->waterData.h = h;
((ItemWater *)pResizer->targetItem)->setRectSize( QRect(x,y,w,h) );
LvlData->modified = true;
addResizeWaterHistory(((ItemWater *)pResizer->targetItem)->waterData, oldX, oldY, oldX+oldW, oldY+oldH, x, y, x+w, y+h);
//ChangeSectionBG(LvlData->sections[LvlData->CurSection].background);
//drawSpace();
}
delete pResizer;
pResizer = NULL;
MainWinConnect::pMainWin->on_actionSelect_triggered();
MainWinConnect::pMainWin->resizeToolbarVisible(false);
//resetResizingSection=true;
}
DrawMode=false;
}
}
示例4: font
void KCategoryDrawer::drawCategory(const QModelIndex &index,
int /*sortRole*/,
const QStyleOption &option,
QPainter *painter) const
{
painter->setRenderHint(QPainter::Antialiasing);
const QString category = index.model()->data(index, KCategorizedSortFilterProxyModel::CategoryDisplayRole).toString();
const QRect optRect = option.rect;
QFont font(QApplication::font());
font.setBold(true);
const QFontMetrics fontMetrics = QFontMetrics(font);
QColor outlineColor = option.palette.text().color();
outlineColor.setAlphaF(0.35);
//BEGIN: top left corner
{
painter->save();
painter->setPen(outlineColor);
const QPointF topLeft(optRect.topLeft());
QRectF arc(topLeft, QSizeF(4, 4));
arc.translate(0.5, 0.5);
painter->drawArc(arc, 1440, 1440);
painter->restore();
}
//END: top left corner
//BEGIN: left vertical line
{
QPoint start(optRect.topLeft());
start.ry() += 3;
QPoint verticalGradBottom(optRect.topLeft());
verticalGradBottom.ry() += fontMetrics.height() + 5;
QLinearGradient gradient(start, verticalGradBottom);
gradient.setColorAt(0, outlineColor);
gradient.setColorAt(1, Qt::transparent);
painter->fillRect(QRect(start, QSize(1, fontMetrics.height() + 5)), gradient);
}
//END: left vertical line
//BEGIN: horizontal line
{
QPoint start(optRect.topLeft());
start.rx() += 3;
QPoint horizontalGradTop(optRect.topLeft());
horizontalGradTop.rx() += optRect.width() - 6;
painter->fillRect(QRect(start, QSize(optRect.width() - 6, 1)), outlineColor);
}
//END: horizontal line
//BEGIN: top right corner
{
painter->save();
painter->setPen(outlineColor);
QPointF topRight(optRect.topRight());
topRight.rx() -= 4;
QRectF arc(topRight, QSizeF(4, 4));
arc.translate(0.5, 0.5);
painter->drawArc(arc, 0, 1440);
painter->restore();
}
//END: top right corner
//BEGIN: right vertical line
{
QPoint start(optRect.topRight());
start.ry() += 3;
QPoint verticalGradBottom(optRect.topRight());
verticalGradBottom.ry() += fontMetrics.height() + 5;
QLinearGradient gradient(start, verticalGradBottom);
gradient.setColorAt(0, outlineColor);
gradient.setColorAt(1, Qt::transparent);
painter->fillRect(QRect(start, QSize(1, fontMetrics.height() + 5)), gradient);
}
//END: right vertical line
//BEGIN: text
{
QRect textRect(option.rect);
textRect.setTop(textRect.top() + 7);
textRect.setLeft(textRect.left() + 7);
textRect.setHeight(fontMetrics.height());
textRect.setRight(textRect.right() - 7);
painter->save();
painter->setFont(font);
QColor penColor(option.palette.text().color());
penColor.setAlphaF(0.6);
painter->setPen(penColor);
painter->drawText(textRect, Qt::AlignLeft | Qt::AlignVCenter, category);
painter->restore();
}
//END: text
}
示例5: Q_UNUSED
QSizeF QgsLayoutTable::fixedFrameSize( const int frameIndex ) const
{
Q_UNUSED( frameIndex );
return QSizeF( mTableSize.width(), 0 );
}
示例6: QRectF
QRectF MyPixmapItem::boundingRect() const{
return QRectF(QPointF(0, 0), QSizeF(sizex, sizey));
}
示例7: QSizeF
void QgsComposerLegend::setSymbolWidth( double w ) { mSettings.setSymbolSize( QSizeF( w, mSettings.symbolSize().height() ) ); }
示例8: QSizeF
QSizeF ImageLoaderFreeImage::size(Types::UnitsOfLength unit) const
{
const QSize sizePixels = this->sizePixels();
return QSizeF(sizePixels.width() / horizontalDotsPerUnitOfLength(unit), sizePixels.height() / verticalDotsPerUnitOfLength(unit));
}
示例9: r1
** contributors may be used to endorse or promote products derived
** from this software without specific prior written permission.
**
**
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
**
** $QT_END_LICENSE$
**
****************************************************************************/
//! [0]
QRect r1(100, 200, 11, 16);
QRect r2(QPoint(100, 200), QSize(11, 16));
//! [0]
//! [1]
QRectF r1(100.0, 200.1, 11.2, 16.3);
QRectF r2(QPointF(100.0, 200.1), QSizeF(11.2, 16.3));
//! [1]
示例10: QSizeF
QSizeF PageMetrics::pxPageSize() const
{
return QSizeF(m_pxPageSize.width(),
m_pxPageSize.height());
}
示例11: QSizeF
QSizeF QgsSymbolV2LegendNode::drawSymbol( const QgsLegendSettings& settings, ItemContext* ctx, double itemHeight ) const
{
QgsSymbolV2* s = mItem.symbol();
if ( !s )
{
return QSizeF();
}
// setup temporary render context
QgsRenderContext context;
context.setScaleFactor( settings.dpi() / 25.4 );
context.setRendererScale( settings.mapScale() );
context.setMapToPixel( QgsMapToPixel( 1 / ( settings.mmPerMapUnit() * context.scaleFactor() ) ) );
context.setForceVectorOutput( true );
context.setPainter( ctx ? ctx->painter : 0 );
//Consider symbol size for point markers
double height = settings.symbolSize().height();
double width = settings.symbolSize().width();
double size = 0;
//Center small marker symbols
double widthOffset = 0;
double heightOffset = 0;
if ( QgsMarkerSymbolV2* markerSymbol = dynamic_cast<QgsMarkerSymbolV2*>( s ) )
{
// allow marker symbol to occupy bigger area if necessary
size = markerSymbol->size() * QgsSymbolLayerV2Utils::lineWidthScaleFactor( context, s->outputUnit(), s->mapUnitScale() ) / context.scaleFactor();
height = size;
width = size;
if ( width < settings.symbolSize().width() )
{
widthOffset = ( settings.symbolSize().width() - width ) / 2.0;
}
if ( height < settings.symbolSize().height() )
{
heightOffset = ( settings.symbolSize().height() - height ) / 2.0;
}
}
if ( ctx )
{
double currentXPosition = ctx->point.x();
double currentYCoord = ctx->point.y() + ( itemHeight - settings.symbolSize().height() ) / 2;
QPainter* p = ctx->painter;
//setup painter scaling to dots so that raster symbology is drawn to scale
double dotsPerMM = context.scaleFactor();
int opacity = 255;
if ( QgsVectorLayer* vectorLayer = dynamic_cast<QgsVectorLayer*>( layerNode()->layer() ) )
opacity = 255 - ( 255 * vectorLayer->layerTransparency() / 100 );
p->save();
p->setRenderHint( QPainter::Antialiasing );
p->translate( currentXPosition + widthOffset, currentYCoord + heightOffset );
p->scale( 1.0 / dotsPerMM, 1.0 / dotsPerMM );
if ( opacity != 255 && settings.useAdvancedEffects() )
{
//semi transparent layer, so need to draw symbol to an image (to flatten it first)
//create image which is same size as legend rect, in case symbol bleeds outside its alloted space
QSize tempImageSize( width * dotsPerMM, height * dotsPerMM );
QImage tempImage = QImage( tempImageSize, QImage::Format_ARGB32 );
tempImage.fill( Qt::transparent );
QPainter imagePainter( &tempImage );
context.setPainter( &imagePainter );
s->drawPreviewIcon( &imagePainter, tempImageSize, &context );
context.setPainter( ctx->painter );
//reduce opacity of image
imagePainter.setCompositionMode( QPainter::CompositionMode_DestinationIn );
imagePainter.fillRect( tempImage.rect(), QColor( 0, 0, 0, opacity ) );
imagePainter.end();
//draw rendered symbol image
p->drawImage( 0, 0, tempImage );
}
else
{
s->drawPreviewIcon( p, QSize( width * dotsPerMM, height * dotsPerMM ), &context );
}
p->restore();
}
return QSizeF( qMax( width + 2 * widthOffset, ( double ) settings.symbolSize().width() ),
qMax( height + 2 * heightOffset, ( double ) settings.symbolSize().height() ) );
}
示例12: switch
QSizeF VlcQmlVideoObject::ratioSize(Vlc::Ratio ratio)
{
switch( ratio )
{
default:
case Vlc::Original:
return QSizeF(0,0);
break;
case Vlc::R_16_9:
return QSizeF(16,9);
break;
case Vlc::R_16_10:
return QSizeF(16,10);
break;
case Vlc::R_185_100:
return QSizeF(185,100);
break;
case Vlc::R_221_100:
return QSizeF(221,100);
break;
case Vlc::R_235_100:
return QSizeF(235,100);
break;
case Vlc::R_239_100:
return QSizeF(239,100);
break;
case Vlc::R_4_3:
return QSizeF(4,3);
break;
case Vlc::R_5_4:
return QSizeF(5,4);
break;
case Vlc::R_5_3:
return QSizeF(5,3);
break;
case Vlc::R_1_1:
return QSizeF(1,1);
break;
}
return QSizeF(0,0);
}
示例13: renderCodeEAN13
//.........这里部分代码省略.........
rect->setRotationAxis(r.topLeft());
page->addPrimitive(rect);
}
pos += bar_width;
}
}
// render center guard
pos += bar_width;
rect = new ORORect(bc);
rect->setPen(pen);
rect->setBrush(brush);
rect->setRect(QRectF(pos,top, bar_width,draw_height));
rect->setRotationAxis(r.topLeft());
page->addPrimitive(rect);
pos += (bar_width * 2.0);
rect = new ORORect(bc);
rect->setPen(pen);
rect->setBrush(brush);
rect->setRect(QRectF(pos,top, bar_width,draw_height));
rect->setRotationAxis(r.topLeft());
page->addPrimitive(rect);
pos += (bar_width * 2.0);
// render last set
for(i = 0; i < 6; i++)
{
b = val[i+7];
for(w = 0; w < 7; w++)
{
if(_encodings[b][RIGHTHAND][w])
{
rect = new ORORect(bc);
rect->setPen(pen);
rect->setBrush(brush);
rect->setRect(QRectF(pos,top, bar_width,draw_height-0.07));
rect->setRotationAxis(r.topLeft());
page->addPrimitive(rect);
}
pos += bar_width;
}
}
// render close guard
rect = new ORORect(bc);
rect->setPen(pen);
rect->setBrush(brush);
rect->setRect(QRectF(pos,top, bar_width,draw_height));
rect->setRotationAxis(r.topLeft());
page->addPrimitive(rect);
pos += (bar_width * 2.0);
rect = new ORORect(bc);
rect->setPen(pen);
rect->setBrush(brush);
rect->setRect(QRectF(pos,top, bar_width,draw_height));
rect->setRotationAxis(r.topLeft());
page->addPrimitive(rect);
QString parstr = QString("%1").arg(val[0]);
QString leftstr = QString().sprintf("%d%d%d%d%d%d",
val[1], val[2], val[3], val[4], val[5], val[6]);
QString rightstr = QString().sprintf("%d%d%d%d%d%d",
val[7], val[8], val[9], val[10], val[11], val[12]);
QFont font("Arial", 6);
OROTextBox * tb = new OROTextBox(bc);
tb->setPosition(QPointF(r.left(), r.top() + draw_height - 0.12));
tb->setSize(QSizeF(quiet_zone - 0.02, 0.12));
tb->setFont(font);
tb->setText(parstr);
tb->setFlags(Qt::AlignRight | Qt::AlignTop);
tb->setRotationAxis(r.topLeft());
page->addPrimitive(tb);
tb = new OROTextBox(bc);
tb->setPosition(QPointF(r.left() + quiet_zone + bar_width*3, (r.top() + draw_height) - 0.07));
tb->setSize(QSizeF(bar_width*40, 0.1));
tb->setFont(font);
tb->setText(leftstr);
tb->setFlags(Qt::AlignHCenter | Qt::AlignTop);
tb->setRotationAxis(r.topLeft());
page->addPrimitive(tb);
tb = new OROTextBox(bc);
tb->setPosition(QPointF(r.left() + quiet_zone + bar_width*50, (r.top() + draw_height) - 0.07));
tb->setSize(QSizeF(bar_width*40, 0.1));
tb->setFont(font);
tb->setText(rightstr);
tb->setFlags(Qt::AlignHCenter | Qt::AlignTop);
tb->setRotationAxis(r.topLeft());
page->addPrimitive(tb);
return;
}
示例14: QSizeF
void QgsLayoutTable::recalculateFrameSizes()
{
mTableSize = QSizeF( totalWidth(), totalHeight() );
QgsLayoutMultiFrame::recalculateFrameSizes();
}
示例15: QStringLiteral
bool QgsComposerLegend::readXml( const QDomElement &itemElem, const QDomDocument &doc )
{
if ( itemElem.isNull() )
{
return false;
}
//read general properties
mTitle = itemElem.attribute( QStringLiteral( "title" ) );
mSettings.setTitle( mTitle );
if ( !itemElem.attribute( QStringLiteral( "titleAlignment" ) ).isEmpty() )
{
mSettings.setTitleAlignment( static_cast< Qt::AlignmentFlag >( itemElem.attribute( QStringLiteral( "titleAlignment" ) ).toInt() ) );
}
int colCount = itemElem.attribute( QStringLiteral( "columnCount" ), QStringLiteral( "1" ) ).toInt();
if ( colCount < 1 ) colCount = 1;
mColumnCount = colCount;
mSettings.setColumnCount( mColumnCount );
mSettings.setSplitLayer( itemElem.attribute( QStringLiteral( "splitLayer" ), QStringLiteral( "0" ) ).toInt() == 1 );
mSettings.setEqualColumnWidth( itemElem.attribute( QStringLiteral( "equalColumnWidth" ), QStringLiteral( "0" ) ).toInt() == 1 );
QDomNodeList stylesNodeList = itemElem.elementsByTagName( QStringLiteral( "styles" ) );
if ( !stylesNodeList.isEmpty() )
{
QDomNode stylesNode = stylesNodeList.at( 0 );
for ( int i = 0; i < stylesNode.childNodes().size(); i++ )
{
QDomElement styleElem = stylesNode.childNodes().at( i ).toElement();
QgsLegendStyle style;
style.readXml( styleElem, doc );
QString name = styleElem.attribute( QStringLiteral( "name" ) );
QgsLegendStyle::Style s;
if ( name == QLatin1String( "title" ) ) s = QgsLegendStyle::Title;
else if ( name == QLatin1String( "group" ) ) s = QgsLegendStyle::Group;
else if ( name == QLatin1String( "subgroup" ) ) s = QgsLegendStyle::Subgroup;
else if ( name == QLatin1String( "symbol" ) ) s = QgsLegendStyle::Symbol;
else if ( name == QLatin1String( "symbolLabel" ) ) s = QgsLegendStyle::SymbolLabel;
else continue;
setStyle( s, style );
}
}
//font color
QColor fontClr;
fontClr.setNamedColor( itemElem.attribute( QStringLiteral( "fontColor" ), QStringLiteral( "#000000" ) ) );
mSettings.setFontColor( fontClr );
//spaces
mSettings.setBoxSpace( itemElem.attribute( QStringLiteral( "boxSpace" ), QStringLiteral( "2.0" ) ).toDouble() );
mSettings.setColumnSpace( itemElem.attribute( QStringLiteral( "columnSpace" ), QStringLiteral( "2.0" ) ).toDouble() );
mSettings.setSymbolSize( QSizeF( itemElem.attribute( QStringLiteral( "symbolWidth" ), QStringLiteral( "7.0" ) ).toDouble(), itemElem.attribute( QStringLiteral( "symbolHeight" ), QStringLiteral( "14.0" ) ).toDouble() ) );
mSettings.setWmsLegendSize( QSizeF( itemElem.attribute( QStringLiteral( "wmsLegendWidth" ), QStringLiteral( "50" ) ).toDouble(), itemElem.attribute( QStringLiteral( "wmsLegendHeight" ), QStringLiteral( "25" ) ).toDouble() ) );
mSettings.setLineSpacing( itemElem.attribute( QStringLiteral( "lineSpacing" ), "1.0" ).toDouble() );
mSettings.setDrawRasterStroke( itemElem.attribute( QStringLiteral( "rasterBorder" ), QStringLiteral( "1" ) ) != QLatin1String( "0" ) );
mSettings.setRasterStrokeColor( QgsSymbolLayerUtils::decodeColor( itemElem.attribute( QStringLiteral( "rasterBorderColor" ), QStringLiteral( "0,0,0" ) ) ) );
mSettings.setRasterStrokeWidth( itemElem.attribute( QStringLiteral( "rasterBorderWidth" ), QStringLiteral( "0" ) ).toDouble() );
mSettings.setWrapChar( itemElem.attribute( QStringLiteral( "wrapChar" ) ) );
mSizeToContents = itemElem.attribute( QStringLiteral( "resizeToContents" ), QStringLiteral( "1" ) ) != QLatin1String( "0" );
//composer map
mLegendFilterByMap = itemElem.attribute( QStringLiteral( "legendFilterByMap" ), QStringLiteral( "0" ) ).toInt();
if ( !itemElem.attribute( QStringLiteral( "map" ) ).isEmpty() )
{
setComposerMap( mComposition->getComposerMapById( itemElem.attribute( QStringLiteral( "map" ) ).toInt() ) );
}
// QGIS >= 2.6
QDomElement layerTreeElem = itemElem.firstChildElement( QStringLiteral( "layer-tree" ) );
if ( layerTreeElem.isNull() )
layerTreeElem = itemElem.firstChildElement( QStringLiteral( "layer-tree-group" ) );
setCustomLayerTree( QgsLayerTree::readXml( layerTreeElem ) );
//restore general composer item properties
QDomNodeList composerItemList = itemElem.elementsByTagName( QStringLiteral( "ComposerItem" ) );
if ( !composerItemList.isEmpty() )
{
QDomElement composerItemElem = composerItemList.at( 0 ).toElement();
_readXml( composerItemElem, doc );
}
// < 2.0 projects backward compatibility >>>>>
//title font
QString titleFontString = itemElem.attribute( QStringLiteral( "titleFont" ) );
if ( !titleFontString.isEmpty() )
{
rstyle( QgsLegendStyle::Title ).rfont().fromString( titleFontString );
}
//group font
QString groupFontString = itemElem.attribute( QStringLiteral( "groupFont" ) );
if ( !groupFontString.isEmpty() )
{
rstyle( QgsLegendStyle::Group ).rfont().fromString( groupFontString );
}
//layer font
//.........这里部分代码省略.........