Chinaunix首页 | 论坛 | 博客
  • 博客访问: 237242
  • 博文数量: 27
  • 博客积分: 270
  • 博客等级: 二等列兵
  • 技术积分: 444
  • 用 户 组: 普通用户
  • 注册时间: 2012-11-21 19:55
个人简介

Enjoy yourself!

文章分类

分类: C/C++

2013-01-07 15:03:01

模态、非模态

1、非模态 

点击(此处)折叠或打开

  1. Device = new Server_Device(this);
  2. Device->show();
  3. //父窗口可被操作 当close();后 仍可show()出 使用
  4. this->setAttribute(Qt::WA_DeleteOnClose);//可使窗口在close();时释放



2模态

在子窗口中

点击(此处)折叠或打开

  1. Device = new Server_Device(this);
  2. Device->show();
  3. this->setAttribute(Qt::WA_ShowModal, true);

  4. //父窗口不可被操作 在子窗口使用期间,父窗口仍可被信号激发 可使用
  5. this->setAttribute(Qt::WA_DeleteOnClose); //可使窗口在close();时释放




3模态exec

点击(此处)折叠或打开

  1. Server_Device Device;
  2. Device.exec();
  3. //父窗口不可被操作并一直处于Device.exec();在等待返回,不能被信号激发


由于是在栈上创建的,离开此槽函数后,被销毁,不需要手动销毁 

**注意由于在堆上创建(Device = new Server_Device(this);)和棧上创建(Server_Device Device;),对象的生命周期不同,在以上两种中,匀不能在棧上创建,否则窗口一闪而过;

但此模态也可以使用在堆上创建,使用后需手动销毁   (在exec();后销毁)



阅读(1870) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~