我正在创建一个程序,需要打开一个表单,然后单击按钮关闭之前的表单。我目前的问题是,当我单击按钮时,新窗体显示一毫秒然后消失。
void mainMenu::on_mainLoginB_clicked()
{
logIn objlogIn;
objlogIn.show();
}
void mainMenu::on_mainExitB_clicked()
{
exit(1);
}
这是我的头文件
private slots:
void on_mainLoginB_clicked();
void on_mainExitB_clicked();
private:
Ui::mainMenu *ui;
};
答案 0 :(得分:3)
objLogIn
在SLOT的范围内声明,因此,在函数返回时删除。
请记住,QT与大多数用户界面一样使用事件(消息)循环,因此像show()
这样的函数不会阻塞:它们会立即返回,而事件循环则是进一步管理它。
解决此问题: