基于qt的html编辑器的设计与实现毕业论文内容摘要:

e作为顶级容器设计图形化界面。 Qt 的图形使用者接口的基础是 QWidget。 Qt 中所有类型的 GUI 组件如按钮、标签、工具列等都继承自 QWidget,而 QWidget 本身则为 QObject 的子类别。 Widget负责接收鼠标,键盘和来自窗口系统的其他事件,并描绘了自身显示在屏幕上。 每一个 GUI组件 都是一个 widget, widget还可以作为容器,在其内包含其他 Widget。 Qwidget 不是一个抽象类别。 并且可以被放置在一个已存在的使用者接口中。 若是 Widget没有指定父 Widget,当它显示时就是一个独立的视窗或是一个顶层 widget。 QWidget 显 示 能 力 包 含 了 透 明 化 及DoubleBuffering。 Qt 提供一种托管机制,当 Widget 于建立时指定父物件,就可把自己的生命周期交给上层物件管理,当上层物件被释放时,自己也被释放。 确保物件不再使用时都会被删除。 Qt 的 QMainWindow 类 : 本 html 编辑器用 MainWindow 设计菜单栏。 QMainWindow 类提供一个有菜单条、锚接窗口(例如工具条)和一个状态条的主应用程序窗口。 主窗口通常用在提供一个大的中央窗口部件(例如文本编辑或者绘制画布)以及周围菜单、工具条和一个状态条。 QMainWindow经被继承,因为这使得封装中央部件、菜单和工具条以及窗口状态变得更容易。 继承使创建当用户点击菜单项或者工具条按钮时被调用的槽成为可能。 也可以使用 Qt设计器来创建主窗口,本 html 设计器就是用 QMainWindow 设计其菜单条。 Qt的 QAction类和 QMenu类:本 html编辑器用 QAction类和 QMenu类的功能完成菜单栏的设计, QAction 类提供了一个可以同时出现在菜单和工具条上的抽象用户界面操作。 在图形用户界面应用程序中很多命令可以通过菜单选项、工具条按钮和键盘快捷键调用。 因为同一个操作将会被执行,而与它的调用方法无关,并且因为菜单和工具条必须保持同步,所以提供一个操作这样的命令很有用。 一个操作可以被添加到菜单和工具条中并且将会自动使它们同步。 例如,如果用户按下“加粗”工具条按钮,“加粗”菜单项将会自动被选中。 QAction 可以包含图标、菜单 文本、快捷键、状态条文本、这是什么文本和工具提示。 它们可以分别通过 setIconSet()、 setText()、 setMenuText()、setToolTip(),setStatusTip()、 setWhatsThis()和 setAccel()来设置。 Qt 的的布局管理 :html 编辑器用 Qt 自带的布局管理器 , 在创建的窗口中,为了方便地管理其中的控件,而诞生了布局管理器。 将各种控件按照实际需要,放在布局管理器中,可以方便地对其进行管理。 此后,窗口大小变化时,其将会自动进行调整变化。 如果你将自己创建的控件放在 了布局管理器中,那么再想手工的改变控件的大小时就不有自主了。 Qt 提供的布局管理类有QHBoxLayout、 QVBoxLayout、 QGridLayout、 QStackLayout 4 种,如图 所示 6 图 Qt 布局类 因为布局管理器已经掌控了你的控件,自动替你进行管理了,不需要你进行移动和调整大小了。 如果你觉着布局管理器管理的不够好,那么你可以通过“ breaking layouts”来打破原来的布局,自己重新手工布局也行。 信号与槽机制 信号和槽机制是 Qt 的核心机制,要精通 Qt 编 程就必须对信号和槽有所了解。 信号和槽是一种高级接口,应用于对象之间的通信,它是 Qt 的核心特性,也是 Qt 区别于其它工具包的重要地方。 信号和槽是 Qt 自行定义的一种通信机制,它独立于标准的 C/C++ 语言,因此要正确的处理信号和槽,必须借助一个称为 moc( Meta Object Compiler)的 QT 工具,该工具是一个 C++ 预处理程序,它为高层次的事件处理自动生成所需要的附加代码。 信号 /槽机制是 Qt 的一个中心特征并且也许是 Qt 与其它工具包的最不相同的部分。 在图形用户界面编程中,我们经常希望 一个窗口部件的一个变化被通知另一个窗口部件。 Qt 利用信号 signals/slots)机制取代传统的回调来进行物件之间的沟通。 回调是指一个函数的指针,所以如果你希望一个处理函数通知你一些事件,你可以把另一个函数(回调)的指针传递给处理函数。 处理函数在适当的时候调用回调。 回调有两个主要缺点。 首先他们不是类型安全的。 我们从来都不能确定处理函数使用了正确的参数来调用回调。 因此容易造成进程崩溃,另外一个问题是,回调这种方式紧紧的绑定了图形用户接口的功能元素,因而很难把开发进行独立的分类。 然而 QT 的信号和槽机制是当操作 事件发生的时候,物件会发送出信号( signal)通知所有 slot 接收 signal,尽管它并不知道那些函数定义 slot,而 slot 也同样不知道要接收怎样的 signl,信号和槽机制真正实现了封装的概念,当某个信号对其客户或所有者发生的内部状态发生改变,信号被一个对象发射。 只有 定义过这个信号的类及其派生类能够发射这个信号。 当一个信号被发射时,与其相关联的槽将被立刻执行,就象一个正常的函数调用一样。 信号 槽机制完全独立于任何 GUI 事件循环。 只有当所有的槽返回以后发射函数( emit)才返回。 如果存在多个槽与 某个信号相关联,那么,当这个信号被发射时,这些槽将会一个接一个地 执行,但是它们执行的顺序将会是随机的,不确定的,我们不能人为地指定哪个先执行、哪 个后执行。 信号与槽之间,则透过 QObject 的静态方法 connect 来连结,连接的时候还需要用到 SIGNAL()和 SLOT()两个宏。 信号和槽的连接方法如图 所示: 7 图 信号和槽连接方式 信号在任何执行点上皆可发射,甚至可以在槽里再发射另一个讯号,讯号与槽的连结不限定为一对一的连结,一个讯号可以连结到多个槽或多个讯号连结到同一个槽,甚至讯 号也可连接到讯号。 为了加快开发流程, Qt 提供了丰富的命令和图形工具, Qt Createor:轻量级 Qt/C++ IDE 开发环境; qmake 跨平台构建工具, Qt Desiger 界面设计师, Qt Assistant Qt 文件 可以当作 Qt 的 API使用。 Qtwebkit 的使用 QtWebKit 的超文本标记语言( html),可扩展超文本标记语言( XHTML)和可伸缩矢量图形( SVG)文件,使用级联样式表( CSS)和 JavaScript 的脚本风格渲染提供的设施, QtWebKit 的基于开源的 WebKit 引擎。 其起源可追溯到 K Desktop Environment (KDE)。 WebKit 项目催生了面向移动设备的现代 Web 应用程序。 虽然设备本身的能力和形态因素都相当重要 ,但移动用户最热衷的仍然是内容。 如果移动用户可用的内容只是 Inter 用户可用内容的一个很小的子集,那么用户体验充其量也只能划分为二等。 WebKit 还应用在了桌面的 Safari 浏览器内,该浏览器是 Mac OS X 平台默认的浏览器。 不管我们讨论的是桌面版本还是 iPhone 或 Android 上的浏览器引擎, WebKit 均优先支持 HTML 和 CSS 特性。 WebKit 引擎比 Gecko 引擎更受程序员欢迎的原因,除了其引擎的高效稳定,兼容性好外,其源码结构清晰,易于维护 ,其中,WebViewDatabase 是 WebKit 模块中针对 SQLiteDataba 对象的封装,用于存储和获取运行时浏览器保存的缓冲数据、历史访问数据、浏览器配置数据等。 该对象是一个单实例对象,通过 getInstance 方法获取 WebViewDat。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。