无线键盘加号键按下
void Mode1Wx::keyPlus()
{
qDebug()<<"plus
press";
pressKey=Key_Plus;
ui->forwardBtn->mpress();
}
无线键盘减号键按下
void Mode1Wx::keyMinus()
{
qDebug()<<"minus
press";
pressKey=Key_Minus;
ui->backwardBtn->mpress();
}
无线键盘按键释放
void Mode1Wx::keyRelease()
{
qDebug()<<"key
release"<<pressKey;
if(pressKey==Key_Plus)
{
qDebug()<<"plus release";
ui->forwardBtn->mrelease();
pressKey=0;
}
else
if(pressKey==Key_Minus)
{
qDebug()<<"minus release";
ui->backwardBtn->mrelease();
pressKey=0;
}
}
void FeedPushButton::mousePressEvent(QMouseEvent *event)
{
FunLib::playAudio("default.wav");//多线程播放语音
QPushButton::mousePressEvent(event);
qDebug()<<"timer1
start";
timer1->start(500);
emit
feedPushButtonPress();
}
void FeedPushButton::mouseReleaseEvent(QMouseEvent
*event)
{
QPushButton::mouseReleaseEvent(event);
timer1->stop();
timer2->stop();
qDebug()<<"timer12
stop";
}
按住减号键马上抬起,先收到键盘按下信号,后收到键盘抬起信号,但是有时候出现先打印timer12 stop,后打印timer1
start的问题。
原因:多线程的问题,按下的时候播放语音是个多线程,播放过程中,线程切换可能会执行qDebug()<<"timer1
start";也可能会执行 qDebug()<<"timer12 stop";
加载中,请稍候......