최초 생성 시각: 2023-06-18 06:05:29
최근 수정 시각: 2023-06-18 15:52:11
#
을 활용해 주석으로 처리함<QString>
<QTcpSocket>
QT += 모듈이름
QtCore
모듈에 들어있음QTime time = QTime::currentTime;
std::cout << time; // invaild operator.!!!
return 0;
위 코드는 에러가 발생함. QTime이 std::cout과 호환이 되지 않는다. 만약출력해보고 싶으면 타입별로 추가하면 됨.
예를들면, 시 분 초로 따로따로 출력됨. 귀찮다!!!
qDebug
를 사용하면 std::cout
과 같이 한번에 출력됨qDebug
를 사용하기 위해서는 <QDebug>
헤더 제공해야됨.qDebug()
를 호출하면 qDebug라는 객체가 반환됨. 해당 객체에 대해 operator<<
를 구현해둠.qDebug("a = %d f = %f", 10, 3.4);
객체 출력할 때 편리함.
qDebug() << 10 << 3.4 << endl;
#include <QDebug>
#include <QTimer>
int main()
{
qDebug("start main");
QTimer timer;
timer.callOnTimeout( []() { qDebug("tick"); } );
timer.start(1000); // 1초마다 타이머 발생
return 0;
}
타이머 이벤트가 있는데, 어플리케이션이 죽으면 안됨. 따라서, 빌드 시 경고 문구가 제공됨.
종료되지 않고, 발생되는 이벤트 처리하기 위해서는 반드시 event loop를 사용해야됨.
QT에서는 event loop를 위해 몇 가지 클래스를 제공함.
각각의 용도에 맞는 클래스를 활용하면 됨.
GUI를 활용하면 대부분 Widget을 사용하게 됨. 그래서 보통 QApplication
을 사용함.
#include <QCoreApplication>
int main(int argc, char** argv) {
// 인자로 전달하는 것 잘 봐야함.
QCoreApplication app(argc, argv);
// ...
return app.exec();
}
app
이라는 이름을 많이 씀.QT 클래스에 어떤 정보가 있고, 어떤 멤버가 있으며 어떻게 사용하는지 알고 싶으면 어떻게 해야되나?
공감하기