Qt下有一个类叫QAccel,可以处理含有CTRL, ALT和SHIFT的组合键。
如果组合键里面没有这几个键, 怎么处理呢?
有一个KeyPressEvent的Slot可以处理:
bool is_key_f8 = false;
bool is_key_f4 = false;
class FreqDlg::KeyPressEvent(QKeyEvent *e)
{
switch(e->key())
{
case Key_F4:
if(is_key_f8)
{
is_key_f8 = false;
is_key_f4 = false;
start_check();
}
else
is_key_f4 = true;
break;
case Key_F8:
if(is_key_f4)
{
is_key_f4= false;
is_key_f8 = false
start_check();
}
else
is_key_f8 = true;
break;
default:
QWidget::KeyPressEvent(e);
}
}