У меня есть класс, который наследует от QDialog
(Dialog_game_over). Я показываю объект этого класса в слоте другого класса. Я хочу закрыть mainwindow
а также QDialog
когда пользователь нажал на ok
кнопка. Сначала я построил объект mainwindow
в dialog_game_over
и закрой его. Но так было не правильно. Что я делаю для закрытия программы в классе, отличном от основного класса?
dilog_game_over::dilog_game_over(QWidget *parent) :
QDialog(parent),x_size(400),y_size(400)
{
ok=new QPushButton(this);
ok->setText("OK");
ok->move(200,200);
connect(ok,SIGNAL(clicked()),this,SLOT(on_ok_clicked()));
}
void dilog_game_over::on_ok_clicked()
{
accept();
this->close();
}
class Myenemy1 : public QGraphicsObject
{
Q_OBJECT
public slots:
void loss();
private:
dilog_game_over dlg;
}
void Myenemy1::loss()
{
....
dlg.exec();
}
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),size_of_plane_y(600),size_of_plane_x(2500)
{
set_scene();
put_cloud();
put_point();
}
По всему вашему заявлению вы можете выйти по:
qApp->quit();
Или же
qApp->exit(0);