窗口变量创建在了函数内部(局部变量),解决方案如下: 将窗口变量写到.h文件中。因为函数内部的(普通)变量存在于栈上,函数执行完就会自动销毁,且show函数又不会阻塞,所以show后函数接着往下执行,函数执行完毕后就会销毁创建的窗口变量。修改为创建指针变量,直接在函数内部将变量创建为指针在show即可,但是这样会产生内存泄漏;同样推荐在.h文件中创建窗口指针变量,并用智能指针进行管理使用阻塞的exec调用