#include "widget.h"
#include "ui_widget.h"
#include <QPainter>
#include <QFile>
#include <QTextStream>
#include <QTextDocument>
#include <QPrintPreviewDialog>
#include <QPrinter>
#include <QPlainTextEdit>
#include <QDebug>
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
QFile file("cth.txt");
if (!file.open(QIODevice::ReadOnly))
{
return;
}
QTextStream out(&file);
QString output = out.readAll();
// 打印
qDebug()<<output;
printer= new QPrinter;
printer->setPaperSize(QPrinter::A4);
printer->setOutputFormat(QPrinter::PdfFormat);
printer->setOutputFileName("report.pdf");
//QPrintDialog dialog(&printer, this);
//if (dialog.exec())
//{
// QPainter painter(&printer);
textDocument =new QTextDocument(this);
textDocument->setHtml(output);
//textDocument->print(printer);
//}
file.close();
// 打印预览
QPrintPreviewDialog *dialog = new QPrintPreviewDialog(this);
connect(dialog, SIGNAL(paintRequested(QPrinter*)),this,SLOT(slotPrint(QPrinter*)));
dialog->exec();
}
Widget::~Widget()
{
delete ui;
}
void Widget::changeEvent(QEvent *e)
{
QWidget::changeEvent(e);
switch (e->type()) {
case QEvent::LanguageChange:
ui->retranslateUi(this);
break;
default:
break;
}
}
void Widget::slotPrint(QPrinter* printer)
{
textDocument->print(printer);
}