• 8850阅读
  • 10回复

键盘消息 [复制链接]

上一主题 下一主题
离线icelee
 
只看楼主 正序阅读 楼主  发表于: 2008-11-17
— 本帖被 XChinux 执行加亮操作(2009-01-06) —
如何实现当我按下"5"键时去执行"↑"的功能呢?
程序人生
离线icelee
只看该作者 10楼 发表于: 2008-12-16
4楼的方法可以,“new一个keyEvent,把↑(Qt::Key_Up)的键值作为构造函数的参数传进去,然后执行父类的keyPressEvent,传入新建的keyevent”

我在某窗口(QLogDialog)中的keyPressEven的事件中
void QLogDialog::keyPressEven(QKeyEvent *event)
{
    switch(event->key())
    {
    case Qt::Key_5:
            QKeyEvent *kb = new QKeyEvent (QEvent::KeyPress,Qt::Key_Up,Qt::NoModifier);
            QLogDialog::keyPressEven(kb)
            break;
    default:
            break;
    }
}
程序人生
离线icelee
只看该作者 9楼 发表于: 2008-12-16
QT4 就是比QT3稳定,打错了
程序人生
离线stdjgwyc
只看该作者 8楼 发表于: 2008-12-15
自己比自己还稳~

就是捕捉按,重新发送事件吧
QT交流群群号:2906359,(200人大群,持续升级)
离线icelee
只看该作者 7楼 发表于: 2008-12-15
QT4 就是比QT4稳定
程序人生
离线icelee
只看该作者 6楼 发表于: 2008-11-30
谢谢各位的建议,我还没试,目前的程序是基于QT3,一直被那个“段错误”所困扰,在找BUG,听说QT4稳定点,想把程序移植到QT4上看看。目前正在看如何安装呢。我的环境是RedHat9......
程序人生
离线sbtree
只看该作者 5楼 发表于: 2008-11-17
在重载的keyPressEvent中用"↑"构造一个QKeyEvent ,再由父类的keyPressEvent将该事件发送出去不行吗?

我说得就是楼上的意思
windows 7 + VC++2008 + Qt4.5.2
离线chaoscxm
只看该作者 4楼 发表于: 2008-11-17
new一个keyEvent,把↑的键值作为构造函数的参数传进去,然后执行父类的keyPressEvent,传入新建的keyevent
帖子签名(将在每个帖子下方显示)
离线duduqq

只看该作者 3楼 发表于: 2008-11-17
如果是控制桌面上其他程序执行"↑",那么要用到XTst库的函数
离线icelee
只看该作者 2楼 发表于: 2008-11-17
不好意思我忘了补充了,我用的是QT3+RedHat 9,QT3里面没有keyEvent()这个函数,只有keyPressEvent(),我重载了,可以捕获到具体的每个按键,但是我当捕获了"5"键怎么让他去执行"↑"键的功能呢?
程序人生
离线nmiirq

只看该作者 1楼 发表于: 2008-11-17
实现keyEvent()里相应功能!
快速回复
限100 字节
 
上一个 下一个