QT 스터디 챕터 28
·
스터디/QT 스터디
28. Essential Network Programming Qt에 제공하는 네트워크 모듈을 이용해 응용 어플리케이션을 개발하는 방법은 C++에서 제공하는 네트워크 라이브러리를 사용하는 것보다 쉽고 빠르게 구현이 가능하다. 가장 큰 이유는 Qt에서는 네트워크 프로그래밍이 쉬운 이유는 Signal/Slot 기반으로 네트워크 기반 응용 어플리케이션을 구현할 수 있기 때문이다. 예를 들어 기존의 C++ 기반 채팅 서버를 구현한다고 가정해 보도록 하자. 구현해야 하는 기능 중 클라이언트의 메시지를 처리하는 부분을 한번 생각해 보자. 여러 명의 클라이언트들이 서버에 접속되어 있는 상황에서 특정 클라이언트가 메시지를 보내면, 그 메시지를 서버에 접속한 클라이언트들에게 모두 전송해야한다. 이 기능을 C++에서 제공하..
QT 스터디 챕터 19 ~ 26
·
스터디/QT 스터디
19. Timer QTimer 클래스는 지정한 시간을 기준으로 반복해 호출할 수 있다.  다음 예제 소스코드 는 QTimer를 이용한 예제이다.// QTimer 객체 생성, 이 객체는 타이머 역할을 하며 일정 시간마다 신호를 보냄QTimer *timer = new QTimer(this);// 타이머가 timeout() 시그널을 보낼 때, update() 슬롯이 호출되도록 연결connect(timer, SIGNAL(timeout()), this, SLOT(update()));// 타이머를 1000밀리초(1초) 간격으로 시작, 즉 1초마다 timeout() 신호를 발생시킴timer->start(1000); QTimer 클래스는 지정한 시간마다 반복적으로 동작할 수 있도록 타이머 기능을 제공한다. 이를 사용하..
QT 스터디 챕터 9~16 (14제외)
·
스터디/QT 스터디
9. Signal and Slot Qt는 이벤트를 처리하기 위한 메커니즘으로 시그널(Signal)과 슬롯(Slot)을 사용한다. 예 로 어떤 버튼이 클릭했다는 행위는 Qt에서 시그널(Signal) 이라고 한다. 그리고 시그널 이 발생하면 호출 하는 함수를 슬롯(Slot) 함수라고 한다. 시그널 이라는 이벤트가 발생 하면 시그널과 연결된 슬롯 함수가 호출된다. 시그널이란 어떠한 상황에 발생하는 이벤트이다. Qt의 모든 이벤트 처리는 시그널과 슬롯 이라는 메커니즘을 사용한다.  예를 들어 Qt로 채팅 프로그램에서 A라는 사용자가 B라는 사용자에게 메시지를 보낸 다고 가정해보자 B의 입장에서 A에게로부터 메시지를 받은 행위는 시그널(Signal) 이라고 정의할 수 있다. 그리고 메시지를 받은 시그널과 연결된 ..
QT 스터디 챕터 7~8
·
스터디/QT 스터디
7. Qt 에서 제공하는 데이터 타입과 클래스 Qt는 개발자의 편의성을 위해 다양한 데이터타입을 제공한다. 예를 들어 QString 과 같 은 문자열 내에 특정 패턴을 찾아내기 위해 정규식 표현을 지원하거나 문자열에 특정 문자를 추가하거나 삭제 등 다양한 기능을 제공한다. Qt에서는 이기 종간의 데이터 교환 시 데이터 타입의 변화로 생기는 문제를 해결하기 위한 데이터 타입도 지원한다. 예를 들어 우분투 리눅스 운영체제상에서 Qt로 개발한 어플리케이션 내에 “Hello World” 라는 문자열을 Qt 에서 제공하는 QString 이라는 문자열을 전송한다. 그리고 이 문자열을 수신 받는 측에서는 MS윈도우 운영체제상에서 Visual C++로 개발 하여 “Hello World” 문자열을 CString 문자열을..
QT 스터디 챕터 1~6
·
스터디/QT 스터디
1. Qt 6 소개와 설치 Qt는 MS윈도우, 리눅스 그리고 MacOS 와 같은 데스크탑 기반 운영체제에서 어플리케 이션을 개발하기 위해 동일한 개발 프레임워크를 제공하기 때문에 개발에 필요한 시간 과 비용을 절약할 수 있다.  그리고 Qt 프레임워크를 이용하면 안드로이드(리눅스와 동일한 커널을 사용)와 iOS 모 바일 플랫폼에서 동일한 Qt 프레임워크를 이용해 어플리케이션 개발이 가능하다는 장점이 있다. Qt는 데스크탑, 모바일 기반의 플랫폼 이외에도 소형 기기와 같은 디바이스에 내장된 임베디드 플랫폼에서도 Qt를 이용해 응용 어플리케이션 개발이 가능하다. Qt 프레임워크는 Embedded Linux, QNX, WinRT 플랫폼에서 Qt개발 프레임워크를 이용해 어플리케이션 개발이 가능하다. Qt는 C+..