본문 바로가기

PROGRAM/Qt with C++

Qt - Checkbox

.h

#pragma once

#include <QtWidgets/QDialog>
#include "ui_QtWidgetsApp.h"
#include <QString>

class QtWidgetsApp_1 : public QDialog
{
    Q_OBJECT

public:
    QtWidgetsApp_1(QWidget *parent = Q_NULLPTR);

private:
    Ui::QtWidgetsApp_1Class ui;

public slots:
    void on_btn_run(); // 버튼을 눌렀을 때 연결하는 함수
    void on_radio_run();
    void on_checkbox_run();
};

 

.cpp

#include "QtWidgetsApp.h"
#include <QFileDialog>

static int cnt = 0;

QtWidgetsApp_1::QtWidgetsApp_1(QWidget *parent) : QDialog(parent)
{
    ui.setupUi(this);
    //디자인 파일의 객체(동작)와 C++ 함수(SLOT)를 연결
    connect(ui.btn_run, SIGNAL(clicked()), this, SLOT(on_btn_run()));
    connect(ui.radio_1, SIGNAL(clicked()), this, SLOT(on_radio_run()));
    connect(ui.radio_2, SIGNAL(clicked()), this, SLOT(on_radio_run()));
    connect(ui.radio_3, SIGNAL(clicked()), this, SLOT(on_radio_run()));
    connect(ui.chk_ski, SIGNAL(clicked()), this, SLOT(on_checkbox_run()));
    connect(ui.chk_climb, SIGNAL(clicked()), this, SLOT(on_checkbox_run()));
    connect(ui.chk_yacht, SIGNAL(clicked()), this, SLOT(on_checkbox_run()));
}

void QtWidgetsApp_1::on_radio_run()
{
    QString str;
    
    if (ui.radio_1->isChecked()) {
        str.append(QString::fromLocal8Bit("당신은 대구 출생입니다."));
    }
    if (ui.radio_2->isChecked()) {
        str.append(QString::fromLocal8Bit("당신은 경북 출생입니다."));
    }
    if (ui.radio_3->isChecked()) {
        str.append(QString::fromLocal8Bit("당신은 기타지역 출생입니다."));
    }
    ui.label->setText(str);
}

void QtWidgetsApp_1::on_checkbox_run()
{
    QString str;
    str.append(QString::fromLocal8Bit("취미는 "));
    if (ui.chk_ski->isChecked()) {
        str.append(QString::fromLocal8Bit("스키, "));
    }
    if (ui.chk_climb->isChecked()) {
        str.append(QString::fromLocal8Bit("등산, "));
    }
    if (ui.chk_yacht->isChecked()) {
        str.append(QString::fromLocal8Bit("요트 "));
    }
    str.append(QString::fromLocal8Bit("입니다."));
    ui.label->setText(str);
}



//헤더파일에서 선언한 함수를 정의
void QtWidgetsApp_1::on_btn_run()
{
    QString str;
   
    if (ui.radio_1->isChecked()) {
        str.append(QString::fromLocal8Bit("당신은 대구 출생, "));
    }
    else if (ui.radio_2->isChecked()) {
        str.append(QString::fromLocal8Bit("당신은 경북 출생, "));
    }
    else if(ui.radio_3->isChecked()) {
        str.append(QString::fromLocal8Bit("당신은 기타지역 출생, "));
    }
    str.append(" \n");
    str.append(QString::fromLocal8Bit("나이는 "));  
    str.append(QString("%1").arg(ui.spinBox->cleanText()));
    str.append(QString::fromLocal8Bit("살 입니다."));
    ui.label->setText(str);
}

'PROGRAM > Qt with C++' 카테고리의 다른 글

Qt - RadioButton  (0) 2021.06.21
Qt - VisualStudio 2019 한글깨짐  (0) 2021.06.21
Qt - SpinBox  (0) 2021.06.18
Qt - Combobox  (0) 2021.06.18
Qt - PushButton  (0) 2021.06.18