一、前言
最近在做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!")