qt编程幻灯片-第五章-应用程序主窗口

上传人:F****n 文档编号:88261170 上传时间:2019-04-22 格式:PPT 页数:24 大小:1.52MB
返回 下载 相关 举报
qt编程幻灯片-第五章-应用程序主窗口_第1页
第1页 / 共24页
qt编程幻灯片-第五章-应用程序主窗口_第2页
第2页 / 共24页
qt编程幻灯片-第五章-应用程序主窗口_第3页
第3页 / 共24页
qt编程幻灯片-第五章-应用程序主窗口_第4页
第4页 / 共24页
qt编程幻灯片-第五章-应用程序主窗口_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《qt编程幻灯片-第五章-应用程序主窗口》由会员分享,可在线阅读,更多相关《qt编程幻灯片-第五章-应用程序主窗口(24页珍藏版)》请在金锄头文库上搜索。

1、Linux图形编程QT,QT 编程第五章 应用程序主窗口,目标: 本章旨在向学员介绍各种应用程序主窗口的相关内容: 掌握应用程序主窗口各部分使用方法。 掌握富文本处理,拖放等相关技术。,学时:3 学时 教学方法:讲授ppt上机操作+实例演示,应用程序主窗口,窗口类的继承体系,QObject,QAction,QActionGroup,QWidget,QFrame,QDockWidget,QStatusBar,QWidgetAction,QMainWindow,QMenuBar,QToolBar,QSizeGrip,QMidSubWindow,QMenu,QAbstractScrollArea,Q

2、PlainTextEdit,QTextEdit,QMidArea,QTextBrowser,主程序窗口框架,菜单栏,工具栏,Dock部件,状态栏,中心部件,一个widget就是一个窗口, Qt提供一个QMainWindow类 管理主窗口程序,菜单栏,Desinger中编辑菜单,在Desinger中向 Action编辑器中 拖入菜单,菜单栏,通过代码编辑菜单,/ 添加编辑菜单 QMenu *editMenu = ui-menuBar-addMenu(tr(“编辑(,QMenuBar: 菜单栏管理类 QMenu : 菜单窗体组件 QAction : 抽象用户界面操作,工具栏,QToolBar:包含

3、了一组控件的可移动面板,/ 在工具栏中添加动作 ui-mainToolBar-addAction(action_Open); / 向工具栏添加QToolButton按钮 ui-mainToolBar-addWidget(toolBtn); / 创建QSpinBox QSpinBox *spinBox = new QSpinBox(this); / 向工具栏添加QSpinBox部件 ui-mainToolBar-addWidget(spinBox);,QToolBar: 菜单栏管理类 addWidget: 插入一个窗体 addAction: 选项添加到工具栏,中心部件,在窗口的中心区约放置一个中

4、心部件 对于文档程序来讲一般是一个QTextEdit。,/ 新建文本编辑器部件 QTextEdit *edit = new QTextEdit(this); / 使用QMdiArea类的addSubWindow()函数 /创建子窗口,以文本编辑器为中心部件 QMdiSubWindow *child = ui-mdiArea-addSubWindow(edit); child-setWindowTitle(tr(“多文档编辑器子窗口“); / 显示子窗口 child-show();,addSubWindow: 创建子窗口 show: 显示子窗口,Dock部件,QDockWidget 可以停靠在中

5、心部件的旁边 可以悬浮在主窗口上面 就像一个工具箱,放置其他部件,状态栏,状态信息分为三类:临时信息,一般信息,永久信息。 临时信息: showMessage 一般信息: addWidget 永久信息: addPermanentWidget,/ 显示临时消息,显示2000毫秒即2秒钟 ui-statusBar- showMessage(tr(“欢迎“),2000); / 创建标签 QLabel *permanent = new QLabel(this); / 标签样式 permanent-setFrameStyle( QFrame:Box | QFrame:Sunken); / 显示信息 pe

6、rmanent-setText(“welcom“); / 将标签设置为永久部件 ui-statusBar- addPermanentWidget(permanent);,自定义菜单,菜单中是否可以添加各种部件?-使用自定义菜单,创建继承QWidgetAction的类 class MyAction : public QWidgetAction 实现createWidget虚函数,添加部件 QWidget* createWidget(QWidget *parent),富文本处理,富文本文档中可以使用颜色,字体,表格等多种格式。 QTextEdit是一个高级的所见即所得的支持使用HTML风格标记的多

7、信息文本格式的查看器/编辑器。,QTextEdit,QTextCursor,QTextDocument,QTextFrameFormat,QTextFrame,QTextBlockFormat,QTextBlock,QTextTableFormat,QTextTable,QTextListFormat,QTextList,文本块,一个文本块可以看作一个段落,回车换行可以看作一个新的文本块。,遍历文本方法 QTextDocument *document = ui-textEdit-document(); / 获取文档的第一个文本块 QTextBlock block = document-firs

8、tBlock(); for(int i=0; iblockCount(); i+) qDebug() tr(“文本块%1, 文本块首行行号为:%2, 长度为:%3,内容为:“).arg(i).arg( block.firstLineNumber(). arg(block.length() block.text(); / 获取下一个文本块 block = block.next();,表格 列表 图片,编辑器中可以插入表格列表图片。,插入列表 insertTable 插入表格 insertList 插入图片 insertImage,查找功能,bool QTextEdit:find ( const

9、QString & exp, QTextDocument:FindFlagsoptions = 0 ),bool isfind = ui-textEdit-find( string, QTextDocument:FindBackward);,语法高亮,语法高亮:输入关键字时会显示不同的颜色。,class MySyntaxHighlighter : public QSyntaxHighlighter void MySyntaxHighlighter:highlightBlock(const QString /对要匹配的字符串设置格式 setFormat(index, length, myForm

10、at ,HTML,QTextEdit:支持使用HTML标签和CSS属性,/ 在编辑器中添加文本并且使用html标签 ui-textEdit-append( tr(“使用HTML“);,拖放打开文件,事件: 拖动进入事件(drag) void MainWindow:dragEnterEvent 放下事件 (drop) void MainWindow:dropEvent,事件函数 接收动作:acceptProposedAction 忽略该事件:ignore,自定义拖放,事件: 鼠标按下事件 MainWindow:mousePressEvent 拖动进入事件 void MainWindow:drag

11、EnterEvent 拖动事件 void MainWindow:dragMoveEvent 放下事件 void MainWindow:dropEvent,打印文档,打印机对象 QPrinter 打印对话框 QPrintDialog 选中区域 QPrintDialog:addEnabledOption 按下了打印按钮 QPrintDialog :Accepte,打印预览,创建打印预览对话框 QPrintPreviewDialog 需要关联相关的信号槽 connect( ,打印PDF,QPrinter printer; / 指定输出格式为pdf printer.setOutputFormat(QPrinter:PdfFormat); printer.setOutputFileName(fileName); ui-textEdit-print(,谢谢!,Copyright 2008 版权所有 东软集团,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号