QPrintPreviewDialog Class Reference
[QtGui module]
该类提供一个打印预览的对话框。
#include <QPrintPreviewDialog>
继承
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 QPrinter, QPrintDialog, QPageSetupDialog, and QPrintPreviewWidget.
成员函数文件
QPrintPreviewDialog::QPrintPreviewDialog ( QPrinter * printer, QWidget * parent= 0, Qt::WindowFlags flags = 0 )
构造一个
QPrintPreviewDialog
在
printer
的基础上,用
parent
作为
parent widget
。
Widget 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 )
这是一个重载函数。
打开对话框,连接它的结束信号到一个特别的槽,通过
receiver
和
member
这个信号将被断开从槽中,当对话框是关闭的
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);
}