• 9176阅读
  • 4回复

求教QT中大小键盘的键值。 [复制链接]

上一主题 下一主题
离线tercel
 

只看楼主 倒序阅读 楼主  发表于: 2009-06-17
各位大侠: 
在QT中当点亮Num Lock指示灯时,小键盘1~9 的键值是否跟大键盘 1~9 的键值一样呢?有办法能区分它们吗?
离线vc_2003
只看该作者 1楼 发表于: 2009-06-17
重写virtual void keyPressEvent( QKeyEvent *k ),在里面处理就可以了

k->key()
Qt::Key_NumLock    Qt::Key_0
Qt::Key_1
Qt::Key_2
Qt::Key_3
Qt::Key_4
Qt::Key_5
Qt::Key_6
Qt::Key_7
Qt::Key_8
Qt::Key_9
离线tercel

只看该作者 2楼 发表于: 2009-06-17
谢谢,但是如果我要处理小键盘的按键而忽略大键盘的按键要怎么做呢?我现在的程序如下:

void ClientDialog::keyPressEvent(QKeyEvent *e)
{
     switch (e->key())
     {
          case Qt::Key_2:
              lineEdit_3->setText("sadfasdfas");
          break;
     }
}

这样的话就是不论大键盘还是小键盘的按键都被捕捉到了。
离线wxyao

只看该作者 3楼 发表于: 2011-05-19
顶!
同问,怎么区分是小键盘上的数字键?
直接用QKeyEvent::key()是区分不出来的
离线dbzhang800

只看该作者 4楼 发表于: 2011-05-19
引用第3楼wxyao于2011-05-19 14:20发表的  :
顶!
同问,怎么区分是小键盘上的数字键?
直接用QKeyEvent::key()是区分不出来的
quint32 QKeyEvent::nativeVirtualKey () const
快速回复
限100 字节
 
上一个 下一个