Qt

[Qt] 버튼 클릭 이벤트

_minit 2024. 10. 16. 12:15

대왕 버튼과 큰 글자까지 만들어보았다. 누르고 싶은 버튼을 만들었으니까 버튼 이벤트를 만들어보자.

버튼 이벤트를 만들기 위해서 QObject라는 헤더 파일이 필요하다.

 

#include <QApplication>
#include <QWidget>
#include <QLabel>
#include <QPushButton>
#include <QFont>
#include <QObject>

void onButtonClicked(){
	qInfo("button clicked!");
}

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    QWidget window;
    window.resize(1920, 1080);              // window size
    window.setWindowTitle("Empty window");  // widow name

    QLabel label("Minit blog!", &window); // text
    label.move(300, 300); // text position

    QPushButton button("클릭하세요", &window); // button
    QFont buttonFont = button.font();
    buttonFont.setPointSize(16); // button text size
    button.setFont(buttonFont);
    button.move(500, 500); // button position
    button.resize(500, 500); // Set button size

    QObject::connect(&button, &QPushButton::clicked, &onButtonClicked); // button click event

    window.show();

    return app.exec();
}

버튼을 누르면 Application Output에 설정한 메시지 Button clicked! 가 나오는 것을 볼 수 있다.

 

QObject::connect() 함수를 부르며 신호(Singal)와 슬롯(Slot)이라는 개념이 나온다.

정말 간단하게 설명하자면 Qt는 모든 이벤트 처리를 시그널과 슬롯을 사용하고 이벤트는 시그널, 시그널에 반응하는 함수나 메서드가 슬롯이다.

728x90

'Qt' 카테고리의 다른 글

[Qt] 배경색 변경  (0) 2024.10.16
[Qt] 텍스트 입력란  (0) 2024.10.16
[Qt] 버튼 만들기  (0) 2024.10.16
[Qt] 텍스트 출력  (0) 2024.10.16
[Qt] 빈 창 만들기  (0) 2024.10.16