文章目录
1 文本编辑器实现文本打印的功能1 文本编辑器实现文本打印的功能
我们首先来看下QPlainTextEdit内部的文档结构:
QPlainTextEdit通过QTextDocument对象存储文本数据。QPlainTextEdit本身只负责界面形态的显示。
QTextDocument是标识文本以及文本属性的数据类:
设置文本的属性:排版、字体、标题等。获取文本参数:行数、文本宽度、文本信息等。实现标准操作:撤销、重做、查找、打印等。
打印功能的实现步骤:
连接QAction打印对象的信号到槽函数。
在槽函数中定义QPrintDialog对象。根据用户选择获取QPrinter对象。通过QTextDocument对象进行打印。
void MainWindow::onFilePrint(){QPrintDialog dlg(this);dlg.setWindowTitle("Print");if( dlg.exec() == QPrintDialog::Accepted ){QPrinter* p = dlg.printer();mainEditor.document()->print(p);}}
参考资料:
QT实验分析教程