بستن فرم
-
من دوتا فرم دارم فرم دوم را نمایش میدم و میخوام فرم اولم را ببندم این کدها رو نوشتم
@
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "mydialog.h"MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}MainWindow::~MainWindow()
{
delete ui;
}void MainWindow::on_pushButton_clicked()
{myDialog mdialog; mdialog.exec();
}
@@
#include "mydialog.h"
#include "ui_mydialog.h"
#include "mainwindow.h"myDialog::myDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::myDialog)
{
ui->setupUi(this);MainWindow mainWindow;
mainWindow.close();
}myDialog::~myDialog()
{
delete ui;
}@
-
p{direction: rtl; text-align:right}. اولن MainWindow و myDialog خطای Circular Inclution دارن. حداقل باید یکیشو Forward Declare کنی.
p{direction: rtl; text-align:right}. دوم این که توی سازندهٔ یک کلاس مشتقشده از کلاس QWidget یا QMainWindow نمیتونی ببندیش.
-
@
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "mydialog.h"MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}MainWindow::~MainWindow()
{
delete ui;
}void MainWindow::on_pushButton_clicked()
{
myDialog *mdialog=new myDialog(); //تبدیل میشه به پوینتر
mdialog->show();this->close(); //فرم خودش رو میبنده
}
@
@
#include "mydialog.h"
#include "ui_mydialog.h"
//#include "mainwindow.h" احتیاجی نیستmyDialog::myDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::myDialog)
{
ui->setupUi(this);
}
@