模态、非模态
1、非模态
- Device = new Server_Device(this);
- Device->show();
- //父窗口可被操作 当close();后 仍可show()出 使用
- this->setAttribute(Qt::WA_DeleteOnClose);//可使窗口在close();时释放
2模态
在子窗口中
- Device = new Server_Device(this);
- Device->show();
- this->setAttribute(Qt::WA_ShowModal, true);
- //父窗口不可被操作 在子窗口使用期间,父窗口仍可被信号激发 可使用
- this->setAttribute(Qt::WA_DeleteOnClose); //可使窗口在close();时释放
3模态exec
- Server_Device Device;
- Device.exec();
- //父窗口不可被操作并一直处于Device.exec();在等待返回,不能被信号激发
由于是在栈上创建的,离开此槽函数后,被销毁,不需要手动销毁
**注意由于在堆上创建(Device = new Server_Device(this);)和棧上创建(Server_Device Device;),对象的生命周期不同,在以上两种中,匀不能在棧上创建,否则窗口一闪而过;
但此模态也可以使用在堆上创建,使用后需手动销毁 (在exec();后销毁)
阅读(1870) | 评论(0) | 转发(0) |