[Qt] Container Class – 3. QMap

이번 글에서는 QMap에 대해 알아보겠습니다. QMap 클래스도 자료구조에서 맵을 구현한 클래스입니다.맵은 키(Key)와 값(Value)이 쌍을 이루며 하나의 키에는 하나의 값이 매핑이 됩니다. 맵은 키를 통해 값에 접근할 수 있게 하는 자료구조인데 그렇기 때문에 키는 중복을 허용하지 않습니다.(값은 중복 가능합니다.) 더 자세한 개념은 구글에 검색해보시길 바랍니다. QMap 선언 QMap 선언 방법은 아래와 같습니다. Key(키)와 T(값)에 자료형을 입력하여 … Read more

Categories Qt Tags

[Qt] Container Class – 2. QQueue, QStack

이전 글에 이어서 QQueue, QStack에 대해 알아보겠습니다. QQueue와 QStack 클래스는 자료구조에서 큐와 스택을 구현한 클래스이며, 모두 QList를 상속받아서 만들어 졌습니다.QList와 큰 차이는 없으며 QList의 모든 함수를 사용할 수 있습니다. 큐와 스택의 가장 큰 차이는 입력한 데이터의 출력 순서입니다. QQueue QStack First In First Out(FIFO, 선입선출) First In Last Out(FILO, 선입후출) 은행 업무프린터 인쇄 대기열 Undo/Redo웹 … Read more

Categories C++

[Qt] Container Class – 1. QList

STL Container Class와 같이 Qt에서도 Container Class를 제공해줍니다. 이번 글에서는 자주 사용되는 Container Class에 종류를 알아 보고 대표적으로 QList사용법에 대해 알아보겠습니다. 자주 사용되는 Qt Container Class 목록은 아래와 같습니다. QList 선언 QList 클래스 변수 사용 시 아래 예시처럼 T에 타입을 입력하면 됩니다. QList 삽입 QList에 삽입 하려면 아래와 같이 코딩해줍니다. 실행하면 아래와 같이 출력합니다. QList … Read more

Categories Qt Tags

[Qt] QHBoxLayout, QVBoxLayout, QGridLayout

이번 글에서는 Layout에 대해 알아보겠습니다. 레이아웃은 Qt에서 GUI 프로그래밍을 할 때 위젯들을 배치하거나, 크기를 동적으로 변경하기 위해 사용되는 방법입니다.레이아웃은 QHBoxLayout(수평), QVBoxLayout(수직), QGridLayout(그리드)가 있으며 각각의 사용법에 대해 알아보겠습니다. QWidget::setLayout 우선 위젯을 하나 만든 뒤 아래와 같이 QVBoxLayout을 하나 생성한 뒤 setLayout 함수를 호출하여 VBox Layout으로 설정해줍니다. setLayout 함수는 현제 위젯의 레이아웃을 설정합니다. QHBoxLayout QHBoxLayout은 이름에서 알 … Read more

Categories Qt Tags

[Qt] QProgressBar

이번 글에서는 QProgressBar를 만들어 보겠습니다. QProgressBar(프로그레스바)는 보통 어떤 작업의 진행률을 바 형태 표시하는 위젯입니다. 프로그레스바는 이전 글들에서 본 다른 Widget들과 같이 사용법이 간단합니다. UI 슬라이더를 조절하면 그와 같이 프로그레스바도 진행률을 표시하는 프로그램을 만들어 보겠습니다.아래와 같이 프로그레스바와 슬라이더를 만들어줍니다. objectName은 아래와 같이 만듭니다. Class Object Name QSlider hSlider QProgressBar ProgressBar 기본 설정 우선 슬라이더를 아래와 같이 … Read more

Categories Qt Tags

[Qt] QDial

이번 글에서는 QDial을 만들어 보겠습니다. QDial는 이전 글에서 알아본 QSlider와 매우 비슷한 위젯입니다. 두 위젯 모두 QAbstractSlider을 상속받아 사용하고 있기 때문에 일부만 제외하곤 모두 사용 방법이 똑같습니다. QDial도 정수값을 다루며 노치(Notch)을 표시할 수 있습니다. UI 아래와 같이 디자인을 해줍니다. objectName은 아래와 같이 만듭니다. Class Object Name QDial dial QLabel label 기본 설정 0에서 100의 값을 … Read more

Categories Qt Tags

[Qt] QSlider

이번 글에서는 QSlider 사용법에 대해 알아보겠습니다. QSlider는 바(Bar)를 조작하여 값을 입력하는 위젯을 말합니다.정수값을 다루며 모양은 수평, 수직 모양이 있습니다. 또한 바 옆에 틱(Tick)을 표시할 수 있습니다. UI 아래와 같이 디자인을 해줍니다. objectName은 아래와 같이 만듭니다. Widget Object Name QSlider hSlider QLineEdit leVal 기본 설정 QSlider의 범위, 포지션, Single/Page Step, Orientation을 설정하는 코드는 아래와 같습니다. QSpinBox에서 … Read more

Categories Qt Tags

[Qt] QDateEdit, QTimeEdit, QDateTimeEdit

이번 글에서는 Qt에서 날짜, 시간을 표현하는 Widget들에 대해 알아보겠습니다. UI 아래와 같이 Date Edit, Time Edit, Date/Time Edit을 찾아 ui 파일을 구성해줍니다. 그 다음 각 위젯들의 objectName 설정을 아래와 같이 만들어 줍니다. Widget Object Name QDateEdit dateEdit QLabel lbDate QTimeEdit timeEdit QLabel lbTime QDateTimeEdit dateTimeEdit QLabel lbDateTime 표시 형식 QDateEdit, QTimeEdit, QDateTimeEdit은 날짜/시간을 표시하는 방법을 … Read more

Categories Qt Tags

[MFC] 종료 시 자신을 삭제하는 프로그램을 만드는 방법

기획팀에서 1회만 실행되는(종료되면 삭제되는) 프로그램을 만들어 달란 요청이 간간히 들어옵니다.그때마다 어떻게 했더라 매일 검색하고 찾는 나 자신을 보면서 기록합니다. 이번 글에서는 프로그램 종료 시 자기 자신을 삭제하는 프로그램을 만드는 방법에 대해 알아보겠습니다.파일을 삭제하는 API 함수는 있으나, 윈도우에서는 실행 중인 프로그램(자기 자신)의 .exe파일을 삭제 할 수 없으므로,.exe 삭제를 batch 파일에서 해줘야 합니다. 아래는 MFCApplication1.exe에서 batch 파일을 … Read more

[Qt] QSpinBox, QDoubleSpinBox

이번 글에서는 QSpinBox와 QDoubleSpniBox를 사용하는 방법에 대해 알아보겠습니다. UI 아래와 같이 ui 파일을 구성해줍니다. spin이라 검색하면 SpinBox, Double Spin Box가 표시됩니다. 그 다음 아래처럼 objectName을 설정해줍니다. QSpinBox 우선 QSpinBox부터 만들어보겠습니다. 아래와 같이 Widget.h를 코딩해줍니다. 그 다음 Widget.cpp에 아래와 같이 추가해줍니다. 실행 하면 아래와 같이 실행합니다. QDoubleSpinBox 그 다음 QDoubleSpinBox를 코딩하겠습니다. Double Spin Box는 Spin Box와 … Read more

Categories Qt Tags