首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

QT中怎么实现子窗口唯一

2013-06-19 
QT中如何实现子窗口唯一?主窗口中有个设置按钮,点击创建设置窗口。问题是点击一次就创建一个,怎样保证窗口

QT中如何实现子窗口唯一?
主窗口中有个设置按钮,点击创建设置窗口。
问题是点击一次就创建一个,QT中怎么实现子窗口唯一
怎样保证窗口唯一?
[解决办法]

引用:
Quote: 引用:

你的意思是创建了一个之后点击按钮就不要再创建新窗口了?

判断窗口是不已经创建,且没有被关闭,不重复创建已经创建且没有关闭的窗口。

主窗口->children()
会返回它的孩子列表,可以从中去判断如果有你已经创建的子对象,那么就不要再创建了。
你的主窗口和子窗口要同时显示的吗?如果你创建子窗口的时候把父窗口隐藏了就不会出现
你说的重复创建的情况了。
[解决办法]
声明static
[解决办法]
标记一下不就行了
if(isCreated)
{
    widget->show();
}
else
{
    widget = new QWidget;
    widget->show();
    isCreated = ture;
}
销毁窗口的时候把isCreated改为false
[解决办法]
告诉你一个最简单的办法,这种问题我解决过,使用QPointer<QWidget> 做一个成员变量,就行了,判断成员变量isNull(),是空就被释放了,否则指针还未析构!
[解决办法]
单例模式??

热点排行