
QT事件
文章平均质量分 60
记录一些常用的QT事件
姆路
QT日记(✧∇✧)
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
大小改变事件
通常在窗口尺寸变化后,在尺寸改变事件中,获取最新的尺寸,然后将内部某些控件的大小也跟着改变,或者改变布局。获取之前的尺寸:ev->oldSize()获取大小改变后的尺寸:ev->size()事件对应的类为:QResizeEvent。窗口改变后,内部按钮的大小跟着改变。即窗口尺寸变化时会触发这个事件。原创 2024-11-13 20:09:38 · 549 阅读 · 0 评论 -
实现拖动标题栏窗口恢复+窗口跟着鼠标移动
3.如果窗口是正常状态,那么窗口跟着鼠标移动,注意此时要更新前面记录的那个相对位置的值,既然窗口从最大化变为了正常,那么我一开始在窗口按下的相对位置也要进行同比例的变化。2.鼠标移动事件中,如果是在标题栏按下,那么窗口恢复,同时记录窗口最大化时的宽度,以及用一个标记变量记录窗口从最大化恢复到了正常状态。3.注意点:移动时鼠标的位置还要减去一开始的相对位置,否则,窗口直接就是左上角跟着鼠标移动了,没有保持最开始鼠标和窗口的相对位置。1.重写鼠标按下事件,记录鼠标在窗口中的相对位置。原创 2024-09-15 15:03:17 · 1299 阅读 · 0 评论 -
改变事件
点击最小化按钮时,窗口状态变为Qt::WindowMinimized。点击最大化按钮,窗口状态变为Qt::WindowMaximized。学习链接:https://github.com/0voice。窗口刚出现时,窗口状态为Qt::WindowNoState。这里以WindowStateChange为例来说明。窗口的某些属性的状态发生改变时就会触发该事件。每次状态改变时,弹出对话框提示。原创 2024-09-11 21:38:11 · 567 阅读 · 0 评论 -
简单无边框窗口复习QT事件
通过一个简单的无边框事件来复习下相关事件。原创 2024-08-16 22:25:14 · 479 阅读 · 0 评论 -
事件的传递流程
返回父类的默认的事件分发函数event(ev),那么事件就会到达子控件的鼠标按下事件处理函数。弄清事件的传递流程,其实就是为了弄清如何砍断事件的传递,比如你希望某个事件只传给窗口里的控件,而不传给窗口等,这样在一个由多个widget和控件多层嵌套的界面中做出符合想要的事件处理动作,下面看有哪几个时机可以砍断事件的传递。提前返回true:事件到了MyLabel的event函数就不会往下传递了,MyLabel的鼠标按下事件函数也不会被调用,其父窗口/空间的鼠标按下事件函数也不会被调用。原创 2024-08-11 15:28:57 · 1014 阅读 · 0 评论 -
右键菜单事件
下面这个例子就是重写了右键菜单事件,鼠标在里面右键时,在右键位置处产生了一个菜单。原创 2024-08-08 20:38:49 · 668 阅读 · 0 评论 -
绘图事件
然后每次双击时,会随机生成几个高温值和低温值,并且把新生成的温度重新绘制上去,从而产生双击曲线变化的效果。调用窗口/控件的update()或repaint()函数时。窗口刚打开时上面和下面两个标签会显示高温和低温曲线。,触发绘图事件,在绘图事件中将新的温度曲线绘制进去。窗口首次创建,或者窗口被覆盖,最小化后再恢复。上面的标签显示高温曲线(只显示7个温度)下面的标签显示低温曲线(只显示7个温度)当窗口/控件需要重绘时,就会触发该事件。,会随机产生7个高温值和低温值,然后。,需要重绘来适应新的大小或位置。原创 2024-08-07 21:09:01 · 261 阅读 · 0 评论 -
拖动事件+滚轮事件
自定义一个TextEdit,重写拖动进入事件、拖动放入事件,鼠标事件,让他可以接收拖动文件放入,并且可以按住ctrl+滚轮进行文字的缩小和放大原创 2024-08-05 21:36:33 · 568 阅读 · 0 评论 -
定时器事件
event->timerId//用来判断是哪一个定时器触发了定时器事件。通常会用槽关联这个信号,在槽函数中做一些你想做的事情。窗口每隔一段时间后,就会触发该事件,对应的子类是。每隔一段时间会发送一个timeout()信号;还有一些其他的方法以后详细说明。QT也提供了一个定时器类。然后根据需要停止定时器。这里顺便说一下定时器类。需要我们先开启定时器。原创 2024-08-01 21:32:12 · 377 阅读 · 0 评论 -
键盘事件
event->modifiers()//作用见代码。event->key()//判断按下了那个按键。键盘按下时,触发该事件,对应的子类为。键盘抬起时,触发该事件,对应的子类为。若有错误·,欢迎指正!原创 2024-07-31 20:43:58 · 344 阅读 · 0 评论 -
鼠标按下/释放/移动事件
鼠标只要一进入某个窗口或者控件上面,不按下鼠标,然后移动,就触发鼠标移动事件。//获取事件发生时鼠标在相对于当前窗口或重写了这三个事件的控件的位置的x坐标。//获取事件发生时鼠标在相对于当前窗口或重写了这三个事件的控件的位置的y坐标。//获取事件发生时鼠标在相对于当前窗口或重写了这三个事件的控件的位置。//判断事件发生时处于按下的鼠标是左键还是右键还是滚轮。///获取事件发生时鼠标在整个屏幕中的位置的x坐标。///获取事件发生时鼠标在整个屏幕中的位置的y坐标。//获取事件发生时鼠标在整个屏幕中的位置。原创 2024-07-29 21:59:18 · 830 阅读 · 0 评论 -
事件过滤器
重写该窗口的bool eventFilter(QObject* watched, QEvent* event)函数。希望某个控件有自己的事件触发时对应的操作,而你又不想新增加一个类来自定义一下这个控件。3.截获/过滤的位置是过滤者的eventFilter()函数中。函数返回一个 bool 类型, 返回 true。,那么你可以在这个窗口中给对应的控件。1.过滤者通常就是控件所在的窗口。某个窗口里面有很多个控件,你。表示事件被截获,不再发送给。表示事件会接着传递给。原创 2024-07-28 08:16:32 · 266 阅读 · 0 评论 -
鼠标进入/离开事件
比如鼠标进入/离开窗口,某些控件的文字改变,大小改变等等;那么就去重写上面2个函数,在这两个函数中完成你要的操作。2.自定义控件时,你希望这个控件有自己的鼠标进入/离开对应的操作,那么就在该自定义控件类中重写上面2个函数,来完成定制化的操作。有一个自定义的MyLabel,继承自QLabel,鼠标在进入和离开MyLabel时其显示的文本都会改变。根据你的需求举一反三,在鼠标进入和离开时还想做什么操作追加进去就行了。即鼠标进入到窗口/某个控件内部时,会触发该事件,该事件对应的子类是。原创 2024-07-28 07:39:47 · 504 阅读 · 0 评论