QT는 애플리케이션 프레임 워크를 만듭니다.


이 기사는 QT로 프로그램 프레임 워크를 만드는 방법을 소개합니다. 저는 개발 경험이 1 년 밖에되지 않으며 솔루션이 반드시 최선은 아니지만이 기사에서 제공하는 방법이 효과적임을 보장합니다. 그리고 개발 중에 만나게 될 구덩이에 대한 힌트를 제공하십시오. 이 기사는 완전히 원본이므로 출처를 인용하십시오.

개발 환경

이 기사는 Qt5.10.0 + VS2015를 채택하고 인터페이스 생성은 Qt 디자이너를 채택합니다. 이 체계는 산업 소프트웨어의 개발을 촉진하기 위해 인터페이스와 처리 프로그램을 분리하는 데 사용됩니다. 개발 환경 구축을위한 튜토리얼이 많이 있으므로 여기서 반복하지 않겠습니다.

프로젝트 생성

VS2015를 열고 [파일]- "[새로 만들기]-"[프로젝트]를 클릭하고 [템플릿]의 [Visual C ++]에서 [Qt]를 선택한 다음 [Qt 위젯 응용 프로그램]을 선택하고 [이름] 위치에 [QtMyDemo]를 입력합니다. ]. [위치] 솔루션이있는 폴더를 선택합니다. 아래 그림 참조 :
그림 1 Qt 프로젝트 만들기
팝업 대화 상자에서 [다음]을 선택하면 [다음]이 생략됩니다.
아래 그림에서 "미리 컴파일 된 헤더"를 확인합니다.이 옵션은 미리 정의 된 헤더 파일을 사용합니다. [마침]을 클릭하여 새 프로젝트 탐색을 완료합니다.
그림 2 미리 컴파일 된 헤더 사용을 선택하여 여기에 그림 설명 삽입
이제 솔루션 창에서 마우스 오른쪽 버튼을 클릭하여 [QtMydemo]를 가져오고 생성을 클릭합니다. 프로젝트를 성공적으로 컴파일 할 수 있으며 문제없이 실행됩니다.
이제 큰 구멍이 있습니다. 일부 클래스와 객체 아래에 정의 파일이 없음을 나타내는 빨간색 선이 있습니다. stdafx.h의 QtWidget도 열 수 없습니다. 해결 방법 :
[Qt VS TOOLS] 메뉴에서 [Qt 프로젝트 설정]을 클릭하고 qt 버전을 다시 선택 (다른 버전으로 변경하고 응용 프로그램을 클릭 한 다음 뒤로 클릭)하여 qt 환경이 설정되도록합니다.
여기에 사진 설명 삽입

메뉴 및 응답 기능 추가

메뉴 추가

[리소스 파일]에서 [QtMyDemo.ui]를 더블 클릭하고 Qt 디자이너를 사용하여 인터페이스를 편집합니다.
1. [여기에 입력]을 클릭하고 메뉴 이름을 입력합니다.
목표, 또 다른 구덩이 : 처음 들어갈 때 영문 이름을 입력해야 메뉴 이름에 따라 프로젝트 이름을 지정할 수 있습니다.
2. 메뉴 이름을 수정합니다. 메뉴를 클릭하고 속성 편집기에서 [텍스트]를 수정
합니다. 3. 메뉴에 아이콘을 추가합니다. 미리 준비된 아이콘 파일, prn 파일 및 jpg 파일을 프로그램 디렉토리에 복사합니다 (모든 종류의 파일이 지원되며 매우 편리합니다). 이 예에서는 아이콘 폴더를 만들고 여기에 아이콘 파일을 복사합니다.
속성 편집기에서 아이콘 뒤에있는 드롭 다운 메뉴를 선택한 다음 [리소스 선택]- "[리소스 편집]-"[파일 추가]를 클릭합니다. 다음 그림의 화살표를 선택해야합니다.
여기에 사진 설명 삽입아이콘 파일을 선택하고 확인하면 아이콘 파일이 리소스에 추가됩니다. "new.icon"을 선택하고 [확인]을 클릭하면 메뉴 텍스트 및 아이콘 설정이 완료됩니다. 아래를 참조하십시오. .
여기에 사진 설명 삽입

위의 작업에 따라 모든 메뉴를 수정합니다 (아이콘 리소스 추가는 리소스에서 아이콘을 선택하기 만하면 됨).

메뉴 응답 기능 추가

Qt의 신호 슬롯 메커니즘은 매우 편리하며 인터넷에 많은 정보가 있습니다. Qt 디자이너를 사용하여 메뉴 응답 기능을 완료 할 수 있습니다. 여기에는 불편 함이 있습니다. 즉, 해당 기능을 먼저 정의해야합니다. 내 조작 방법은 먼저 버튼을 배치 한 다음 많은 슬롯 기능을 추가하는 것입니다. 인터페이스에 많은 콘텐츠가있는 경우 Qt 디자이너를 사용하여 신호 슬롯 기능을 만드는 것이 지저분해질 것입니다. 또 다른 방법은 슬롯 함수를 직접 작성하는 것입니다.
QtMyDemo.h의 생성자 바로 아래에 추가합니다.

public slots:
	void on_actionFun1_triggered();
	void on_actionFun2_triggered();
。。。。。。

이 Qt 매크로가 작성됩니다. 여기서 "actionFun1"은 메뉴 속성의 개체 이름입니다.
여기에 사진 설명 삽입
그런 다음 QtMyDemo.cpp, on_actionFun1_triggered ();에 함수 본문을 추가하고 함수 본문에 중단 점을 설정하고 실행 후 메뉴를 컴파일하고 클릭하면 프로그램이 함수 본문을 호출하는 것을 볼 수 있습니다.

창 레이아웃

1. "도구 모음"및 "상태 표시 줄"을 제거합니다.
2. 창에 widgetToolsBar, widgetDialog 및 labelView라는 레이블 하나를 추가하십시오.
3. centralWidget을 그리드 레이아웃으로 설정합니다.
4. widgetToolsBar의 최소 높이와 최대 높이는 50으로 설정하고 widgetDialog의 최소 너비와 최대 너비는 300으로 설정합니다. 이렇게하면 창 크기를 조정할 때 위의 두 공간의 크기는 그대로 유지됩니다. 한 방향으로, 다른 방향으로 가득 차 있습니다. labelView에 가장 큰 영역을 지정하십시오.
여기에 사진 설명 삽입5. widgetToolsBar, widgetDialog 및 labelView의 배경색을 생략하고 설정하십시오.
6. 입력 데이터를 위해 widgetDialog에 tableWidget 플러그인을 추가하십시오. 여기에 데이터를 입력하는 대화 상자를 포함 할 수도 있습니다. 이 방법은 다른 기사에서 소개합니다.
테스트 : Qt Designer에서 창의 오른쪽 아래 모서리를 드래그하면 창이 가득 차면 컨트롤이 올바르게 설정됩니다. 아래 참조 :

여기에 사진 설명 삽입

도구 모음 버튼 및 해당 기능 추가

1. 두 개의 도구 버튼을 widgetToolsBar로 드래그하고 각각 이름을 toolButtonFun1 및 toolButtonFun2로 지정합니다.
2. 속성의 텍스트를 "Function 1", "Function 2"로 수정
합니다. 3. 아이콘을 선택합니다. 여기 리소스에 두 개의 png 파일이 추가되었습니다. 형식의 아이콘 크기는 마음대로 설정할 수 있지만 ICO 파일은 고정 된 크기입니다. 추가 방법은 ico 파일과 유사합니다.
여기에 사진 설명 삽입4. toolButtonStyle의 값이 아이콘 아래의 텍스트로 선택됩니다. 아래를 참조하십시오.
여기에 사진 설명 삽입
5. 해당 함수를 추가합니다
. 메뉴 파일을 정의하는 방법과 유사하게 QtMyDemo.h 생성자 바로 아래에 추가합니다.

public slots:
	void on_toolButtonFun1_clicked();
	void on_toolButtonFun2_clicked();

그런 다음 QtMyDemo.cpp에 함수 본문을 추가합니다.

요약

Qt를 사용하는 디자이너는 프로그램 인터페이스 프레임 워크를 쉽게 구축하고 Qt의 매크로 메커니즘을 사용하여 메뉴 및 도구 버튼 응답 기능을 추가 할 수 있습니다. Qt는 png 및 jpg 이미지를 아이콘으로 지원합니다. 작업 중에주의해야 할 몇 가지 기술이 있습니다. 그렇지 않으면 코드를 작성할 수 없습니다 .Qt 설치 버전 설정, 메뉴의 개체 이름이 영어로 입력 됨, 여러 컨트롤의 상위 창은 다음과 같아야합니다. 레이아웃을 설정할 때 선택됩니다.
완전한 코드 다운로드

추천

출처blog.csdn.net/imz2y/article/details/113119910