首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Qt 常用类 (9)—— QWidget

设置几何参数可能会使窗口的位置及大小发生变化,这时会发送窗口移动事件 QMoveEvent,如果大小有变化,还会发送窗口改变大小事件 QResizeEvent,事件的处理函数分别是 moveEvent...       改变这些属性可以用下面这些成员函数: [plain] view plaincopy void move(int x, int y);    // 将窗口左上角移动到坐标(x,  ...使能         处于使能状态的窗口才能处理键盘和鼠标等输入事件,反之,处于禁用状态的窗口不能处理这些事件。...);                                       // 鼠标滚轮移动            这里通过 QMouseEvent 事件的成员函数可获得关于鼠标的信息,...注意,对于鼠标移动事件 QMouseEvent 和 button 函数总是返回 Qt::NoButton,而 buttons 函数返回值则是 Qt::MouseButton 类型的 “按位或” 组合,它能反映事件发生鼠标键的按下状态

3.5K10

cocos creator鼠标键盘事件总结

如下(cc.Event 标准事件 API 之外): 函数名 返回值类型 意义 getScrollY Number 获取滚轮滚动的 Y 轴距离,只有滚动才有效 getLocation Object 获取鼠标位置对象...,对象包含 xy 属性 getLocationX Number 获取鼠标X位置 getLocationY Number 获取鼠标Y位置 getPreviousLocation Object...获取鼠标事件上次触发位置对象,对象包含 xy 属性 getDelta Object 获取鼠标距离上一次事件移动的距离对象,对象包含 xy 属性 getButton Number cc.Event.EventMouse.BUTTON_LEFT...y 属性 getLocationX Number 获取触点的 X位置 getLocationY Number 获取触点的 Y位置 getPreviousLocation Object 获取触点上一次触发事件位置对象...,对象包含 xy 属性 getStartLocation Object 获取触点初始位置对象,对象包含 xy 属性 getDelta Object 获取触点距离上一次事件移动的距离对象,

2.1K51
您找到你想要的搜索结果了吗?
是的
没有找到

【Java AWT 图形界面编程】使用小键盘按键缩放 Canvas 画布中绘制的背景图像 ( 键盘按键监听 + 绘制超大图像 + 鼠标拖动 + 鼠标滚轮缩放 + 以当前鼠标指针位置为缩放中心 示例 )

+ 鼠标滚轮缩放 + 以当前鼠标指针位置为缩放中心 示例 ---- 【Java AWT 图形界面编程】Canvas 中绘制超大图片 ( 使用鼠标拖动查看全图 | 设置 JFrame 窗口自动关闭...| 获取并绘制图片 | 鼠标拖动计算位移 | 画布偏移 ) 博客中 , 绘制了超大图像 , 可以使用鼠标拖动 ; 【Java AWT 图形界面编程】使用鼠标滚轮放大缩小 Canvas 画布 ( 鼠标滚轮事件监听器...MouseWheelListener ) 博客中 , 新增鼠标滚轮缩放画布示例 , 但是使用鼠标拖动 , 拖动的效果也随之缩放, 如 缩小画布后 , 移动鼠标 , 移动距离对应的缩放效果也随之缩小...; 【Java AWT 图形界面编程】使用鼠标滚轮放大缩小 Canvas 画布中绘制的背景图像 ( 鼠标滚轮事件监听器 MouseWheelListener | Canvas 中绘制图像并设置图像大小...*/ public void save(int x, int y){ // 记录鼠标坐标 pointer_x = x; pointer_y

1.8K20

C++ Qt开发:Charts折线图绑定事件

由于键盘鼠标事件很简单所以此处将不再重点介绍如何实现,使用这些事件处理函数,你只需要在你的类中进行重写(override)以提供特定的实现。...鼠标移动事件 (mouseMoveEvent): 当鼠标移动触发。该函数中,你可以处理鼠标移动的逻辑,如实时更新鼠标位置、进行拖拽操作等。...鼠标滚轮事件 (wheelEvent): 当鼠标滚轮滚动触发。你可以该函数中处理鼠标滚轮事件,如放大缩小、滚动视图等。 键盘按下事件 (keyPressEvent): 当键盘按键被按下触发。...你可以该函数中处理键盘抬起的逻辑,如释放某个按键的状态。 附件中笔者将代码整理成了Keyboard and mouse文件,读者可自行打开该文件编译运行观察键盘鼠标事件如何被重写的。...鼠标移动事件 (mouseMoveEvent): 发射鼠标移动信号,可以用于实时显示鼠标位置等。

22610

【Java AWT 图形界面编程】使用鼠标滚轮缩放 Canvas 画布中绘制的背景图像 ( 绘制超大图像 + 鼠标拖动 + 鼠标滚轮缩放 + 以当前鼠标指针位置为缩放中心 示例 )

; 使用鼠标滚轮缩放后 , Canvas 中绘制的图片的尺寸肯定是放大或者缩小了 , 尺寸发生了改变 ; 图片缩放 , 鼠标指针指向一个位置 , 该位置对应着一个当前 Canvas 画布中的 x..., y 坐标 , 同时可以计算出当前位置对应的图片中的 水平方向的比例 和 垂直方向的比例 ; 缩放后的图片中 , 只要保证鼠标指针指向相同的 x, y 坐标 , 该位置对应的 水平方向的比例 和...垂直方向的比例 仍然保持不变 , 那就需要移动图片的位置 ; 如果放大图片就需要将图片往左上方移动 ; 如果缩小图片就需要将图片往右下方移动 ; 此时可以分析出 , 如果要实现 鼠标滚轮缩放的中心点设置为当前鼠标中心点..., 并设置图片位置 ; 这样图片缩放 , 始终可以保证鼠标指向的部位保持位置不变 ; 1、保存当前鼠标指针指向的位置 首先 , 类中定义如下成员字段 , pointer_x 和 pointer_y...pointer_y; 然后 , 鼠标缩放之前 , 保存当前的鼠标位置及比例 ; 鼠标滚轮事件 MouseWheelEvent 中 , 可以直接通过调用 e.getX(), e.getY() 获取到当前

2.7K10

Python之pygame学习鼠标操作(12)

pygame鼠标 ✕ 游戏鼠标的操作大多我们关注的是移动,点击等,pygame有两种(我晓得的)获取鼠标位置,点击。 ?...获取鼠标移动方法1: 事件获取鼠标位置,键按下,弹起, # 鼠标位置event.type == pygame.MOUSEMOTION# 鼠标按下 event.type == pygame.MOUSEBUTTONDOWN...# 鼠标弹起 event.type == pygame.MOUSEBUTTONUP 捕获的事件中, 鼠标位置是: if event.type == pygame.MOUSEMOTION: #...我们记几个常用的: 鼠标是否在窗口内: pygame.mouse.get_focused() 鼠标光标的位置: ball_x, ball_y = pygame.mouse.get_pos() 鼠标按键...# 检测程序界面是否获得鼠标焦点 if pygame.mouse.get_focused(): # 获取光标位置,2个值 ball_x, ball_y = pygame.mouse.get_pos

6.5K30

软件测试|web自动化测试神器playwright教程(二十五)

图片前言鼠标为我们使用电脑提供了很多方便,我们看到的东西就可以将鼠标移动过去进行点击就可以打开或者访问内容,当页面内容过长,我们也可以使用鼠标滚轮来实现对整个页面内容的查看,其实playwright也有鼠标操作的方法...鼠标操作Mouse 鼠标操作是基于page对象去调用,常用的鼠标操作有单击,双击,滚轮,按住,移动,释放。page.mouse 使用Mouse 类相对于视口左上角的主框架 CSS 像素中运行。..."""参数说明:x 横向坐标位置y 纵向坐标位置delay 是mousedown 和 mouseup 事件中间的等待时间,单位是毫秒,默认是0button 是点击元素的位置:"left", "middle...(**kwargs)mouse.move 移动调度一个鼠标移动事件,源码如下:def move(self, x: float, y: float, *, steps: typing.Optional[int..."""语法如下:mouse.move(x, y)mouse.move(x, y, **kwargs)wheel 滚轮调度一个wheel事件

21620

【opencv小项目】深入理解回调函数

回调函数不是由该函数的实现方法直接调用,而是特定的事件或条件发生由另外的一方调用的,用于对该事件或条件进行响应。...如果你学过单片机,那你可以将鼠标回调函数理解为单片机的中断函数 运行机制: ⑴定义一个回调函数; ⑵函数实现的一方初始化的时候,将回调函数的函数指针注册给调用者; ⑶当特定的事件或条件发生的时候,调用者使用函数指针调用回调函数对事件进行处理...程序如下(详细注释): //@event:鼠标事件标志(不需要自己传参) //@x:鼠标在窗口中的x坐标 //@y:鼠标在窗口中的y坐标 //@flags:自定义的宏,做标记符,Ture开始绘制矩形...(g_bDrawingBox) { //如果绘制标识符为真,则记录下移动矩形的宽,高 g_rectangle.width = x - g_rectangle.x; g_rectangle.height...) { //如果绘制标识符为真,则记录下移动矩形的宽,高 g_rectangle.width = x - g_rectangle.x; g_rectangle.height

1.3K40

Fabric.js 锁定背景图,不受缩放和拖拽的影响🎃

本文主要讲解如何锁定背景图,锁定背景图其实只需设置1个属性即可。 本文会添加滚轮缩放画布、拖拽画布等功能来测试 “锁定背景图” 的效果。...**设置了这个,背景图就不会再移动了,不受视口的变化影响。 添加背景图、矩形和圆形 为了方便演示,我要设置一个背景图和两个图形元素,缩放只会修改图形元素,背景图是一动不动的。...拖拽包括鼠标点下,鼠标移动,松开鼠标这3个事件鼠标点下:mouse:down 鼠标移动:mouse:move 松开鼠标:mouse:up canvas.on('mouse:down', opt =>...{ // 鼠标按下触发 let evt = opt.e canvas.isDragging = true // isDragging 是自定义的 canvas.lastPosX = evt.clientX...=> { // 鼠标移动触发 if (canvas.isDragging) { let evt = opt.e let vpt = canvas.viewportTransform

2.9K20

原生 JS 手写一个优雅的图片预览功能,带你吃透背后原理

或3D上的旋转,缩放,移动,倾斜等等变换,通过设置 translate(x,y) 即可偏移元素位置,设置scale即可缩放元素,当然你也可以只设置 matrix 来完成上述所有操作,这涉及到矩阵变换的知识...例如鼠标移动事件对应 mousemove,移动端因为没有鼠标则对应 touchmove,而本文将介绍如何仅通过指针事件来进行多端统一的事件监听。...,否则图片会加速逃逸可视区域 startPoint = { x: e.clientX, y: e.clientY } }})图片双指缩放(移动端) TouchEvent 的事件对象中,我们可以找到...这么说有点抽象,我们还是回到代码中,双指缩放将这个偏移量减掉,同样的PC端的缩放中,我们也加入对偏移量的修正:let scaleOrigin = { x: 0, y: 0, }// 获取中心改变的偏差...虽然浏览器滚动对应的其实是 scroll 事件,但我们PC上滚动通常都是用利用滚轮(笔记本触控板也被视作滚轮),所以滚轮事件中阻止系统默认事件也就阻止了滚动,但不是完全阻止,因为滚动条没隐藏的话还是可以拖动来滚动页面的

2.3K71

Canvas鼠标滚轮缩放以及画布拖动(图文并茂版)

事件坐标系 构造函数中添加对 Canvas 的 mousedown 事件监听,记录点击鼠标相对屏幕的位置 xy。...class Scene { x = 0; // 记录鼠标点击Canvas的横坐标 y = 0; // 记录鼠标点击Canvas的纵坐标 constructor(id, options =...画布的整体偏移量记录在 offset.x 和 offset.y鼠标触发 mousedown 事件,记录当前鼠标点击的位置相对于屏幕的坐标 x, 和 y,并且开始监听鼠标的 mousemove 和 mouseup...鼠标触发 mousemove 事件时计算每次移动整体累加的偏移量: onMousemove(e) { this.offset.x = this.curOffset.x + (e.x - this.x...计算放大系数 监听鼠标滚轮的 mousewheel 事件事件的回调函数中通过 event.wheelDelta 值的变化来实时计算当前的缩放值,其中 event.wheelDelta > 0 表示放大

1.6K10

数字孪生:第三人称鼠标操作

键盘鼠标操作与几何变换的对应 左键+X轴 沿纬线移动 左键+Y轴 沿经线移动 右键+X轴、键盘AD 左右移动 右键+Y轴 前后移动(水平面) 鼠标滚轮、键盘WS 前后移动 鼠标滚轮按下 飞到目标位置...瞬间移动 通常玩家还需要快速飞到鼠标点击的地方,所以利用鼠标中键作为跳跃键,发射一条射线来锁定点击位置,再飞过去,因为有FloatingPawnMovement的存在,并不会“瞬移”过去,而是几百毫秒内过渡过去...水平移动 前面提到,鼠标垫是二维的,但三维旋转有3个维度,因此必须牺牲掉一个维度,所以相机旋转只能偏航(yaw)、俯仰(pitch),无法翻滚(roll).同理,三维移动也有3个维度(xy、z),鼠标只能实现水平面方向的平移...(xy),舍弃掉竖直方向的移动(z)。...鼠标沿横轴移动,只需要让pawn沿自身坐标系的Y移动即可,但鼠标纵轴移动,情况稍微复杂一点,pawn需要沿着面前的世界水平线运动,也就是俯仰,弹簧臂扫过的平面与水平面的交线,然后计算这条线自身坐标系中的

86830

OpenGl 实现鼠标分别移动多个物体

, 三个参数分别是鼠标响应的事件类型,比如左键点击,右键点击之类,x,y则是当前鼠标在窗口的位置坐标。...下面这个是处理鼠标移动时候的调用函数 glutMotionFunc(&func(int x,inty)); // 鼠标移动的时候的函数 x,y当前鼠标坐标 反正调用起来非常的简单只要自己写好一个鼠标点击类事件处理函数和一个鼠标移动事件处理函数...其次我们鼠标要点击选取一个物体,当我们鼠标按住移动,物体跟随我们的鼠标移动。...那么问题就来了,选取了物体后,如何实现物体跟随我们鼠标移动呢?   非常简单,水平方向上,只要在鼠标移动移动后的坐标减去移动前的坐标然后除以物体的宽度或者长度 ,就得到了移动的法向量。...: // 鼠标运动 void onMouseMove(int x, int y) { //当鼠标状态为按下进入后续判断 if (mousetate) { //x对应y

2.5K20

简易Qt图片查看器

本篇使用Qt来实现一个可以查看任意目录下图片的图片查看器,可以电脑中任意目录下图片的查看,并且可以通过鼠标滚轮以及鼠标移动来实现图片的灵活放大、缩小,此外,在打开一个图片后,若该目录下还有其它图片,通过左右切换...painter.drawPixmap(m_point, m_img); } } 2.3.2 鼠标缩放与移动 图片的显示还支持鼠标操作,可以实现滚轮的放大缩小,移动显示。...滚动的移动,使用的wheelEvent来获取滚轮事件,当滚轮向前滑动,增大缩放比例,当滚轮向后滑动,减小缩放比例,然后调用update函数触发图像重绘。...view的位置 m_x = event->x(); m_y = event->y(); if (angleY > 0) { m_scale *= 1.08...,使用的mouseMoveEvent来获取鼠标移动事件,并结合mousePressEvent来检查鼠标左键是否按下,当鼠标左键按下且鼠标移动,才进行图片的移动显示。

2.2K10

【QT】图形视图、动画框架

图形项可以处理键盘事件鼠标事件,如鼠标按下事件移动、释放及双击事件,还可以跟踪鼠标移动。...图形项支持如下功能: 鼠标按下、移动、释放、双击、悬停、滚轮和右键菜单事件 键盘输入焦点和键盘事件 拖放事件 分组,使用QGraphicsItemGroup通过parent-child关系来实现。...X坐标和Y坐标来表示。...当创建一个自定义的图形项,只需要考虑图形项的坐标系统,QGraphicsScene和QGraphicsView会完成其它所有的转换。 图像项的位置是指图像项的原点在其父图像项或场景中的位置。...一个图像项可以接收悬停事件,当鼠标进入它的区域之中,它就会收到一个QGraphicsSceneHoverEnter事件鼠标图像项的区域移动,QGraphicsScene就会向该图像项发送GraphicsSceneHoverLeave

1.4K30

前端学习(53)~键盘事件

鼠标的拖拽事件 拖拽的流程: (1)onmousedown:当鼠标在被拖拽元素上按下,开始拖拽; (2)onmousemove:当鼠标移动被拖拽元素跟随鼠标移动; (3)onmouseup:当鼠标松开...,被拖拽元素固定在当前位置。...鼠标滚轮事件 onmousewheel:鼠标滚轮滚动的事件,会在滚轮滚动触发。但是火狐不支持该属性。 DOMMouseScroll:火狐中需要使用 DOMMouseScroll 来绑定滚动事件。...当onkeydown连续触发,第一次和第二次之间会间隔稍微长一点,后续的间隔会非常快。这种设计是为了防止误操作的发生。 键盘事件一般都会绑定给一些可以获取到焦点的对象或者是document。...event = event || window.event; console.log('qianguyihao:键盘按下了'); // 判断y

1K20

H7-TOOL发布固件V2.13,全新示波器上位机界面,信号发生器任意波形输出,脱机烧录增加BlueNRG-LP和桃芯科技(2022-02-11)

(2)、CH1和CH2波形上下位置调节方法 按住鼠标左键,可以鼠标上下拖动CH1通道波形位置。 按住鼠标右键,可以鼠标上下拖动CH2通道波形位置。...(3)、CH1和CH2波形左右位置调节方法 按住鼠标左键,可以鼠标左右拖动CH1和CH2通道波形位置。...现在显示区做了控制,不会完全移动到波形区外: (4)、CH1和CH2波形放缩 CH1和CH2是同时放缩的,鼠标剪头波形显示区内,鼠标滚轮可以放缩波形: (5)、垂直光标测量,用于波形周期测量..., 然后点击鼠标左键就可以上下调节位置了: (8)、测量量程调节 测量量程的调节,需要大家将鼠标箭头移动到CH1或者CH2的旋钮里面即可,然后鼠标滚轮就可以调节量程了。...波形显示,修正X,格式显示异常的问题. DS18B20不能显示波形 4. 修正底栏缩放文字重叠问题 5. CAN助手解码器如有语法错误则显示出错原因 6.

1.1K30

接上一篇事件详解

:当元素获得或失去焦点触发; 有:blur:元素失去焦点触发,这个事件不会冒泡,所有浏览器都支持。...foucs:元素获得焦点触发,这个事件不会冒泡,所有浏览器都支持。...鼠标事件:当用户通过鼠标页面操作触发; click事件:在用户单击鼠标按钮或者按下回车键触发; dblclick事件:在用户双击鼠标按钮被触发; mousedown事件:在用户按下了任意鼠标按钮被触发...mouseenter事件鼠标光标从元素外部移动到元素范围之内被触发;这个事件不冒泡; mousemove事件:当鼠标指针元素内部移动重复地触发。...,也是鼠标滚轮滚动触发,与mousewheel事件一样,但是他的有关鼠标滚轮信息保存在detail属性中,当鼠标向前滚动,这个属性值是-3的倍数,当鼠标滚轮向后滚动,这个属性值是3的倍数;也可以给

1.8K60
领券