[완료] Qt mainwindow와 또다른창(widget)이 있을때, mainwindow를 종료하면 또다른창도 종료되게 하고 싶습니다
글쓴이: pogusm / 작성시간: 수, 2011/05/11 - 12:35오전
mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include "widget.h"
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
Ui::MainWindow *ui;
int total;
QWidget *w2;
private slots:
void on_pushButton_quit_program2_clicked();
void on_pushButton_run_program2_clicked();
void on_pushButton_start_clicked();
void on_pushButton_reset_clicked();
};
#endif // MAINWINDOW_Hmainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "widget.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
total=0; // 변수 초기화
}
MainWindow::~MainWindow()
{
delete ui;
w2->close(); // ★★★★★이부분이 생각처럼 작동하지 않음★★★★★★
}
void MainWindow::on_pushButton_reset_clicked()
{
total=0; // 변수 초기화
ui->label_1->setText(trUtf8("0"));
ui->pushButton_start->setEnabled(true); // 시작버튼 비활성화
}
void MainWindow::on_pushButton_start_clicked()
{
ui->pushButton_start->setEnabled(false); // 시작버튼 비활성화
for(int i=1; i<=1000000; i++)
{
total += i;
for(int j=0; j<1000; j++)
{
//테스트를 위해 계산 속도지연
}
}
ui->label_1->setText(QString::number(total));
total=0; // 변수 초기화
ui->pushButton_start->setEnabled(true); // 시작버튼 비활성화
}
void MainWindow::on_pushButton_run_program2_clicked()
{
w2 = new Widget(); // program2
w2->show();
}
void MainWindow::on_pushButton_quit_program2_clicked()
{
w2->close(); // 이부분은 정상적으로 동작함
}(위의 소스코드를 포함하는 전체 소스도 압축파일로 첨부합니다)
질문:
mainwindow에서 program2를 실행하라는 버튼을 누르면 별도의위젯이 새창으로 열립니다.
그런데, mainwindow를 종료해도 program2는 종료되지 않습니다.
MainWindow::~MainWindow()
{
delete ui;
w2->close(); // 이부분이 생각처럼 작동하지 않음
}이부분이 문제인거 같은데.. 조금만 도와주세요 ㅠㅠ
그리고, program2버튼을 누르면 program2가 계속 열리는데.. 단 하나의 창만 실행되게끔 하고 싶습니다.
void MainWindow::on_pushButton_run_program2_clicked()
{
w2 = new Widget(); // program2
w2->show();
}여기에서, 이미 w2가 열려있다면, 추가로 new 하지 못하도록 해야할거 같은데.. 어떻게 하면 좋을까요?
File attachments:
| 첨부 | 파일 크기 |
|---|---|
| 4.87 KB |
Forums:


자답
잠도 안오고 해서
이것저것 해보다가 해결했습니다.
^^;
댓글 달기