【问题标题】:How to close main window from another class?如何关闭另一个班级的主窗口?
【发布时间】:2014-07-10 10:38:42
【问题描述】:

我有一个继承自 QDialog (dialog_game_over) 的类。我在另一个类的插槽中显示该类的一个对象。当用户单击ok 按钮时,我想关闭mainwindowQDialog。首先,我在dialog_game_over 中构建了一个mainwindow 的对象并关闭它。但这种方式是不正确的。关闭主课以外的课程怎么办?

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();
}

【问题讨论】:

    标签: c++ qt qmainwindow qdialog mainwindow


    【解决方案1】:

    您可以通过以下方式退出整个应用程序:

    qApp->quit();  
    

    或者

    qApp->exit(0);
    

    【讨论】:

    猜你喜欢
    • 2014-04-25
    • 1970-01-01
    • 1970-01-01
    • 2012-05-20
    • 2018-07-24
    • 2022-01-07
    • 1970-01-01
    • 1970-01-01
    • 2016-09-24
    相关资源
    最近更新 更多