• 2090阅读
  • 2回复

[讨论]sendEvent疑问 [复制链接]

上一主题 下一主题
在线liulin188
 

只看楼主 倒序阅读 楼主  发表于: 2019-05-11
模拟发送按键QTextEdit
QKeyEvent keyPress(QKeyEvent::KeyPress, Qt::Key_A Qt::NoModifier);
QApplication::sendEvent(ui->textEdit, &keyPress);
QKeyEvent keyRelease(QKeyEvent::KeyRelease, Qt::Key_A, Qt::NoModifier);
QApplication::sendEvent(ui->textEdit, &keyRelease);

QTextEdit能收到这个事件,但是没有效果(不输入A),如果其他的按键比如Delete, Backspace,或者组合键Ctr + A,Ctr + V就有效果。。。

有过这方面编程经验的老铁帮下忙,谢谢!!!

参考帖子:https://www.cnblogs.com/lifexy/p/9042862.html
https://wiki.qt.io/Qt_5.12_Release
https://wiki.qt.io/New_Features_in_Qt_5.12
https://wiki.qt.io/Qt_5.12.0_Known_Issues
https://www.qt.io/blog/qt-5.13.2-released
https://www.qt.io/blog/qt-creator-4.10.2-released
https://wiki.qt.io/Qt_5.12_Tools_and_Versions
在线liulin188

只看该作者 1楼 发表于: 2019-05-11
还是尝试windows api sendmessage了
https://wiki.qt.io/Qt_5.12_Release
https://wiki.qt.io/New_Features_in_Qt_5.12
https://wiki.qt.io/Qt_5.12.0_Known_Issues
https://www.qt.io/blog/qt-5.13.2-released
https://www.qt.io/blog/qt-creator-4.10.2-released
https://wiki.qt.io/Qt_5.12_Tools_and_Versions
离线diyuanbo

只看该作者 2楼 发表于: 2019-05-13
试试
    QKeyEvent keyPress(QKeyEvent::KeyPress, Qt::Key_A,Qt::NoModifier,"A");
    QApplication::sendEvent(ui.textEdit, &keyPress);
快速回复
限100 字节
 
上一个 下一个