如何从另一个类关闭主窗口?

时间:2014-07-10 10:38:43

标签: c++ qt qmainwindow qdialog mainwindow

我有一个继承自QDialog(dialog_game_over)的类。我在另一个类的插槽中显示该类的对象。我想在用户点击mainwindow按钮时关闭QDialogok。首先,我在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();
}

1 个答案:

答案 0 :(得分:2)

您可以通过以下方式退出:

qApp->quit();  

或者

qApp->exit(0);