qt tableb view 打印预览和打印的问题 个人解决办法
来源:互联网 发布:编码器编程程序接线图 编辑:程序博客网 时间:2024/05/21 21:40
好了长话短说 因为tableview 不提供print 函数 ,所以 要实现打印现在基本是基于 两种 一种是利用render 函数 一种是利用 html 来实现 我个人因为在用render方法的时候 打印预览是空白的 (同事使用相同的代码,在qt4.8+vs2008可以实现) 所以使用了html 来实现 。OK贴代码
// 打印预览
QPrinterprinter(QPrinter::ScreenResolution);
QPrintPreviewDialog preview(&printer);
connect(&preview, SIGNAL(paintRequested(QPrinter *)),this,SLOT(print(QPrinter* )));
preview.exec();//打印QString strStream,strTitle;QTextStream out(&strStream);strTitle="carman——feng";const int rowCount = ui->tableView->model()->rowCount();const int columnCount = ui->tableView->model()->columnCount();out << "<html>\n""<head>\n""<meta Content=\"Textml; charset=Windows-1251\">\n"<< QString("<title>%1</title>\n").arg(strTitle)<< "</head>\n""<body bgcolor=#ffffff link=#5000A0>\n""<table border=1 cellspacing=0 cellpadding=2>\n";// headersout << "<thead><tr bgcolor=#f0f0f0>";for (int column = 0; column < columnCount; ++column)if (!ui->tableView->isColumnHidden(column))out << QString("<th>%1</th>").arg(ui->tableView->model()->headerData(column, Qt::Horizontal).toString());out << "</tr></thead>\n";// data tablefor (int row = 0; row < rowCount; ++row){out << "<tr>";for (int column = 0; column < columnCount; ++column){if (!ui->tableView->isColumnHidden(column)) {QString data = ui->tableView->model()->data(ui->tableView->model()->index(row, column)).toString().simplified();out << QString("<td bkcolor=0>%1</td>").arg((!data.isEmpty()) ? data : QString(" "));}}out << "</tr>\n";}out << "</table>\n""</body>\n""<ml>\n";QTextDocument *document = new QTextDocument();document->setHtml(strStream);document->print(printer);
html的方法在qt 5.5 \5.6 版本的minGW 测试 可行
0 0
- qt tableb view 打印预览和打印的问题 个人解决办法
- DataGrid的打印预览和打印
- DataGrid的打印预览和打印
- Java 打印的文本文件和打印预览
- MyReport:DataGrid的打印和打印预览
- MyReport:DataGrid的打印和打印预览
- Qt打印预览
- Qt打印预览
- Qt 打印预览以及打印功能的实现
- c#打印和打印预览
- 打印和打印预览机制
- Devpexpress 打印预览问题
- MFC--打印和预览
- 一个关于打印预览的问题
- 在C#里实现DATAGRID的打印预览和打印
- 在C#里实现DATAGRID的打印预览和打印
- 在C#里实现DATAGRID的打印预览和打印
- VC中基于CEditView的打印和打印预览设计
- MS SQL Server:分区表、分区索引 详解
- android环境搭建
- 防刷新,只有关闭浏览器才会增加点击量
- Caffe研究实践 四 -------lenet_train_test.prototxt分析
- Linux上JDK的安装和卸载
- qt tableb view 打印预览和打印的问题 个人解决办法
- AsyncTask 异步加载网络图片简单应用
- HTTPS的误解(二)
- ctf练习---ASCII码而已
- 在没SQL Server数据库情况下怎么打开.MDF文件?
- 阅读图书翻页
- Michael的Python笔记(一)
- EditText中英文混输限制长度
- Smobiler如何开启日志功能