初始界面里一个按键来弹出另一个界面,但是弹出的界面里只显示控件直接覆盖在原来界面上,没有最小化,关闭这些按键和边框,关也关不了
这个按键用的函数是
void qthalconmw::on_inforbutton_clicked()
{
Form *form = new Form(this);
form->show();
}
初始界面里一个按键来弹出另一个界面,但是弹出的界面里只显示控件直接覆盖在原来界面上,没有最小化,关闭这些按键和边框,关也关不了
这个按键用的函数是
void qthalconmw::on_inforbutton_clicked()
{
Form *form = new Form(this);
form->show();
}
该回答引用自GPT-3.5,由博主GISer Liu编写:
针对你描述的问题,可以按照以下步骤解决:
on_inforbutton_clicked()
,在该函数内创建新窗口并显示。void qthalconmw::on_inforbutton_clicked() {
Form *form = new Form(); // 不再传递 this,以避免新窗口以子窗口的形式显示在原窗口中
form->setAttribute(Qt::WA_DeleteOnClose); // 在关闭时自动释放内存
form->setWindowFlags(Qt::Window); // 设置窗口标志,确保显示窗口边框和窗口管理按钮
form->show();
}
setWindowFlags(Qt::Window)
:此设置确保新窗口被视为独立窗口,具有窗口边框和管理按钮。setAttribute(Qt::WA_DeleteOnClose)
:此设置确保在窗口关闭时释放与其关联的内存,避免内存泄漏。如果该回答解决了您的问题,请采纳!如果没有,请参考以下方案进行修订