本文整理汇总了C++中QPrinter::margins方法的典型用法代码示例。如果您正苦于以下问题:C++ QPrinter::margins方法的具体用法?C++ QPrinter::margins怎么用?C++ QPrinter::margins使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QPrinter
的用法示例。
在下文中一共展示了QPrinter::margins方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: print
void AccountsView::print( QPrinter &printer, QPrintDialog &printDialog )
{
//kDebug(planDbg());
uint top, left, bottom, right;
printer.margins( &top, &left, &bottom, &right );
//kDebug(planDbg())<<m.width()<<"x"<<m.height()<<" :"<<top<<","<<left<<","<<bottom<<","<<right<<" :"<<size();
QPainter p;
p.begin( &printer );
p.setViewport( left, top, printer.width() - left - right, printer.height() - top - bottom );
p.setClipRect( left, top, printer.width() - left - right, printer.height() - top - bottom );
QRect preg = p.clipRegion().boundingRect();
//kDebug(planDbg())<<"p="<<preg;
//p.drawRect(preg.x(), preg.y(), preg.width()-1, preg.height()-1);
double scale = qMin( ( double ) preg.width() / ( double ) size().width(), ( double ) preg.height() / ( double ) ( size().height() ) );
//kDebug(planDbg())<<"scale="<<scale;
if ( scale < 1.0 ) {
p.scale( scale, scale );
}
QPixmap labelPixmap = QPixmap::grabWidget( m_label );
p.drawPixmap( m_label->pos(), labelPixmap );
p.translate( 0, m_label->size().height() );
m_dlv->paintContents( &p );
p.end();
}