1. Label / PButton
2. Header : <qlabel.h> <qpushbutton.h>
3. Example
3.1. PbLbSigEx.cpp
#include "PbLbSigEx.h"
PbLbSigEx::PbLbSigEx()
{
resize(140,60);
myPb = new QPushButton("PButton",this); // Push button 생성
myPb->setGeometry(10,10,100,20); // 버튼 위치 설정
myLb = new QLabel("Button click, plz",this); // Label 생성
myLb->setGeometry(10,30,120,20); // 라벨 위치
// 시그널 등록, myPb를 click 하면, 이 클래스내의 myClicked()함수 수행
connect(myPb,SIGNAL(clicked()),this,SLOT(myClicked())); // 시그널 등록
}void PbLbSigEx::myClicked() // 슬롯 함수 정의
{
myLb->setText("Thanks!"); // Label의 글자를 Thanks!로 설정
}int main(int argc, char** argv)
{
QApplication app(argc,argv);
PbLbSigEx myPbLbSig; // 클래스 정의
app.setMainWidget(&myPbLbSig); // 메인 위젯으로 등록
myPbLbSig.show(); // 화면에 출력return app.exec();
}
3.2. PbLbSigEx.h
#ifndef PBLBSIG_H // 헤더의 중복을 막기 위해서 사용
#define PBLBSIG_H // 중복된 헤더가 아니라면 PBLBSIG_H를 설정하고 아래의 사항을 적용#include <qapplication.h>
#include <qwidget.h>
#include <qpushbutton.h>
#include <qlabel.h>
// 클래스 선언
class PbLbSigEx:public QWidget
{
Q_OBJECT // 시그널 슬롯을 사용하려면 Q_Object를 사용해야 함
public:
PbLbSigEx(); // 생성자, 소멸자는 Default임.
private:
QPushButton *myPb; // Push Button myPb선언
QLabel *myLb; // Label myLb선언
protected slots:
void myClicked(); // 시그널에 연결될 슬롯 함수 선언
};#endif
4. 컴파일 하기
# qmake -project -o PbLbSigEx.pro
# qmake
# make
5. 실행결과
<PButton을 클릭하면 Label이 변경됨>
최근댓글