问题描述
环境:win10,Qt_5_9_0_mingw53_32-Release
背景:设计一个定时启动全屏锁屏工具
问题:widget窗体在设置hide()隐藏后。定时启动调用界面时,界面一闪而过。
原因:分析发现,是因为函数作用域的关系,在窗体内调用的作用域,仅限于该模块,结束后即销毁。故需要设定全局变量,或定义在窗体的构造函数{}外。
解决方法
在main()中,连接widget的信号和槽调用show()
头文件:widget.h
signals:
void sendsignal();
主函数:main.cpp
//创建窗体并显示,连接信号和槽
Widget w;
w.show;
QObject::connect(&w, SIGNAL(sendsignal()), &w, SLOT(Show()));
源文件:widget.cpp
//设置在某个调用模块中,发送信号
emit sendsignal();