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

常州网站价格3g医院网站模板

常州网站价格,3g医院网站模板,中国钣金加工网,要钱吗文章目录 1. 事件1.1 事件的介绍1.2 事件的处理 2. 按键事件3. 鼠标事件4. 定时器5. 窗口事件 1. 事件 1.1 事件的介绍 事件是应用程序内部或者外部产生的事情或者动作的统称。 在 Qt 中使用⼀个对象来表示⼀个事件。所有的 Qt 事件均继承于抽象类 QEvent。事件是由系统或者 …

文章目录

  • 1. 事件
    • 1.1 事件的介绍
    • 1.2 事件的处理
  • 2. 按键事件
  • 3. 鼠标事件
  • 4. 定时器
  • 5. 窗口事件

在这里插入图片描述

1. 事件

1.1 事件的介绍

事件是应用程序内部或者外部产生的事情或者动作的统称。
在 Qt 中使用⼀个对象来表示⼀个事件。所有的 Qt 事件均继承于抽象类 QEvent。事件是由系统或者 Qt 平台本⾝在不同的时刻发出的。

当用户按下⿏标、键盘,或者是窗⼝需要重新绘制的时候,都会发出⼀个相应的事件。⼀些事件是在⽤⼾操作时发出,如键盘事件、⿏标事件等,另⼀些事件则是由系统本身自动发出,如定时器事件。

常见的 Qt 事件如下:
在这里插入图片描述

注意:事件不像信号槽一样需要关联,而是让当前类,重写某个事件处理函数,通过多态的机制实现

1.2 事件的处理

事件处理⼀般常用的⽅法为:重写相关的 Event 函数。
在 Qt 中,⼏乎所有的 Event 函数都是虚函数,所以可以重新实现。

如:在实现⿏标的进⼊和离开事件时,直接重新实现 enterEvent() 和 leaveEvent() 即可。

enterEvent() 和 leaveEvent() 函数原型如下
在这里插入图片描述

下面我们实现一个鼠标事件

先添加一个类,然后重写enterEvent方法

在这里插入图片描述

将我们创建的Label提升为自己的MyLabel

在这里插入图片描述
此时,当我们的鼠标进入Label,就会显示如下内容
在这里插入图片描述

下面,我们使用事件,实现一个按钮随机移动的案例

在这里插入图片描述

2. 按键事件

Qt 中的按键事件是通过 QKeyEvent 类来实现的。当键盘上的按键被按下或者被释放时,键盘事件便会触发。

在帮助文档中查找 QKeyEvent 类如下:

在这里插入图片描述

其中,键盘上的按键都已在枚举类型Qt::key中罗列出来

在这里插入图片描述

  1. 单个按键

示例:当某个按键被按下时,输出:某个按键被按下了;

在这里插入图片描述

  1. 组合按键

Qt::KeyboardModifier 中定义了在处理键盘事件时对应的修改键。在 Qt 中,键盘事件可以与修改键⼀起使用,以实现⼀些复杂的交互操作。
在这里插入图片描述

在这里插入图片描述

3. 鼠标事件

  1. 鼠标按下事件

在 Qt 中,⿏标按下是通过虚函数 mousePressEvent() 来捕获的。mousePressEvent() 函数原型如下

⿏标左右键及滚的表⽰如下:

  • Qt::LeftButton ⿏标左键
  • Qt::RightButton ⿏标右键
  • Qt::MidButton ⿏标滚轮

在这里插入图片描述

  1. 鼠标释放事件

⿏标释放事件是通过虚函数 mouseReleaseEvent() 来捕获的。mouseReleaseEvent() 函数原型如下

在这里插入图片描述

  1. 鼠标双击事件

⿏标双击事件是通过虚函数:mouseDoubleClickEvent() 来实现的。

  1. 鼠标移动事件

⿏标移动事件是通过虚函数:mouseMoveEvent() 来实现的。同时为了实时捕获⿏标位置信息,需要通过函数 setMouseTracking() 来追踪⿏标的位置

  • 随便移动一下鼠标,就会产生出大量的鼠标移动事件,当你进行捕获事件的时候,尤其是在这里再进行一些复杂逻辑的时候,程序负担就很重,很容易产生卡顿之类的情况。
  • qt为了保证程序的流畅性,默认情况下不会对鼠标移动进行追踪,鼠标移动的时候不会调用mouseMoveEvent。除非显式告诉qt就要追踪鼠标位置(即setMouseTracking() 设置为 true)。
  1. 鼠标滚轮事件

在 Qt 中,⿏标滚轮事件是通过 QWheelEvent 类来实现的。滚轮滑动的距离可以通过 delta() 函数获取

其中返回值代表滚轮滑动的距离。正数表⽰滚轮相对于用户向前滑动,负数表⽰滚轮相对于用户向后滑动。

下面,我们实现一个Ctrl+鼠标滚动,调整字体大小的功能

在这里插入图片描述
在这里插入图片描述

4. 定时器

Qt 中在进⾏窗⼝程序的处理过程中,经常要周期性的执⾏某些操作,或者制作⼀些动画效果,使⽤定时器就可以实现。

所谓定时器就是在间隔⼀定时间后,去执⾏某⼀个任务。定时器在很多场景下都会使⽤到,如弹窗⾃动关闭之类的功能等。

Qt中的定时器分为 QTimerEvent 和 QTimer 两个类。

  • QTimerEvent类用来描述⼀个定时器事件。在使用时需要通过 startTimer() 函数来开启⼀个定时器,这个函数需要输⼊⼀个以毫秒为单位的整数作为参数来表明设定的时间,它返回的整型值代表这个定时器。当定时器溢出时(即定时时间到达)就可以在 timerEvent() 函数中获取该定时器的编号来进⾏相关操作。
  • QTimer类 来实现⼀个定时器,它提供了更⾼层次的编程接⼝,如:可以使⽤信号和槽,还可以设置只运行⼀次的定时器。
  1. QTimerEvent 类

示例:在UI界⾯上放置两个 Label 控件,⼀个让其1秒数字累加一次,⼀个让其2秒数字累加⼀次

在这里插入图片描述

  1. QTimer 类

通过QTimer与信号槽,实现按钮点击控制计时的效果。

在UI界⾯放置⼀个 Label 标签,两个按钮,分别是 “开始” 和 “停止”,当点击 “开始” 按钮时,开始每隔1秒计数⼀次,点击 “停⽌” 按钮时,暂停计数。

在这里插入图片描述

  1. 获取系统日期及时间

在 Qt 中,获取系统的⽇期及实时时间可以通过 QTimer 类 和 QDateTime类。

QDateTime类提供了字符串格式的时间。字符串形式的时间输出格式由 toString() ⽅法中的 format 参数列表决定,可⽤的参数列表如下

在这里插入图片描述

在这里插入图片描述

5. 窗口事件

在 Qt 中,可以通过重写 QWidget 的 moveEvent 和 resizeEvent 方法来处理窗口移动和调整大小的事件。这两个事件分别在窗口位置改变和大小改变时被触发。

在这里插入图片描述

在这里插入图片描述

http://www.dtcms.com/wzjs/826272.html

相关文章:

  • 滨海做网站需要多少钱自己做的网站可以用于百度推广吗
  • 网站头部导航电脑云桌面下载
  • 广西住房与建设厅网站首页郑州网站优化公司平台
  • 个人公众号做电影网站北京做兼职哪个网站
  • 廊坊seo网站管理江苏10大网站建设公司
  • 做外贸学英语的网站网站seo三要素
  • 小城市门户网站建设方案第二章 网站建设
  • 济南在线制作网站公司建设网站算入什么会计科目
  • 推荐十个国外网站做租房信息网站
  • 中小型企业网站建设的资金流动响应式学校网站模板
  • 门户网站开发的意义几年做啥网站能致富
  • 东营市报名系统网站设计公司云服务器便宜
  • 站长工具劲爆wordpress算术验证
  • 红酒 公司 网站建设网站开发个人博客
  • php根据ip 跳转网站网页设计产品介绍页面的制作
  • 网站建设类文章要发多少片app运营费用
  • 企业网站建设与推广范文东莞网站建设哪家公司好
  • 如何免费做公司网站手机网站左右滑动效果
  • 网站二级域名解析智能软件开发就业前景
  • 国外网站设计风格做盗版电影网站后果
  • asp做网站的优势是什么优秀网站网址
  • 常德建设网站网站做cdn怎么弄
  • 网站建设的面试要求企业网站域名注册
  • 专门做运动装备的网站推荐网站建设收费标准
  • 使用微信做网站第三方登录怎样营销
  • 国外域名抢注网站厦门公司建站
  • 网站开发知识版权租网站服务器
  • 网站设计论文结论网站建设职业情况
  • 手机网站 jquery 特效只做网站可以在百度里收到吗
  • 长沙网站建设案例无锡 电子商务网站建设