QT 触发系统事件

超开心~ 2013-04-18 12:05:00
我想实现下面的一个小功能,比如说我有一个button,当我用鼠标点击这个button的时候,就触发键盘按下事件,这里假如按下键A。该如何实现?求大神指点。感激不尽。
补充:
也就是说我点击button就会有相当于按下键盘A的效果。
...全文
274 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
U_冰糖 2013-04-18
  • 打赏
  • 举报
回复
先将button->installEventFilter(this); 在写bool MyWidget::eventFilter(QObject *obj, QEvent *event) { if (obj == button) { if (event->type() == QEvent::KeyPress) { QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event); qDebug() << "Ate key press" << keyEvent->key(); if(keyEvent->key()==Qt::Key_A) { close(); return true; } } } return QObject::eventFilter(obj, event); } 绝对可以,这个方法可以实现很多功能的
雲天之巔 2013-04-18
  • 打赏
  • 举报
回复
windows的话可以用keybd_event 例子1:模拟按下'A'键    keybd_event(65,0,0,0);    keybd_event(65,0,KEYEVENTF_KEYUP,0);
一如当初 2013-04-18
  • 打赏
  • 举报
回复
点击鼠标时你的程序窗口处于活动状态,这么做就没意义。。。可以通过sendevent发送事件
超开心~ 2013-04-18
  • 打赏
  • 举报
回复
引用 2 楼 qq214517703 的回复:
windows的话可以用keybd_event 例子1:模拟按下'A'键 keybd_event(65,0,0,0); keybd_event(65,0,KEYEVENTF_KEYUP,0);
这个方法我没有试过,但是我的程序中有很多button,类似软键盘之类的,每个button都这么弄的话,太麻烦了
超开心~ 2013-04-18
  • 打赏
  • 举报
回复
引用 楼主 chengchaooppo 的回复:
我想实现下面的一个小功能,比如说我有一个button,当我用鼠标点击这个button的时候,就触发键盘按下事件,这里假如按下键A。该如何实现?求大神指点。感激不尽。 补充: 也就是说我点击button就会有相当于按下键盘A的效果。 Qt 事件 ……
加入我的this对话框中有一个lineEdit,执行下面的程序为什么不行呢? QKeyEvent event(QEvent::KeyPress,65,Qt::NoModifier,"1",false,1); QApplication::sendEvent(this,&event);
超开心~ 2013-04-18
  • 打赏
  • 举报
回复
引用 1 楼 aqtata 的回复:
点击鼠标时你的程序窗口处于活动状态,这么做就没意义。。。可以通过sendevent发送事件
编译有错啊,需不需要加什么头文件之类的?

16,211

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧