一、debug报错
在选项->构建和运行中 调试器下 如果选择MSVC版本的需要手动添加调试器,可在微软官网下载手动添加
二、安装事件过滤器导致程序异常结束
原代码
bool toolbtn1::eventFilter(QObject *watched, QEvent *event)
{
if(watched==ui->textEdit)
{
if(event->type()==QEvent::KeyPress)
{
QKeyEvent *key=static_cast<QKeyEvent*>(event);
qDebug()<<key->key()<<endl;
if(key->key()==Qt::Key_Enter)
{
qDebug()<<key->key()<<endl;
return true;
}
}
else
return false;
}
return toolbtn1::eventFilter(watched, event);
}
在末尾忘记加else 导致一直递归无法结束
修改后
bool toolbtn1::eventFilter(QObject *watched, QEvent *event)
{
if(watched==ui->textEdit)
{
if(event->type()==QEvent::KeyPress)
{
QKeyEvent *key=static_cast<QKeyEvent*>(event);
qDebug()<<key->key()<<endl;
if(key->key()==Qt::Key_Enter)
{
qDebug()<<key->key()<<endl;
return true;
}
}
else
return false;
}
else{
return toolbtn1::eventFilter(watched, event);
}
}
成功