반응형
▶ 새 다이얼로그 생성
프로젝트 폴더 우클릭 --> Add new
Dialog 템플릿 선택
▶ MainWindow와 다이얼로그간 데이터 전송
왼쪽 창은 메인창이고 오른쪽은 새 다이얼로그입니다.
데이터 전송 절차는 다음과 같습니다.
1. Go to Dialog 버튼을 클릭하면 새 다이얼로그를 띄웁니다.
그와 동시에 메인의 Value도 새 다이얼로그로 넘깁니다.
2. 새 다이얼로그의 Input을 누르면 메인에서 받아온 Value값과
LineEdit에서 입력한 값을 더하여 멤버변수에 저장시킵니다.
3. 그 후 Main에서 새 다이얼로그의 멤버변수 값을 가져옵니다.
mainwindow.h
1
2
3
4
5
6
7
8
9 |
#include <QMainWindow>
#include "dialog.h"
...
...
signals:
void Send_Value(int value);
private slots:
void on_pushButton_clicked(); |
cs |
mainwindow.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13 |
void MainWindow::on_pushButton_clicked()
{
int value = 100;
myDialog = new Dialog(this);
connect(this,SIGNAL(Send_Value(int)),myDialog ,SLOT(Recv_Value(int)));
emit Send_Value(value); // 시그날 전송
myDialog->exec();
qDebug() << myDialog->result_value;
delete myDialog;
} |
cs |
dialog.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 |
public:
...
int value1;
int value2;
int result_value;
public slots:
void Recv_Value(int value)
{
value1 = value;
}
private slots:
void on_pushButton_clicked(); |
cs |
dialog.cpp
1
2
3
4
5
6
7
8
9 |
void Dialog::on_pushButton_clicked()
{
value2 = ui->lineEdit->text().toInt();
result_value = value1 + value2;
qDebug() << "value1 :" << value1 << "value2 : " << value2;
this->close();
} |
cs |
qDebug 결과값
반응형
'프로그래밍 > 시스템' 카테고리의 다른 글
C++ Qt 배경화면 투명도 설정 (0) | 2018.03.15 |
---|---|
C++ Qt window flags (0) | 2018.03.15 |
C++ Qt 메시지박스 (0) | 2018.03.15 |
C++ Qt 정규식 (0) | 2018.03.15 |
C++ Qt 파일 입출력 , 파일 변화 감지 (0) | 2018.03.12 |