QPrintPreviewDialog Class Reference
[QtGui module]

该类提供一个打印预览的对话框。
#include
继承QDialog
公共函数:
QPrintPreviewDialog  ( QPrinter * printer, QWidget *parent = 0, Qt::WindowFlags flags = 0 )
 
QPrintPreviewDialog  ( QWidget * parent = 0, Qt::WindowFlags flags = 0 )
 
~QPrintPreviewDialog  ()
void
open  ( QObject * receiver, const char * member )
QPrinter *
printer  ()
重载公共函数
virtual void
done  ( int result )
virtual void
setVisible  ( bool visible )
8个公共函数继承从QDialog
216个公共函数继承从QWidget
29个公共函数继承从QObject
12个公共函数继承从QPaintDevice
信号
void
paintRequested  ( QPrinter * printer )
3个信号继承从QDialog
1个信号继承从QWidget
1个信号继承从QObject
其他继承的函数
  • 2 properties inherited from QDialog
  • 58 properties inherited from QWidget
  • 1 property inherited from QObject
  • 5 public slots inherited from QDialog
  • 19 public slots inherited from QWidget
  • 1 public slot inherited from QObject
  • 4 static public members inherited from QWidget
  • 5 static public members inherited from QObject
  • 7 protected functions inherited from QDialog
  • 37 protected functions inherited from QWidget
  • 7 protected functions inherited from QObject
  • 1 protected function inherited from QPaintDevice
  • 1 protected slot inherited from QWidget
 
详细描述
使用该类在你存在的应用中,是简单的
1.       创建该类
你能构造一个该类用一个存在的QPrinter对象,或者你能用QPrintPreviewDialog来创建一个为你,这将是系统默认的指针。
2.       连接paintRequested()信号到一个槽
当对话框需要产生一系列预览页时,paintRequested()信号将被发出。你能使用准确的相同的代码为实际的打印就像有预览被产生,包括调用QPrinter::newPage()来开始一个新页。连接一个槽到paintRequested()信号,那里你将画出QPinter对象。
3.       调用exec()
调用 QPrintPreviewDialog::exec() 来显示预览框。
See also QPrinterQPrintDialogQPageSetupDialog, and QPrintPreviewWidget.
 
成员函数文件

QPrintPreviewDialog::QPrintPreviewDialog ( QPrinter * printer, QWidget * parent= 0, Qt::WindowFlags flags = 0 )

构造一个QPrintPreviewDialogprinter的基础上,用parent作为parent widgetWidget flags将被传到QWidget构造器。
See also QWidget::setWindowFlags().

QPrintPreviewDialog::QPrintPreviewDialog ( QWidget * parent = 0,Qt::WindowFlags flags = 0 )

重载函数。这将产生一个内部的QPrinter对象,他将使用系统默认的printer

QPrintPreviewDialog::~QPrintPreviewDialog ()

摧毁一个QPrintPreviewDialog()

void QPrintPreviewDialog::done ( int result )   [virtual]

 
重载从 QDialog::done().

void QPrintPreviewDialog::open ( QObject * receiver, const char * member )

这是一个重载函数。
打开对话框,连接它的结束信号到一个特别的槽,通过receivermember
这个信号将被断开从槽中,当对话框是关闭的

void QPrintPreviewDialog::paintRequested ( QPrinter * printer )   [signal]

这个信号时发出当QPrintPreviewDialog需要被产生一系列预览页时。
这个printer例子是包含要打印的每一页。

QPrinter * QPrintPreviewDialog::printer ()

返回一个指针到QPrinter对象,指向目前打开的对话框

void QPrintPreviewDialog::setVisible ( bool visible )   [virtual]

重载从  QWidget::setVisible().
 
 
附上我的一小段函数供大家参考!!!!
 
void MainWindow::on_pushButton_print_clicked()
{
    QPrinter printer(QPrinter::HighResolution);
    QPrintDialog *dlg = new QPrintDialog(&printer,this);
    if(ui->textEdit->textCursor().hasSelection()){
        dlg->addEnabledOption(QAbstractPrintDialog::PrintSelection);
    }
    dlg->setWindowTitle(tr("Print test"));
    if(dlg->exec()==QDialog::Accepted){
        ui->textEdit->print(&printer);
    }
    delete dlg;
}
 
void MainWindow::on_pushButton_printpreview_clicked()
{
    QPrinter printer(QPrinter::HighResolution);
    QPrintPreviewDialog preview(&printer,this);
    connect(&preview, SIGNAL(paintRequested(QPrinter *)),this,SLOT(printPreview(QPrinter *)));
    preview.exec();
}
 
void MainWindow::printPreview(QPrinter *printer)
{
    ui->textEdit->print(printer);
}