QT 11 鼠标键盘事件添加
鼠标事件
- void mousePressEvent(QMouseEvent *event); //单击
- void mouseReleaseEvent(QMouseEvent *event); //释放
- void mouseDoubleClickEvent(QMouseEvent *event); //双击
- void mouseMoveEvent(QMouseEvent *event); //移动
- void wheelEvent(QWheelEvent *event); //滑轮
鼠标事件使用的时候,加头文件
- #include <QMouseEvent>
- ···
- // 鼠标按下事件
- void Widget::mousePressEvent(QMouseEvent *event)
- {
- // 如果是鼠标左键按下 改变指针形状,并且存储当前指针位置与窗口位置的差值。
- if(event->button() == Qt::LeftButton){
- ···
- }
- // 如果是鼠标右键按下
- else if(event->button() == Qt::RightButton){
- ···
- }
- }
- // 鼠标移动事件 默认情况下,触发事件需要点击一下,才能触发。可设置为自动触发:setMouseTracking(true);
- void Widget::mouseMoveEvent(QMouseEvent *event)
- {
- // 这里必须使用buttons()
- if(event->buttons() & Qt::LeftButton){ //进行的按位与
- ···
- }
- }
- // 鼠标释放事件
- void Widget::mouseReleaseEvent(QMouseEvent *event)
- {
- ···
- }
- // 鼠标双击事件
- void Widget::mouseDoubleClickEvent(QMouseEvent *event)
- {
- // 如果是鼠标左键按下
- if(event->button() == Qt::LeftButton){
- ···
- }
- }
- // 滚轮事件
- void Widget::wheelEvent(QWheelEvent *event)
- {
- // 当滚轮远离使用者时
- if(event->delta() > 0){
- ···
- }else{//当滚轮向使用者方向旋转时
- ···
- }
- }
键盘事件
- void keyPressEvent(QKeyEvent *event);
- void keyReleaseEvent(QKeyEvent *event);
键盘事件使用时,加头文件
- #include <QKeyEvent>
- // 键盘按下事件
- void Widget::keyPressEvent(QKeyEvent *event)
- {
- // 是否按下Ctrl键 特殊按键
- if(event->modifiers() == Qt::ControlModifier){
- // 是否按下M键 普通按键 类似
- if(event->key() == Qt::Key_M)
- ···
- }
- else QWidget::keyPressEvent(event); //保存默认事件
- //如果是处理两个普通按键,得避免自动重复,释放中也要处理
- if(event->key() == Qt::Key_Up){
- // 按键重复时不做处理
- if(event->isAutoRepeat()) return;
- // 标记向上方向键已经按下
- keyUp = true;
- }else if(event->key() == Qt::Key_Left){
- if(event->isAutoRepeat()) return;
- keyLeft = true;
- }
- }
- // 按键释放事件
- void Widget::keyReleaseEvent(QKeyEvent *event)
- {
- ···
- //如果是处理两个普通按键,得避免自动重复
- if(event->key() == Qt::Key_Up){
- if(event->isAutoRepeat()) return;
- ···
- }
- else if(event->key() == Qt::Key_Left){
- if(event->isAutoRepeat()) return;
- ···
- }
- }
QT 11 鼠标键盘事件添加的更多相关文章
- 【转】Qt鼠标键盘事件
http://blog.csdn.net/lovebird_27/article/details/50351336 Qt 程序需要在main()函数创建一个QCoreApplication对象,然后调 ...
- Linux 模拟 鼠标 键盘 事件
/************************************************************************ * Linux 模拟 鼠标 键盘 事件 * 说明: ...
- Python——pyHook监听鼠标键盘事件
pyHook包为Windows中的全局鼠标和键盘事件提供回调. 底层C库报告的信息包括事件的时间,事件发生的窗口名称,事件的值,任何键盘修饰符等. 而正常工作需要pythoncom等操作系统的API的 ...
- Python - selenium_WebDriver 鼠标键盘事件
from selenium import webdriver #引入ActionChains类 提供了鼠标的操作方法 from selenium.webdriver.common.action_cha ...
- Tkinter 鼠标键盘事件(一)
一: 鼠标事件 <Button-1> 鼠标左键单击 ...
- Selenium4.0+Python3系列(四) - 常见元素操作(含鼠标键盘事件)
一.写在前面 上篇文章介绍的是关于浏览器的常见操作,接下来,我们将继续分享关于元素的常见操作,建议收藏.转发! 二.元素的状态 在操作元素之前,我们需要了解元素的常见状态. 1.常见元素状态判断,傻傻 ...
- openGL 初试 绘制三角形 和添加鼠标键盘事件
code: #include <gl/glut.h> #include <stdlib.h> void render(void); void keyboard(unsigned ...
- Qt中的键盘事件,以及焦点的设置(比较详细)
Qt键盘事件属于Qt事件系统,所以事件系统中所有规则对按键事件都有效.下面关注点在按键特有的部分: focus 一个拥有焦点(focus)的QWidget才可以接受键盘事件.有输入焦点的窗口是活动窗口 ...
- Javascript鼠标键盘事件
鼠标事件click:单击dblclick:双击mousedown:鼠标按下mouseup:鼠标抬起mouseover:鼠标悬浮mouseout:鼠标离开mousemove:鼠标移动mouseenter ...
随机推荐
- c#英文大小写快捷键
选中一段英文 Ctrl+U 转小写 Ctrl+Shift+U 转大写
- 为什么要先装IIS后装.Net Framework?
1.动态页面和静态页面的区别 动态页面(动态网站):通过C#代码(或别的语言)与服务器的交互的实现(比如新建一个ashx一般处理程序中的C#代码就可以和服务器实现交互,修改数据库,上传图片等都属于和服 ...
- 在C语言结构体中添加成员函数
我们在使用C语言的结构体时,经常都是只定义几个成员变量,而学过面向对象的人应该知道,我们定义类时,不只是定义了成员变量,还定义了成员方法,而类的结构和结构体非常的相似,所以,为什么不想想如何在C语言结 ...
- 汇编语言--CPU资源和存储器(二)
二.CPU资源和存储器 需要访问的硬件资源主要有:CPU内部资源.存储器和I/O端口. 1.寄存器组 (1)16位寄存器组 16位CPU所含有的寄存器有(见图2.1中16位寄存器部分): 4个数据寄存 ...
- 洛谷P4438 [HNOI/AHOI2018]道路(dp)
题意 题目链接 Sol 每当出题人想起他出的HNOI 2018 Day2T3,他都会激动的拍打着轮椅 读题比做题用时长系列... \(f[i][a][b]\)表示从根到\(i\)的路径上,有\(a\) ...
- Node.js+Koa开发微信公众号个人笔记(二)响应事件
微信公众号中的事件有订阅事件/扫码事件/点击事件/跳转链接事件等等,具体可以查阅文档. 这里来实现一下订阅事件,其他的事件的实现过程也都类似. 当有人订阅了公众号后,微信服务器会向我们的服务器推送一个 ...
- parseInt转换
function parse2Int(num) { return parseInt(num,10); } 如果 string 以 "0x" 开头,parseInt() 会把 str ...
- 14.python与数据库之mysql:pymysql、sqlalchemy
相关内容: 使用pymysql直接操作mysql 创建表 查看表 修改表 删除表 插入数据 查看数据 修改数据 删除数据 使用sqlmary操作mysql 创建表 查看表 修改表 删除表 插入数据 查 ...
- Access删除某一字段重复的数据但是要保留一条
如下图所示,Checktime这个字段有很多重复数据,我需要把所有Checktime这个字段重复的都删掉,但是还需要保留一条: 在Access做删除查询怎么做呀,来个Access高手,复制粘贴党请手下 ...
- python第一百零二天-----第十七周作业
由于内容众多 直接使用 git 链接 : https://github.com/uge3/hosts_masg 主机管理WEB页面 使用 SQLALchemy 主机管理(8列) ip 用户表: 用户名 ...