[Qt] QMutex
이번 글에서는 QMutex에 대해 알아보겠습니다. QMutex는 멀티 쓰레드 상황에서 공유된 자원에 대해 동시에 엑세스 할 때 사용되는 동기화 클래스 입니다. QMutex를 사용하기 위해서는 아래와 같이 헤더 파일을 include 해야합니다. QMutex의 사용 방법은 간단합니다. 어떤 상황에서 …
이번 글에서는 QMutex에 대해 알아보겠습니다. QMutex는 멀티 쓰레드 상황에서 공유된 자원에 대해 동시에 엑세스 할 때 사용되는 동기화 클래스 입니다. QMutex를 사용하기 위해서는 아래와 같이 헤더 파일을 include 해야합니다. QMutex의 사용 방법은 간단합니다. 어떤 상황에서 …
이번 글에서는 Qt 에서 QThread를 사용하는 방법에 대해 알아보겠습니다. QThread는 QTimer와 다르게 신호를 발생시키지 않고, 별도의 쓰레드를 생성하여 특정 작업을 수행합니다. QThread에서 자주 사용하는 함수들은 아래와 같습니다. MyThread 클래스 생성 쓰레드를 시작했을 때 작업할 내용을 …
이번 글에서는 QTimer에 대해 알아보겠습니다. QTimer는 일정 시간 간격마다 특정 작업을 실행하거나, 일정 시간 뒤에 특정 작업을 실행하는데 사용되는 클래스 입니다. QTimer를 사용하기 위해서는 QTimer 헤더 파일을 include 해야합니다. 아래 함수는 QTimer에서 대표적으로 사용되는 함수 …
이번 글에서는 디렉토리 탐색 기능을 제공하는 QDir과 파일 입출력 기능을 제공하는 QFile에 대해 알아보겠습니다. QDir QDir 클래스를 사용하려면 다음과 같이 헤더 파일을 포함해야 합니다. QDir 클래스는 다양한 경로를 얻을 수 있는 함수를 제공합니다. QDir 반환 …
이번 글에서는 QByteArray와 QByteArrayMatcher 사용법에 대해 알아보겠습니다.QByteArray는 클래스 이름에서 보이듯이 바이트 배열에 대해 편의를 제공하는 클래스입니다.1바이트 단위의 배열을 제공하며 보통 16진수 배열, 문자열을 다룰때 자주 사용됩니다. QByteArray 선언 QByteArray를 선언할 땐 아래와 같이 선언 할 …
이번 글에서는 QBitArray를 사용하는 방법에 대해 알아보겠습니다.QBitArray는 비트 배열을 제공하는 클래스 입니다. 해당 클래스를 사용하면 제공하는 기능으로 비트배열에 대해 연산하기가 편합니다. QBitArray 선언 QBitArray는 객체를 선언함과 동시에 배열의 크기를 설정하거나 선언과 동시에 값을 설정할 수도 …
이번 글에서는 QMap에 대해 알아보겠습니다. QMap 클래스도 자료구조에서 맵을 구현한 클래스입니다.맵은 키(Key)와 값(Value)이 쌍을 이루며 하나의 키에는 하나의 값이 매핑이 됩니다. 맵은 키를 통해 값에 접근할 수 있게 하는 자료구조인데 그렇기 때문에 키는 중복을 허용하지 …
STL Container Class와 같이 Qt에서도 Container Class를 제공해줍니다. 이번 글에서는 자주 사용되는 Container Class에 종류를 알아 보고 대표적으로 QList사용법에 대해 알아보겠습니다. 자주 사용되는 Qt Container Class 목록은 아래와 같습니다. QList 선언 QList 클래스 변수 사용 …
이번 글에서는 Layout에 대해 알아보겠습니다. 레이아웃은 Qt에서 GUI 프로그래밍을 할 때 위젯들을 배치하거나, 크기를 동적으로 변경하기 위해 사용되는 방법입니다.레이아웃은 QHBoxLayout(수평), QVBoxLayout(수직), QGridLayout(그리드)가 있으며 각각의 사용법에 대해 알아보겠습니다. QWidget::setLayout 우선 위젯을 하나 만든 뒤 아래와 같이 …
이번 글에서는 QProgressBar를 만들어 보겠습니다. QProgressBar(프로그레스바)는 보통 어떤 작업의 진행률을 바 형태 표시하는 위젯입니다. 프로그레스바는 이전 글들에서 본 다른 Widget들과 같이 사용법이 간단합니다. UI 슬라이더를 조절하면 그와 같이 프로그레스바도 진행률을 표시하는 프로그램을 만들어 보겠습니다.아래와 같이 …