您的位置:首页 > 编程语言 > Qt开发

[转] QT 小票打印

2010-09-08 22:03 260 查看
原地址: http://www.cppblog.com/biao/archive/2009/09/08/95603.html

QString htmlString = QString("<html>") + str1 + str2 +str3 + finerysInfo + str5 + str6

+ QString("<br>%1<br>%2").arg(separateString) + QString("</html>");

printString(htmlString);

accept();

}

void PrintDialog::printString(const QString &htmlString) {

qDebug() << htmlString;

QPrinter p;

QTextDocument doc;

//doc.setHtml(htmlString);

QFont font = doc.defaultFont();

font.setBold(true);

font.setPointSize(font.pointSize() + 1);

doc.setDefaultFont(font);

QSizeF s = QSizeF(p.logicalDpiX() * (58 / 25.4), p.logicalDpiY() * (297 / 25.4));

doc.setPageSize(s);

p.setOutputFormat(QPrinter::NativeFormat);

// 打N页

int pageCount = ui->pageCountLineEdit->text().toInt();

for (int i = 1; i <= pageCount; ++i) {

// 如果只打印一份,即只打印店联

if (1 == pageCount) {

if (Receive_Finery == operationType) {

doc.setHtml(htmlString.arg(tr("店联")));

} else {

doc.setHtml(htmlString.arg(tr("客户联")));

}

} else {

if (i % 2 != 0) {

doc.setHtml(htmlString.arg(tr("客户联")));

} else {

doc.setHtml(htmlString.arg(tr("店联")));

}

}

doc.print(&p);

if (i < pageCount) {

p.newPage();

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: