Qt之主窗口设计——打印文本

简介:

image

printtext.h

  1. #ifndef PRINTTEXT_H  
  2. #define PRINTTEXT_H  
  3.   
  4. #include <QtGui>  
  5.   
  6.   
  7. class PrintText : public QMainWindow  
  8. {  
  9.     Q_OBJECT  
  10.   
  11. public:  
  12.     PrintText(QWidget *parent = 0, Qt::WFlags flags = 0);  
  13.     ~PrintText();  
  14.   
  15.     void createActions();  
  16.     void createMenu();  
  17.     void createToolBars();  
  18.   
  19. public slots:  
  20.     void sl_Print();  
  21.   
  22. private:  
  23.     QTextEdit *edtText;  
  24.   
  25.     QAction *printerAction;  
  26.     QMenu *fileMenu;  
  27.     QToolBar *fileToolBar;  
  28.       
  29. };  
  30.   
  31. #endif // PRINTTEXT_H  

printtext.cpp

  1. #include "printtext.h"  
  2. #include <QFont>  
  3. #include <QTextEdit>  
  4. #include <QPrinter>  
  5. #include <QTextDocument>  
  6. #include <QPrintDialog>  
  7.   
  8. PrintText::PrintText(QWidget *parent, Qt::WFlags flags)  
  9.     : QMainWindow(parent, flags)  
  10. {  
  11.     QFont f("ZYSong18030",12);  
  12.     setFont(f);  
  13.     setWindowTitle(tr("Printer"));  
  14.   
  15.     edtText = new QTextEdit(this);  
  16.     setCentralWidget(edtText);  
  17.   
  18.     createActions();  
  19.     createMenu();  
  20.     createToolBars();  
  21.   
  22.     QFile file("QPrinter.txt");  
  23.     if(file.open(QIODevice::ReadOnly | QIODevice::Text))  
  24.     {  
  25.         QTextStream textStream(&file);  
  26.         while (!textStream.atEnd())  
  27.         {  
  28.             edtText->append(textStream.readLine());  
  29.         }  
  30.         file.close();  
  31.     }  
  32. }  
  33.   
  34. PrintText::~PrintText()  
  35. {  
  36.   
  37. }  
  38.   
  39. void PrintText::sl_Print()  
  40. {  
  41.     QPrinter printer;  
  42.     QPrintDialog    printDlg(&printer,this);  
  43.     if(printDlg.exec())  
  44.     {  
  45.         QTextDocument *doc = edtText->document();  
  46.         doc->print(&printer);  
  47.     }  
  48. }  
  49.   
  50. void PrintText::createActions()  
  51. {  
  52.     //"打印"动作  
  53.     printerAction = new QAction(QIcon("images/print.png"),tr("print"),this);  
  54.     printerAction->setShortcut(tr("Ctrl+P"));  
  55.     printerAction->setStatusTip(tr("Print Text"));  
  56.     connect(printerAction,SIGNAL(triggered()),this,SLOT(sl_Print()));  
  57. }  
  58.   
  59. void PrintText::createToolBars()  
  60. {  
  61.     //文件工具栏  
  62.     fileToolBar = addToolBar("File");  
  63.     fileToolBar->addAction(printerAction);  
  64. }  
  65.   
  66. void PrintText::createMenu()  
  67. {  
  68.     //文件菜单  
  69.     fileMenu = menuBar()->addMenu("File");  
  70.     fileMenu->addAction(printerAction);  
  71. }  
作者: 韩兆新
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
分类:  [02]Qt语言基础
标签:  Qt学习笔记

本文转自韩兆新博客博客园博客,原文链接:http://www.cnblogs.com/hanzhaoxin/archive/2012/11/24/2786373.html,如需转载请自行联系原作者
目录
相关文章
|
1月前
【Qt 学习笔记】Qt窗口 | 标准对话框 | 消息对话框QMessageBox
【Qt 学习笔记】Qt窗口 | 标准对话框 | 消息对话框QMessageBox
296 4
【Qt 学习笔记】Qt窗口 | 标准对话框 | 消息对话框QMessageBox
|
1月前
|
C++ Windows
Qt 窗口置顶
Qt 窗口置顶
68 1
|
1月前
【Qt 学习笔记】Qt窗口 | 标准对话框 | 文件对话框QFileDialog
【Qt 学习笔记】Qt窗口 | 标准对话框 | 文件对话框QFileDialog
348 4
|
1月前
|
数据安全/隐私保护
【Qt 学习笔记】Qt窗口 | 对话框 | 模态与非模态对话框的创建
【Qt 学习笔记】Qt窗口 | 对话框 | 模态与非模态对话框的创建
206 4
|
1月前
|
搜索推荐 C++
【Qt 学习笔记】Qt窗口 | 对话框 | 创建自定义对话框
【Qt 学习笔记】Qt窗口 | 对话框 | 创建自定义对话框
41 4
|
1月前
|
API UED
【Qt 学习笔记】Qt窗口 | 状态栏 | QStatusBar的使用及说明
【Qt 学习笔记】Qt窗口 | 状态栏 | QStatusBar的使用及说明
157 4
|
1月前
【Qt 学习笔记】Qt窗口 | 标准对话框 | 输入对话框QInputDialog
【Qt 学习笔记】Qt窗口 | 标准对话框 | 输入对话框QInputDialog
109 3
|
1月前
|
数据可视化
【Qt 学习笔记】Qt窗口 | 标准对话框 | 字体对话框QFontDialog
【Qt 学习笔记】Qt窗口 | 标准对话框 | 字体对话框QFontDialog
51 3
|
1月前
【Qt 学习笔记】Qt窗口 | 标准对话框 | 颜色对话框QColorDialog
【Qt 学习笔记】Qt窗口 | 标准对话框 | 颜色对话框QColorDialog
234 3
|
1月前
【Qt 学习笔记】Qt窗口 | 对话框 | Qt对话框的分类及介绍
【Qt 学习笔记】Qt窗口 | 对话框 | Qt对话框的分类及介绍
79 3