一、前言

最近在做QWT开发的时候碰到一个问题,QwtPlotZoomer提供的放大、缩小操作只支持鼠标事件或键盘事件,但是我希望通过点击软件上的按钮去响应放大、缩小操作,但是事件槽函数不是我写的,不知道怎么调用,所以就只能给放大、缩小操作写一个快捷键了。例如:点击键盘I键放大、O键缩小,然后只需要在软件按钮槽函数中模拟按下了I键和O键,就可以响应相应的放大、缩小操作了。


二、具体操作

//模拟按下键盘I键
QWidget *receiver = QApplication::focusWidget();
QKeyEvent keyPress(QEvent::KeyPress, Qt::Key_I, Qt::NoModifier);
QKeyEvent keyRelease(QEvent::KeyRelease, Qt::Key_I, Qt::NoModifier);
QApplication::sendEvent(receiver, &keyPress);
QApplication::sendEvent(receiver, &keyRelease);
//模拟按下键盘O键
QWidget *receiver = QApplication::focusWidget();
QKeyEvent keyPress(QEvent::KeyPress, Qt::Key_O, Qt::NoModifier);
QKeyEvent keyRelease(QEvent::KeyRelease, Qt::Key_O, Qt::NoModifier);
QApplication::sendEvent(receiver, &keyPress);
QApplication::sendEvent(receiver, &keyRelease);

QKeyEvent构造函数:

  • 第一个参数:QEvent事件(查阅官方文档)
  • 第二个参数:键盘按键(查阅官方文档)
  • 第三个参数:组合键

Constant

Description

Qt::NoModifier

没有组合键被按下

Qt::ShiftModifier

Shift键被按下

Qt::ControlModifier

Control键被按下

Qt::AltModifier

Alt键被按下

Qt::MetaModifier

Meta键被按下(Fn键)

Qt::KeypadModifier

按下键盘按钮


c 使用mysql查询数据 查询mysql语句
drop database 新数据库名称 if exists //该语句用于判断要创建的数据库是否已存在,如果存在则删除已存在的数据库,繁殖不做任何处理 create database 新数据库名称 show databases 查看已存在的数据库 show tables 查看已存在的数据表 drop table tablename删除数据表
Python中s_info的功能 python中info函数的作用

函数函数的定义及作用: 函数是为了提高效率和代码的重用率,函数是对特定功能进行封装代码格式格式: def 函数名(): 代码逻辑函数的调用 函数不调用不执行 格式: 函数名()def info(): print("你好!") print("世界!") info()注意: 重名函数 后面的函数会覆盖前面的函数def info(): print("hello!")