收藏 分销(赏)

QT编程应用程序主窗口.pptx

上传人:a199****6536 文档编号:4864481 上传时间:2024-10-16 格式:PPTX 页数:24 大小:1.44MB 下载积分:10 金币
下载 相关 举报
QT编程应用程序主窗口.pptx_第1页
第1页 / 共24页
QT编程应用程序主窗口.pptx_第2页
第2页 / 共24页


点击查看更多>>
资源描述
3 Sept.2008 Neusoft ConfidentialLinux图形编程图形编程QTQT 编程编程第五章第五章 应用程序主窗口应用程序主窗口目标:本章旨在向学员介绍各种应用程序主窗口的相关内容:掌握应用程序主窗口各部分使用方法。掌握富文本处理,拖放等相关技术。学时:学时:3 3 学时学时教学方法:讲授教学方法:讲授pptppt上机操上机操作作+实例演示实例演示应用程序主窗口应用程序主窗口窗口类的继承体系QObjectQActionQActionGroupQWidgetQFrameQDockWidgetQStatusBarQWidgetActionQMainWindowQMenuBarQToolBarQSizeGripQMidSubWindowQMenuQAbstractScrollAreaQPlainTextEditQTextEditQMidAreaQTextBrowser主程序窗口框架主程序窗口框架菜单栏工具栏Dock部件状态栏中心部件一个widget就是一个窗口,Qt提供一个QMainWindow类管理主窗口程序菜单栏菜单栏Desinger中编辑菜单在Desinger中向Action编辑器中拖入菜单菜单栏菜单栏通过代码编辑菜单/添加编辑菜单 QMenu*editMenu=ui-menuBar-addMenu(tr(编辑(&E);/添加打开菜单 QAction*action_Open=editMenu-addAction(QIcon(:/myImage/images/open.png),tr(打开文件(&O);/设置快捷键action_Open-setShortcut(QKeySequence(Ctrl+O);/在工具栏中添加动作 ui-mainToolBar-addAction(action_Open);QMenuBar:菜单栏管理类QMenu:菜单窗体组件QAction:抽象用户界面操作工具栏工具栏QToolBar:包含了一组控件的可移动面板:包含了一组控件的可移动面板 /在工具栏中添加动作 ui-mainToolBar-addAction(action_Open);/向工具栏添加QToolButton按钮 ui-mainToolBar-addWidget(toolBtn);/创建QSpinBox QSpinBox*spinBox=new QSpinBox(this);/向工具栏添加QSpinBox部件 ui-mainToolBar-addWidget(spinBox);QToolBar:菜单栏管理类addWidget:插入一个窗体addAction:选项添加到工具栏中心部件中心部件在窗口的中心区约放置一个中心部件在窗口的中心区约放置一个中心部件对于文档程序来讲一般是一个对于文档程序来讲一般是一个QTextEdit。/新建文本编辑器部件 QTextEdit*edit=new QTextEdit(this);/使用QMdiArea类的addSubWindow()函数 /创建子窗口,以文本编辑器为中心部件 QMdiSubWindow*child=ui-mdiArea-addSubWindow(edit);child-setWindowTitle(tr(多文档编辑器子窗口);/显示子窗口 child-show();addSubWindow:创建子窗口show:显示子窗口Dock部件部件QDockWidget可以停靠在中心部件的旁边可以悬浮在主窗口上面就像一个工具箱,放置其他部件状态栏状态栏状态信息分为三类:临时信息,一般信息,永久信息。临时信息:showMessage一般信息:addWidget永久信息:addPermanentWidget/显示临时消息,显示2000毫秒即2秒钟 ui-statusBar-showMessage(tr(欢迎),2000);/创建标签 QLabel*permanent=new QLabel(this);/标签样式 permanent-setFrameStyle(QFrame:Box|QFrame:Sunken);/显示信息 permanent-setText(“welcom);/将标签设置为永久部件 ui-statusBar-addPermanentWidget(permanent);自定义菜单自定义菜单菜单中是否可以添加各种部件?-使用自定义菜单创建继承创建继承QWidgetAction的类的类classMyAction:publicQWidgetAction实现实现createWidget虚函数,添加部件虚函数,添加部件QWidget*createWidget(QWidget*parent)富文本处理富文本处理富文本文档中可以使用颜色,字体,表格等多种格式。QTextEdit是一个高级的所见即所得的支持使用HTML风格标记的多信息文本格式的查看器/编辑器。QTextEditQTextCursorQTextDocumentQTextFrameFormatQTextFrameQTextBlockFormatQTextBlockQTextTableFormatQTextTableQTextListFormatQTextList文本块文本块一个文本块可以看作一个段落,回车换行可以看作一个新的文本块。遍历文本方法遍历文本方法QTextDocument*document=ui-textEdit-document();/获取文档的第一个文本块获取文档的第一个文本块QTextBlockblock=document-firstBlock();for(inti=0;iblockCount();i+)qDebug()tr(文本块文本块%1,文本块首行行号为文本块首行行号为:%2,长度为长度为:%3,内容为:内容为:).arg(i).arg(block.firstLineNumber().arg(block.length()textEdit-find(string,QTextDocument:FindBackward);FindFlags说明说明FindBackward反向查找反向查找FindCaseSensitively区分大小写区分大小写FindWholeWords全文字查找全文字查找语法高亮语法高亮语法高亮:输入关键字时会显示不同的颜色。class MySyntaxHighlighter:public QSyntaxHighlightervoid MySyntaxHighlighter:highlightBlock(const QString&text)QTextCharFormat myFormat;/字符格式myFormat.setFontWeight(QFont:Bold);myFormat.setForeground(Qt:green);QRegExp expression(bcharb);/要匹配字符串的长度int length=expression.matchedLength();/对要匹配的字符串设置格式setFormat(index,length,myFormatHTMLQTextEdit:支持使用:支持使用HTML标签和标签和CSS属性属性/在编辑器中添加文本并且使用html标签 ui-textEdit-append(tr(使用使用HTML);拖放打开文件拖放打开文件事件:事件:拖动进入事件(拖动进入事件(drag)voidMainWindow:dragEnterEvent放下事件放下事件(drop)voidMainWindow:dropEvent事件函数事件函数接收动作:接收动作:acceptProposedAction忽略该事件:忽略该事件:ignore自定义拖放自定义拖放事件:事件:鼠标按下事件鼠标按下事件MainWindow:mousePressEvent拖动进入事件拖动进入事件voidMainWindow:dragEnterEvent拖动事件拖动事件voidMainWindow:dragMoveEvent放下事件放下事件voidMainWindow:dropEvent打印文档打印文档打印机对象打印机对象QPrinter打印对话框打印对话框QPrintDialog选中区域选中区域QPrintDialog:addEnabledOption按下了打印按钮按下了打印按钮QPrintDialog:Accepte打印预览打印预览创建打印预览对话框创建打印预览对话框QPrintPreviewDialog需要关联相关的信号槽需要关联相关的信号槽connect(&preview,SIGNAL(paintRequested(QPrinter*),this,SLOT(printPreview(QPrinter*);打印打印PDFQPrinterprinter;/指定输出格式为指定输出格式为pdfprinter.setOutputFormat(QPrinter:PdfFormat);printer.setOutputFileName(fileName);ui-textEdit-print(&printer);谢谢!谢谢!Copyright 2008 版权所有 东软集团
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服