0071 - HTML 태그를 인식하는 위젯
참고 영상
QT 의 GUI 동작에 기여하는 컨트롤인 위젯들은 HTML 태그를 인식하고 있습니다. 이를 실제로 입력하면 어떤 결과가 나오는지 확인 합니다.
1. QT Project 를 생성합니다.
Choose a template
Projects : Application / Qt Widgets Application (참고 영상과 다르게 제가 가지고 있는 QT Creator 에서는 Empty Qt Project 는 존재하지 않습니다.)
QT Widgets Application
Name: 007_Minimal
Create in : D:\Work (작업 공간에 따라 다른 곳을 지정하시면 됩니다.)
Kit Selection
Desktop Qt 5.5.0 MinGW 32bit
Details
Class Information 에서는 Base class 를 QDialog 선택하고 Next 를 선택합니다.
Project Management 는 그대로 두고 Finish 를 입력합니다.
2. Build 를 하여 정상적으로 응용 프로그램이 생성되면 다음의 File 을 아래와 같은 방법으로 선택하여 삭제합니다.
- dialog.h
- dialog.cpp
- dialog.ui
먼저 Headers 에 있는 dialog.h 를 마우스 오른쪽 버튼을 눌러서 Remove File... 을 선택합니다.
Delete file permanently 를 표시 한 뒤 OK 를 선택합니다.
File has been removed 창은 파일은 삭제가 되었는데, 해당 파일이 편집기에서 열려 있는 경우 무효화 된 열린 File 을 다시 저장할지, 다른 이름으로 저장하거나 그대로 닫아서 사라지게 할 수 있습니다.
해당 File 이 필요가 없으므로 여기서는 Close 를 선택하여 삭제합니다.
dialog.cpp 와 dialog.ui 에 대해서도 같은 방법으로 삭제 합니다.
007_Minimal.pro 파일을 열면 아래와 같이, 삭제된 File 들이 자동으로 제거 되어 있습니다.
3. main.cpp 을 수정합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 | #include <QLabel> #include <QApplication> int main(int argc, char *argv[]) { QApplication a(argc, argv); QLabel *label = new QLabel("Hello World"); label->show(); label->setAttribute(Qt::WA_DeleteOnClose, true); return a.exec(); } | cs |
setAttribute 를 추가하는 이유는 프로그램 종료시 동적으로 할당된 label 을 자동으로 반환하게 설정을 하여 메모리 누수를 예방하기 위함입니다.
실행을 하면 다음과 같이 화면에 나타납니다.
4. QLabel 의 생성자에 HTML Tag 를 추가합니다.
HTML Tag 은 <b> 나 <i> 또는 <font> 같은 Tag 를 입력하면 Label 위젯에 해당 내용이 반영이 됩니다. QLabel 의 내용에 다음의 내용으로 변경해서 실행 해봅니다.
QLabel *label = new QLabel("<b>Hello</b> <font color=red><i>World</i></font>");
다음과 같이 HTML 태그가 반영된 QLabel 위젯이 생성됨을 볼 수 있습니다.
작업 파일 :
'소프트웨어 > Qt' 카테고리의 다른 글
Object Trees & Ownership (객체 트리들과 소유권) (1) | 2016.04.13 |
---|---|
0081 - 수직 / 수평 레이아웃 지정 (0) | 2016.04.12 |
0061 - Layout, Tab, Buddy (레이아웃, 탭, 버디) (0) | 2015.12.10 |
0054 - Dr. Memory 로 메모리 누수 확인하기 (0) | 2015.11.10 |
0053 - 윈도우에서 QT 응용 프로그램 바로 실행하기 (0) | 2015.11.09 |