c语言冻结窗口,c – 由QMessageBox冻结的应用程序

我有这小段代码:

#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

我的问题:

>这是一个已知的错误吗?

>我做错了什么?

>有一个简单的解决方法吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值