본문 바로가기

프로그래밍/시스템

C++ Qt 다이얼로그 데이터 전송

반응형

 

▶ 새 다이얼로그 생성

 

프로젝트 폴더 우클릭 --> 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