QT下捕捉组合键

来源:互联网 发布:如何给服务器绑定域名 编辑:程序博客网 时间:2024/05/25 19:58

QT下捕捉组合键

日前一直有人在问QT下如果能够判断两个键同时按下,其实这很简单。这样用法无非就是用在做快捷键之类的东西上。但是要注意的是,不能用一些非功能键来组成快捷键,比如说不能A键+B键,或者1键+2键这样,因为这在技术上是比较难实现的。好了,以下是用QT4判断组合键的一种方法:

判断shift + F

1234567
void Window::keyPressEvent(QKeyEvent *e){    if (e->modifiers() == Qt::ShiftModifier && e->key() == Qt::Key_F)    {        //pressed    }}

 

当然,要想做三个键的组合也很容易,比如说shift + control + F

1234567
void Window::keyPressEvent(QKeyEvent *e){    if (e->modifiers() == (Qt::ShiftModifier | Qt::ControlModifier) && e->key() == Qt::Key_F)    {        //pressed    }}

 

附录:

enum Qt::KeyboardModifier

Qt::NoModifier                       0×00000000

Qt::ShiftModifier                    0×02000000

Qt::ControlModifier                0×04000000

Qt::AltModifier                       0×08000000

Qt::MetaModifier                    0×10000000

Qt::KeypadModifier                0×20000000

Qt::GroupSwitchModifier        0×40000000

 

转自:http://blog.esuraid.com/index.php/2008/09/qt-multkey/

原创粉丝点击