自定义菜单
1.右键菜单
右键菜单实现:通过重写contextMenuEvent(QContextMenuEvent *event)事件,QMenu+QAction即可实现!
2.按钮菜单
使用QPushButton(QToolButton)+QMenu+QAction即可实现!界面拖入一个pushButton按钮;
3.托盘菜单
托盘菜单实现:通过QSystemTrayIcon+QMenu+QAction实现;
富文本的处理
1.操作方式
编辑操作:使用基于光标的接口函数,模拟用户的编辑操作,且不丢失底层文档框架;文档的光标基于QTextCursor类
只读操作:使用了只读的分层次接口函数,有利于文档的检索和输出;文档的框架基于QTextDocument
2.富文本文档的结构
结构元素:框架(QTextFrame),文本块(QTextBlock),表格(QTextTable),列表(QTextList)
对应格式:框架格式(QTextFrameFormat),文本块格式(QTextBlockFormat),表格格式(QTextTableFormat),列表格式(QTextListFrame)
格式是在编辑文档时与QTextCursor配合使用
3. QTextEdit是一个富文本编辑器,在构建QTextEdit对象时就已经构建了一个QTextDocument对象和一个QTextCursor对象。空文档:包含根框架(rootFrame),文本块(Block)
运行5-2代码,得到的运行结果如下图所示:
QT打印的步骤
(1).创建绘图设备的QPrinter;
(2).弹出打印对话框,QPrintDialog,允许用户选择打印机,设置属性等;
(3).创建一个QPrinter的QPainter;
(4).用QPainter绘制一页;
(5).调用QPrinter::newPage(),然后绘制下一页;
(6)重复步骤4,5,直到打印完所有页。
操作系统打印的两种方式
(1).调用内核外壳打印函数
(2).使用QT自定义的类和函数实现打印文件的功能