我想问一下关于qt的QTreeWidget里的1到9按键响应屏蔽,但是不能屏蔽上下键。重写keyPressEvent,1到9仍然会响应。添加tab键,直接1到9和上下键都不能响应了。只要屏蔽1到9,还有没有其他方法了?
void WidgetMain::keyPressEvent(QKeyEvent *e)
{
if(!e->isAutoRepeat())//此方法的作用是用于判断当前按键是否重复按下
{
if(e->key()<=0x30 && e->key()>=0x39 )
{
qDebug()<<"1-9:"<<e->key();//tab and shift tab
return;
}
switch(e->key())
{
case Qt::Key_F1:key_f1_press();break;
case Qt::Key_Return:key_return_press();break;
case Qt::Key_F2:key_f2_press();break;
case Qt::Key_F3:key_f3_press();break;
case Qt::Key_Up: qDebug()<<"UP:"<<e->key(); break;
case Qt::Key_Down: qDebug()<<"Down:"<<e->key(); break;
}
}