1.
2.
3.
4. Example
4.1 ChkBoxEx.cpp
#include "ChkBoxEx.h"ChkBoxEx::ChkBoxEx()
{
resize(180,80);
Chk1 = new QCheckBox("One",this); // qcheckbox Chk1 생성
Chk2 = new QCheckBox("Two",this); // qcheckbox Chk2 생성
Chk1->move(10,10); // 위치 설정
Chk2->move(10,40); // 위치 설정
// 시그널 등록
connect(Chk1,SIGNAL(clicked()),this,SLOT(slotChkBox1()));
connect(Chk2,SIGNAL(clicked()),this,SLOT(slotChkBox2()));
}
// 슬롯 함수 slotChkBox1
void ChkBoxEx::slotChkBox1()
{
if(Chk1->isChecked()) // 체크가 되어 있다면
setCaption(QString::fromLocal8Bit("첫번째 체크 설정"));
else
setCaption(QString::fromLocal8Bit("첫번째 체크 해제"));
}
// 슬롯함수 slotChkBox2()
void ChkBoxEx::slotChkBox2()
{
if(Chk2->isChecked()) // 체크가 되어 있다면
setCaption(QString::fromLocal8Bit("두번째 체크 설정"));
else
setCaption(QString::fromLocal8Bit("두번째 체크 해제"));
}// 메인함수 설정
int main(int argc, char** argv)
{
QApplication app(argc,argv);
ChkBoxEx myChkBox; // Class 선언
app.setMainWidget(&myChkBox); // 메인 위젯에 등록
myChkBox.show(); // 출력return app.exec();
}
4.2. ChkBoxEx.h
#ifndef CHKBOXEX_H // 헤더 중복 방지
#define CHKBOXEX_H#include <qapplication.h>
#include <qwidget.h>
#include <qcheckbox.h>class ChkBoxEx:public QWidget
{
Q_OBJECT // 시그널 슬롯 사용을 위함
public:
ChkBoxEx();
private:
QCheckBox* Chk1; // 체크 박스 Chk1 선언
QCheckBox* Chk2; // 체크 박스 Chk2 선언public slots:
void slotChkBox1(); // 슬롯 함수 slotChkBox1() 선언
void slotChkBox2(); // 슬롯 함수 slotchkBox2()선언
};
#endif
5. 컴파일 하기
qmake -project -o ChkBoxEx.pro
qmake
make
6. 실행결과
< 첫번째 체크박스 클릭 했을때 제목라인 변경, 아래는 해제 했을 때>
최근댓글