当前位置: 首页 > news >正文

网站架构图用什么做说明电子商务网站的建设流程

网站架构图用什么做,说明电子商务网站的建设流程,深圳专业企业网站制作哪家好,网站推广外包虽然 Qt 是跨平台的 C 开发框架#xff0c;Qt 有很多能力其实是操作系统提供的#xff0c;只不过 Qt 封装了系统的 API程序时运行在操作系统上的#xff0c;需要系统给我们提供支撑#xff01;事件文件操作多线程编程网络编程多媒体#xff08;音频#xff0c;视频#…虽然 Qt 是跨平台的 C 开发框架Qt 有很多能力其实是操作系统提供的只不过 Qt 封装了系统的 API程序时运行在操作系统上的需要系统给我们提供支撑事件文件操作多线程编程网络编程多媒体音频视频Qt 事件事件介绍信号槽用户进行的各种操作可能会产生出信号我们可以给某个信号指定槽函数当信号触发时就能够自动的执行到对应的槽函数事件也是非常类似的用户进行的各种操作也会产生事件程序员同样可以给事件关联上处理函数处理的逻辑当事件触发的时候就能够执行到对应的代码事件本身是操作系统提供的机制Qt  也同样把操作系统事件进行了封装拿到了 Qt 中但是由于事件对应的代码编写不是很方便所以 Qt 对于事件这样的机制又进行了封装就得到了信号槽所以事件就是信号槽的底层机制实际 Qt 开发程序过程中绝大部分和用户之间进行的交互是通过“信号槽”来完成的但是对于有些特殊情况信号槽不一定能搞定某个用户的动作行为Qt 没有提供对应的信号...这时候我们就需要通过重写事件的处理函数的形式来手动处理事件的响应逻辑事件是应用程序内部或者外部产生的事情或者动作的统称。在 Qt 中使用一个对象来表示一个事件。所有的 Qt 事件均继承于抽象类 QEvent。事件是由系统或者 Qt 平台本身在不同的时刻发出的。当用户按下鼠标、敲下键盘或者是窗口需要重新绘制的时候都会发出一个相应的事件。一些事件是在用户操作时发出如键盘事件、鼠标事件等另一些事件则是由系统本身自动发出如定时器事件。常见的 Qt 事件如下常见事件描述事件名称描述鼠标事件鼠标左键、鼠标右键、鼠标滚轮鼠标的移动鼠标按键的按下和松开键盘事件按键类型、按键按下、按键松开定时器事件定时时间到达进入离开事件鼠标的进入和离开滚轮事件鼠标滚轮滚动绘屏事件重绘屏幕的某些部分显示隐藏事件窗口的显示和隐藏移动事件窗口位置的变化窗口事件是否为当前窗口大小改变事件窗口大小改变焦点事件键盘焦点移动拖拽事件用鼠标进行拖拽事件的处理让一段代码和某一个事件关联起来当事件触发的时候就能指定到这段代码之前信号槽是通过 connect 来完成上述关联的对于事件来说还不太一样事件处理一般常用的方法为重写相关的 Event 函数。用到了面向对象的多态的机制创建子类然后继承自 Qt 中已有的类在子类中重写父类的事件处理函数后续事件出发过程中就会通过多态这样的机制执行到咱们自己写的子类的函数中在 Qt 中几乎所有的 Event 函数都是虚函数所以可以重新实现。如在实现鼠标的进入和离开控件时直接重新实现 enterEvent() 和 leaveEvent() 即可。enterEvent() 和 leaveEvent() 函数原型如下[virtual protected] void QWidget::enterEvent(QEvent *event)This event handler can be reimplemented in a subclass to receive widget enter events which are passed in the event parameter. An event is sent to the widget when the mouse cursor enters the widget.See also leaveEvent(), mouseMoveEvent(), and event().[virtual protected] void QWidget::leaveEvent(QEvent *event)This event handler can be reimplemented in a subclass to receive widget leave events which are passed in the event parameter. A leave event is sent to the widget when the mouse cursor leaves the widget.See also enterEvent(), mouseMoveEvent(), and event(). 示例11. 新建 Qt 项目基类选择 QWidget同时勾选 UI 界面文件如下图所示2. 设计 ui 文件如下所示3. 在项目中新添加一个类MyLabel创建 QLable 子类重写 enterEvent 和 leaveEvent先选中项目名称 QEvent点击鼠标右键选择 add new ...弹出如下对话框4. 选择Choose ...弹出如下界面5. 此时项目会新增如下两个文件6. 在帮助文档中查找对应的内容7. 点击“显示”之后出现如下内容[virtual protected] void QWidget::enterEvent(QEvent *event)This event handler can be reimplemented in a subclass to receive widget enter events which are passed in the event parameter. An event is sent to the widget when the mouse cursor enters the widget.See also leaveEvent(), mouseMoveEvent(), and event(). 8. 复制 enterEvent() 粘贴在项⽬⽂件 mylabel.h 中9. 重写 enterEvent() ⽅法10. 在 UI ⽂件中选中 Label右键 ------ 提升为...我们直接执行是不行的因为当前界面上创建的这个 label 其实是QLabel不是我们自己写的 MyLabel必须要确保界面上的这个 label 是一个咱们自己定义的 Mylabel 的示例才会执行到11. 当点击 提升为... 之后弹出如下对话框12. 修改基类13. 执⾏效果如下当⿏标进⼊设计好的标签之后就会在应⽤程序输出栏中打印⿏标进⼊示例2当鼠标点击时获取对应的坐标值1. 在上述示例的基础上在 mylabel.h 中声明 mousePressEvent() 方法 #ifndef MYLABEL_H #define MYLABEL_H#include QLabelclass MyLabel : public QLabel {Q_OBJECT public:explicit MyLabel(QWidget *parent nullptr);// 鼠标进入事件void enterEvent(QEvent *ev);// 鼠标移动事件void mousePressEvent(QMouseEvent *ev);signals:};#endif // MYLABEL_H2. 在 mylabel.cpp 中重写 mousePressEvent() 方法 #include mylabel.h #include QDebug #include QMouseEventMyLabel::MyLabel(QWidget *parent) : QLabel(parent) { }void MyLabel::enterEvent(QEvent *ev) {qDebug() 鼠标进入; }void MyLabel::mousePressEvent(QMouseEvent *ev) {// Qt中的格式化字符串QString str1 QString(鼠标按下了 x %1, y %2).arg(ev-x()).arg(ev-y());qDebug() str1; }实现效果如下 鼠标进入 鼠标按下了 x 54, y 61 鼠标按下了 x 234, y 15 鼠标按下了 x 393, y 51 鼠标按下了 x 180, y 140 鼠标按下了 x 488, y 146示例鼠标左键点击时打印对应的坐标值鼠标右键点击时打印基于屏幕的坐标 void MyLabel::mousePressEvent(QMouseEvent *ev) {// 鼠标左键if(ev-button() Qt::LeftButton){// x,y为基于窗口的坐标QString str QString(鼠标左键x %1, y %2).arg(ev-x()).arg(ev-y());qDebug() str.toUtf8().data();}// 鼠标右键if(ev-button() Qt::RightButton){// globalX,globalY为基于屏幕的坐标QString str QString(鼠标右键x %1, y %2).arg(ev-globalX()).arg(ev-globalY());qDebug() str.toUtf8().data();} }按键事件Qt 中的按键事件是通过 QKeyEvent 类来实现的。当键盘上的按键被按下或者被释放时键盘事件便会触发。在帮助文档中查找 QKeyEvent 类如下查找按键事件中所有的按键类型在帮助⽂档中输⼊Qt::Key如下图单个按键事件处理示例当某个按键被按下时输出提示信息“某个按键被按下了”。1. 新建项目在项目的头文件 widget.h 中声明一个虚函数 keyPressEvent()。2. 在 widget.cpp ⽂件中重写 keyPressEvent() 虚函数组合按键在 Qt 助⼿中搜索Qt::KeyboardModifier如下图⽰在Qt中键盘事件可以通过Qt::KeyboardModifier枚举来处理该枚举定义了在处理键盘事件时对应的修饰键。以下是Qt::KeyboardModifier中定义的修饰键及其描述常量描述Qt::NoModifier无修改键Qt::ShiftModifierShift 键Qt::ControlModifierCtrl 键Qt::AltModifierAlt 键Qt::MetaModifierMeta键在Windows上指Windows键在macOS上指Command键Qt::KeypadModifier使用键盘上的数字键盘进行输入时Num Lock键处于打开状态Qt::GroupSwitchModifier用于在输入法组之间切换这些修饰键在Qt中可以与键盘事件一起使用以实现一些复杂的交互操作。例如在处理键盘事件时可以通过检查这些修饰键的状态来判断用户是否同时按下了特定的组合键。示例鼠标事件在 Qt 中鼠标事件是用 QMouseEvent 类来实现的。当在窗口中按下鼠标或者移动鼠标时都会产生鼠标事件。利用 QMouseEvent 类可以获取鼠标的哪个键被按下了以及鼠标的当前位置等信息。在 Qt 帮助文档中查找QMouseEvent类 如下图所示鼠标单击事件在 Qt 中鼠标按下是通过虚函数 mousePressEvent() 来捕获的。mousePressEvent() 函数原型如下 [virtual protected] void QWidget::mousePressEvent(QMouseEvent *event)鼠标左右键及滚的表示如下Qt::LeftButton 鼠标左键Qt::RightButton 鼠标右键Qt::MidButton 鼠标滚轮示例1鼠标左键1. 在 widget.h 头文件中声明鼠标按下事件2. 在 widget.cpp ⽂件中重新实现 mousePressEvent() 函数实现效果如下示例2鼠标右键实现效果如下示例3鼠标滚轮实现效果如下鼠标释放事件鼠标释放事件是通过虚函数 mouseReleaseEvent() 来捕获的。mouseReleaseEvent() 函数原型如下 [virtual protected] void QWidget::mouseReleaseEvent(QMouseEvent *event)示例执行效果如下鼠标双击事件鼠标双击事件是通过虚函数mouseDoubleClickEvent() 来实现的。mouseDoubleClickEvent() 函数原型如下 [virtual protected] void QWidget::mouseDoubleClickEvent(QMouseEvent *event)示例鼠标左键双击执行效果如下鼠标移动事件鼠标移动事件是通过虚函数mouseMoveEvent() 来实现的。同时为了实时捕获鼠标位置信息需要通过函数 setMouseTracking() 来追踪鼠标的位置。mouseMoveEvent() 函数原型如下 [virtual protected] void QWidget::mouseMoveEvent(QMouseEvent *event)setMouseTracking() 函数原型如下 void setMouseTracking(bool enable)说明setMouseTracking() 函数默认是 false需要设置为 true才能实时捕获鼠标位置信息。否则只有当鼠标按下时才能捕获其位置信息。示例执行效果滚轮事件在 Qt 中鼠标滚轮事件是通过 QWheelEvent 类来实现的。滚轮滑动的距离可以通过 delta() 函数获取。delta() 函数原型如下 int QGraphicsSceneWheelEvent::delta() const其中返回值代表滚轮滑动的距离。正数表示滚轮相对于用户向前滑动负数表示滚轮相对于用户向后滑动。示例执行效果如下
http://www.pierceye.com/news/473806/

相关文章:

  • 网站上常用字体企业服务中心官网
  • 大作设计网站域名访问升级紧急中拿笔记好
  • 银川做网站的有哪些建筑工程网上报建网站诚信手册
  • 本地做网站绑定域名ic商城网站建设南大
  • react 网站开发seo软件资源
  • 中国最大免费wap网站怎样才能建设只是于自己的网站
  • 装修网站平台排行榜wordpress做视频网站吗
  • flash网站建设价格播放器网站怎么做
  • 微网站 源码 免费文本编辑器 网站
  • 电商网站通用左侧弹出导航有南昌网站优化公司
  • 沈阳三好街做网站公司个人网页设计风格分析
  • 网站建设经费计划内容网站建设中存在的问题
  • 天凡建设股份有限公司网站苍山网站建设
  • 如何新建网站dw线下推广的渠道和方法
  • 网站友链wordpress火车头发布
  • 青海网站维护公司自己的网站叫什么
  • 微网站 淘宝客wordpress备案号放置
  • html5 手机网站 模版网站信息员队伍建设
  • 基金会网站开发方案政务公开网站建设重点
  • 影视网站制作网页游戏的软件
  • 企业做网站的费用如何科目青色网站欣赏
  • 做视频网站怎么赚钱的网站开发流程的三个部分
  • 牡丹江市建设行业协会网站广西住房城乡建设厅网站首页
  • 重庆网站关键词排名优化免费网页代理的推荐
  • 定制型网站怎么做重庆软件开发公司有哪些
  • 自适应型网站建设网站建设搭建是什么意思
  • 网站建设能够不同地方网址大全12345
  • 做网批那个网站好校园网站界面建设
  • 免费网站建设php济南网站建设公司官网
  • 徐汇网站推广网络营销的四个特点