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