MDI는 QT에서 예제로 제공하고 있습니다.
예제를 사용하는 방법에는 예제의 내용을 이해한 후 자신이 만들고자 하는 프로젝트에 직접 입력하여 구현하는 방법과, 예제 프로젝트를 그대로 복사해와서 프로젝트 이름을 변경한 후 사용하는 방법 두가지가 있습니다.
여기서는 두번째 방식으로 구현해 보도록 하겠습니다.
Qt Creator를 실행하여 Examples를 클릭하면 다음과 같이 화면이 바뀝니다.
많은 예제들을 제공하고 있으며 필요한 예제를 찾아 실행해보고 참조하여 작성하면 되도록 제공하고 있습니다.
Search in Examples에 mdi라고 입력하면 화면은 다음과 같이 바뀝니다.
MDI Example을 더블클릭하면 다음과 같이 화면에 나타납니다.
실행되는 모양을 확인하고 닫으면 다음과 같이 프로젝트를 추가하고 해당 프로젝트 속성을 보여줍니다.
Edit를 클릭하면 다음과 같이 화면에 나타납니다.
File 메뉴의 부메뉴 Open File Width를 실행하면 다음과 같이 예제파일이 있는 폴더를 표시합니다.
mainwindows를 클릭하면 다음과 같이 화면에 나타납니다.
mdi 폴더를 마우스로 클릭한 후 Ctrl + C 키를 눌러 복사를 수행합니다.
탐색기를 실행하여 QT 프로그램을 관리하는 폴더(여기서는 D:\User\JYS\QT\Education)에 Ctrl + 붙여 넣기를 하면 다음과같이 붙여넣기가 됩니다.
mdi 폴더의 이름을 GraphicEditor(만들고자 하는 프로그램 이름)로 변경합니다.
GraphicEditor를 더블클릭하면 다음과 같이 화면에 나타납니다.
파일명이 mdi인 세개의 파일을 GraphicEditor로 변경합니다.
GraphicEditor.pro에서 마우스 오른쪽 버튼을 눌러 생성된 팝업 메뉴에서 연결프로그램의 부메뉴 메모장을 실행하면 다음과 같이 화면에 나타납니다.
mdi.qrc를 GraphicEditor.qrc로 mdi를 GraphicEditor로 수정 한 후 저장합니다.
mdi에서 마우스 오른쪽 버튼을 눌러 생성된 팝업 메뉴에서 Close Project "mdi"를 실행하면 다음과 같이 프로젝트가 닫힙니다.
Welcom을 클릭하면 다음과 같이 화면에 나타납니다.
Open을 클릭하면 다음과 같은 대화상자가 화면에 나타납니다.
GraphicEditor를 더블클릭하면 다음과 같이 화면에 나타납니다.
GraphicEditor.pro를 선택하고 열기를 클릭하면 다음과 같이 GraphicEditor 프로젝트가 열립니다.
main.cpp를 더블클릭하여 열고 Q_INIT_RESOURCE(mdi)를 Q_INIT_RESOURCE(GraphicEditor)로 수정합니다.
mainwindow.cpp를 더블클릭하여 setWindowTitle(tr("MDI"))를 setWindowTitle(tr("GraphicEditor"))로 수정합니다.
Projects를 클릭하면 다음과 같이 화면에 나타납니다.
Build directory는 컴파일 결과물이 만들어 지는 폴더이며 C:\Qt\Qt6.2.2\Examples\Qt-6.2.3\widgets\mainwindows\build-mdi-Desktop_Qt_6_2_3_MSVC2019_64bit-Debug 예제가 있는 폴더에 mdi의 이름으로 지정이 되어 있는것을 알 수 있습니다.
프로젝트 폴더의 이전 폴더에 GraphicEditor가 들어가도록 적당히 입력합니다(여기서는 D:\User\JYS\QT\Education\build-GraphicEditor-Desktop_Qt_6_2_3_MSVC2019_64bit-Debug).
Edit build configuration의 Debug를 Release로 선택하면 다음과 같이 화면에 나타납니다.
Release의 Build directory도 같은 방식으로 수정합니다(여기서는 D:\User\JYS\QT\Education\build-GraphicEditor-Desktop_Qt_6_2_3_MSVC2019_64bit-Release).
Edit build configuration의 Release를 다시 Debug로 선택한 후 F5를 눌러 프로그램을 실행하면 다음과 같이 화면에 나타납니다.
제목 표시줄에 GraphicEditor라고 표시되는 MDI 프로그램이 실행될 것입니다.
새파일을 4회 누르면 다음과 같이 화면에 나타납니다.
최근 MDI 프로그램은 이런 인터페이스보다 탭형태를 더 많이 사용합니다.
mainwindow.cpp를 열어 다음과 같이 세줄을 입력하면 탭형태로 바뀝니다.
세줄 내용은 다음과 같습니다.
mdiArea->setViewMode(QMdiArea::TabbedView);
mdiArea->findChild<QTabBar*>()->setTabsClosable(true);
mdiArea->setActivationOrder(QMdiArea::ActivationHistoryOrder);
F5를 눌러 프로그램을 실행한 후 새파일을 4회 누르면 다음과 같이 화면에 나타납니다.
이제 프로그램에 아이콘을 등록해보도록 하겠습니다.
여기를 클릭하여 icon.ico 파일을 다운받아 아래와 같이 프로젝트 폴드의 images에 붙여 넣습니다(ico 파일은 google에서 png to ico로 검색하여 나오는 무료 변환 사이트에서 이미지 파일을 변환하여 제작하면 됩니다).
GraphicEditor.qrc에서 마우스 오른쪽 버튼을 눌러 생성된 팝업 메뉴에서 Open in Editor를 실행하면 다음과 같이 화면에 나타납니다.
Add Files를 클릭하여 icon.ico 파일을 추가합니다.
mainwindow.cpp를 열어 아래와 같이 setWindowIcon(QIcon(":/images/icon.ico"));을 추가합니다.
추가한 소스는 아래와 같습니다.
setWindowIcon(QIcon(":/images/icon.ico"));
F5를 눌러 다음과 같이 아이콘이 등록되어 화면에 나타납니다.
이 프로그램을 기반으로 그래픽 편집기에 필요한 기능들을 하나씩 구현하면서, QT에 대해 하나씩 알아가도록 할 것입니다.
예제 프로그램
'QT' 카테고리의 다른 글
QT07. 메모리 및 마우스 처리 (0) | 2022.03.06 |
---|---|
QT05. 대화상자 (0) | 2022.03.04 |
QT04. GUI (0) | 2022.03.01 |
QT02. 기본 프로그램 만들기 (0) | 2022.02.27 |
QT01. 설치하기 (0) | 2022.02.25 |