• 5526阅读
  • 7回复

[提问]如何开启一个视窗后自动关闭 [复制链接]

上一主题 下一主题
离线peterlin82
 

只看楼主 倒序阅读 楼主  发表于: 2011-01-10
— 本帖被 XChinux 执行加亮操作(2011-01-10) —
小弟利用以下程序开启一个视窗:
f_msgbox *p=new f_msgbox;
p->exec();
delete p;

如果在该视窗中加入一个toolButton,则可利用以下程序码将该视窗关闭。
void f_msgbox::on_toolButton_clicked()
{
  close();
}

但小弟希望开启一个视窗后自动关闭。
我有尝试将close();加在constructor中。程序码如下:
但发现并无作用。
f_msgbox::f_msgbox(QWidget *parent):QDialog(parent)
{
  ui.setupUi(this);
  close();
}

麻烦知道的前辈们能指点。感激不尽。
离线浪漫天使
只看该作者 1楼 发表于: 2011-01-10
满足什么条件就要自动关闭?
离线huzhiwen28

只看该作者 2楼 发表于: 2011-01-12
很简单的定义一个一次性的定时器,就可以了
http://blog.sina.com.cn/tonyhuzhiwen
https://github.com/huzhiwen28/
专注于工业嵌入设备开发
离线jdwx

只看该作者 3楼 发表于: 2011-01-12
除了定时器还有别的方法吗?
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线cycloneii

只看该作者 4楼 发表于: 2011-01-13
在任何事件的处理函数或者信号对应的槽中,调用deletelater()就可以关闭自己
离线peterlin82

只看该作者 5楼 发表于: 2011-01-13
非常感谢huzhiwen28的回覆。

想再请问在定时器中加入close()之前是否要先做什么样的判断式?

我怕系统还没产生完成f_msgbox就被我给close()。我怕这样会有问题。

再次麻烦您,感谢 ^^
离线huzhiwen28

只看该作者 6楼 发表于: 2011-04-25
一般产生窗体的时间是比较长的,所以你担心的问题一般不存在,如果你真的怀疑,就把时间定长点了
http://blog.sina.com.cn/tonyhuzhiwen
https://github.com/huzhiwen28/
专注于工业嵌入设备开发
离线morriszy

只看该作者 7楼 发表于: 2011-04-25
不是很明白楼主为什么要自动关闭诶?能介绍介绍吗?
VS2010+Qt4.7.0
快速回复
限100 字节
 
上一个 下一个