大家好,小弟最近在用Qt做一个管理系统,其他的
部分经过小弟千辛万苦终于磕磕绊绊,糊里糊涂地做出来了,就剩下一个打印模块了.系统是连接
数据库的,要求把数据库中的数据以表格形式直接打印出来,而且打印的页面上面要写几行文字,中间是那个表格,最后还有落款.
因为是初学Qt,没什么头绪,查了一些资料,学着写了写代码,诸大神请过目:
- QPrinter printer(QPrinter::ScreenResolution);
- QPrintDialog *dialog=new QPrintDialog(&printer,this); //打印对话框
- dialog->setWindowTitle(tr("快速打印"));
- if( dialog->exec() )
- {
- QString html;
- QPainter painter(&printer); //@@@
- /*设置头部*/
- QTextDocument textdocument;
- html=tr("<div align=\"center\">\n<div>\n<p></p>\n"
- "<p><font size=\"+5\">*********************************</font></p>\n"
- "<p><font size=\"+3\">************************</font></p>\n"
- "<p><font size=\"+3\">***********************</font></p>\n</div>\n");
- textdocument.setHtml(html); //用html语言设置页面
- textdocument.print(&printer); //打印
- }//@@@
上面只写了页面的上部,******表示文字
我的
问题是:1.看资料,可以通过HTML+QTextDocument实现打印页面设置,上面的方法和代码对吗?
2.因为硬件条件不够,暂时
没有打印机,无法验证,想问问上面的代码能实现打印吗?每次到选择打印设备时,为了让代码继续运行,我只能选择一个默认的Microsoft XPS Document Writer的东西,之后系统就会在@@@位置弹出另存为.xps的
对话框,请问那个东西是什么,是我的代码有问题还是只是没选打印机的缘故.
3.如何实现打印预览?
本人邮箱
ff007bit@163.com,有源代码希望可以发一份,供我参考.