关于Qt打印~求助~各位大神行行好~

ff007bit 2011-01-11 08:39:13
大家好,小弟最近在用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,有源代码希望可以发一份,供我参考.
...全文
127 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ff007bit 2011-01-15
  • 打赏
  • 举报
回复
谢谢4楼~解决了
  • 打赏
  • 举报
回复
QTextDocument textdocument;你声明了这个类型的变量,打印是通过它在进行
而前面又声明了QPainter painter(&printer);
这两个只能用一个,要么用QTextDocument,它内置了打印功能
要么用QPainter painter(&printer),自己画出要打印的东西
ff007bit 2011-01-12
  • 打赏
  • 举报
回复
我试了试
打印出来的pdf为空..什么都没用
但要是把这句话注掉 QPainter painter(&printer);
就能显示了,这是为什么??????
ff007bit 2011-01-12
  • 打赏
  • 举报
回复
谢谢,我试试~
  • 打赏
  • 举报
回复
如果没有打印机,可以设置打印格式为PDF,输出PDF文件察看打印效果

16,216

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧