做网站调用无广告视频,商业网站建设案例课程 下载,wordpress 连不到js,wordpress404页面Qt 5 模块构架#xff1a;
模块#xff1a;功能#xff1a;Qt CoreQt 5 的核心类库#xff0c;每个模块都建立在Core上Qt GUI图形用户界面开发的最基础的类库Qt Widgets提供c用户界面部件#xff08;是对Qt GUI的拓展#xff09;Qt SQL对数据库进行操作Qt Multimedia、…Qt 5 模块构架
模块功能Qt CoreQt 5 的核心类库每个模块都建立在Core上Qt GUI图形用户界面开发的最基础的类库Qt Widgets提供c用户界面部件是对Qt GUI的拓展Qt SQL对数据库进行操作Qt Multimedia、Qt Multimedia Widgets对视频和音频等提供支持和部件Qt Network提供网络编程Qt Test测试工具Qt QML提供对QML和javaScript语言的支持Qt Quick提供一个用于创建高度开发的框架基于QML和javaScriptQt Quick Controls提供Qt Quick的UI控件Qt Quick Dialogs提供Qt Quick的对话框Qt Quick Layouts提供Qt Quick的项目布局Qt 5 中 由于QML和Qt Quick 的出现使得在Qt 5 中 c与QML javaScript的地位几乎平等Qt 5 中的几乎所有上层API 都同时支持面向C和面向QML的两套接口 部分扩展模块
模块功能Qt 3D支持2D和3D渲染的近实时仿真系统的功能Qt Digital Advertising实现嵌入式屏幕等Active Qt使应用程序调用ActiveX和COM接口Qt Bluetooth提供对蓝牙的访问Qt Concurrent多线程类的分装Qt Help帮助文档Qt NFC对NFC的支持Qt OpenGLOPenGL支持类已启用现在使用QOpenGLQt Positioning提供对位置、卫星和却与监控类的访问
有很多可用的模块可以点击该链接查看Qt特性 | 基础框架、工具与扩展模块 图形界面库的框架
Qt 5的图形界面所需要的类几乎都组合到Qt Widgets中不在Qt GUI例如QApplication和QWidget。 现在Qt GUI主要为各种图形界面控件提供一般的处理Qt GUI的图形部件类移动到Qt Widgets中Qt 5移除Qt OpenGL 把QOpenGL添加到Qt GUI中Qt 5的图形界面框架图 架构的主要特点 把全部的Qt 接口迁移到Qt 平台抽象层QPA上使得能更好的移植到另外的系统和设备上重新设计了图形堆栈使得性能提高Qt 5为Qt Quick引入全新的图形架构基于OpenGL的场景图更加灵活的模块结构满足桌面和移动的融合按需添加或删除特定的模块Qt 5的部分特点 现在的Qt涵盖多个平台使用Qt开发框架可以开发出含桌面。嵌入式。移动等多个平台的应用程序。Qt 5 使用基于OPenGL的场景图来加速Qt Quick的图形显示可以设计出更好的设计即使在移动或嵌入式设备上亦可以流畅运行Qt 5的 Qt Quick 为QML饮用提供了基础的框架 Canvas 提供绘画Shader Effects 将GLSL着色器程序集成到QML中Particle Effects 粒子效果可以创建各种2D粒子子系统Sprites 用于2D图像对象的动画效果中也可用于粒子系统的源Offline storage JavaScriptAPIWindow 提供一个顶级窗口OpenGL Qt Quick基于OpenGL渲染架构来获得最佳性能Qt Quick 降低了开发的复杂度Qt Quick Control和Qt Quick Layouts使得设计用户界面变得更加简单Qt 5中可以使用传感器和地图定位Qt 5带来最新的HTML5的支持QtWebEngine 是Web内容的渲染引擎Qt MuLtimedia 提供多媒体方面的功能Qt Location 模块提供了地图位置的数据Qt平台抽象层QPAQt 窗口系统相关的部分在Qt5中全部基于Qt 平台抽象层进行重写 简化移植Qt到新平台所需要的工作集中窗口系统集成代码库到一些类中使得类多平台共享在Qt 中删除窗口依赖使得在多个窗口系统中可以运行同一个Qt二进制文件成为可能Qt 5更新了信号与槽机制Qt 5对IVP6和双模式提供了更好的支持‘Qt 5 涵盖了多种触控输入c和QML 在Qt 5 中添加了QML这样在设计时需要使用哪个进行开发现在的大型项目一般使用QWidget为主QML和Qt Quick 为辅的开发模式 QWidget现在依然是开发桌面应用的核心拥有丰富的组件QML和Qt Quick 现在刚推出不久开发组件比较缺乏企业级应用程序的控件C现在依然是Qt开发的主体但在富含动画的效过上QML明显占优Qt 5 新的信号与槽和旧的信号与槽的区别 旧的信号与槽
connect(sender,SIGNAL(valueChanged(参数)),recriver,SLOT(showValue(参数)))
新的信号与槽
connect(sender,Sender::valueChanged,receiver,Receiver::showValue)
新的信号与槽的特点 支持编译期检查会在编译时检查信号与槽的拼写错误等支持相容参数类型的自动转换新的语法不仅可以支持使用typedef或者命名空间还支持使用隐式的自动类型钻换允许连接到任意函数旧的信号与槽只能使用slots关键词修饰的成员函数新语法中可以通过函数指针直接调用函数在槽函数中可以使用c11中的lambda表达式替代槽函数可以被声明为private 但SLOT会无视private的修饰当有重载信号时使用新的信号与槽需要转化为函数指针signals
void show(QString);
void show(int);//函数指针
//返回类型(类名:: *名称)(参数类型)类名::函数名//转化为函数指针,假设类名为 widget
void(widget:: * p1)(QString)widget::show;
void(widget::*p2)(int)widget::show; 在Qt5中的c11的宏
到Qt 5中可能有些编译器不支持c11Qt 5 通过一系列宏来兼容c11 constexpr用于向编译器起指出那些内联函数可以在编译器运算使用Q_DECL_CONSTEXPR宏static_assert :c11添加了静态断言允许在编译器检测一些条件是否成立使用Q_STATIC_ASSERT和Q_STATIC_ASSERT_X两个宏override 当一个函数被override修饰时这个函数必须覆盖父类的函数 使用Q_DECL_OVERRIDE用于函数末尾final :用于打断 父类声明为virtual所有子类的相同函数都为virtual的机制如果一个虚函数被final修饰这个函数在这个类中的所有子类都不允许被覆盖。使用Q_DECL_FINAL用于函数末尾deleted 用于显示禁止C编译器生成代码使用Q_DECL_DELETE作用于函数末尾