我有这小段代码:
#include
#include
#include
#include
class MyWidget:public QWidget{
public:
QBasicTimer timer;
protected:
void timerEvent(QTimerEvent*e){
if(e->timerId()==timer.timerId()){
timer.stop();
QMessageBox::critical(this,"Oups",
"I hope you were not resizing the main window.");
return;
}
QWidget::timerEvent(e);
}
};
int main(int argc,char*argv[]){
QApplication app(argc,argv);
MyWidget w;
w.timer.start(2000,&w);
w.show();
return app.exec();
}
我显示一个QWidget,它在两秒后显示一个QMessageBox.
如果我在显示弹出窗口时调整主窗口的大小,我的鼠标光标不会恢复正常(它会保持“调整窗口大小”的样子)并且界面完全冻结.我无法关闭弹出窗口,我无法将鼠标移到任务栏上.
唯一的解决方案是使用ALT TAB导航到Visual studio并停止调试器.
系统(如果重要):
> Windows 7 64位.
> Visual Studio 2013 Addin
> Qt 5.3.0 alpha
我的问题:
>这是一个已知的错误吗?
>我做错了什么?
>有一个简单的解决方法吗?