Qt5.2에서 소개된 QtWin이라는 네임스페이스가 있습니다.
이 네임스페이스를 이용하여 윈도우에서 사용하는 DWM을 조금은 건드릴 수 있게되었습니다.
DWM이란?
"
데스크톱 창 관리자(영어: Desktop Window Manager, DWM)는 윈도 비스타, 윈도 7, 윈도 8에 도입된 컴포지트 창 관리자이다. 이전에는 데스크톱 컴포지트 엔진(영어: Desktop Compositing Engine, DCE)이라고 불렸다. DWM은 다이렉트엑스 9.0 및 셰이더 모델 2.0을 지원하는 그래픽 카드를 요구한다.
원래는 투명도와 3차원 창 전환과 같은 윈도 에어로 사용자 경험을 사용할 수 있게 할 목적으로 만들어졌다.
"
따라서 정식명칭 에어로 글라스를 Qt에서도 사용할 수 있게되었습니다.
먼저,
사용할 클래스에 다음과 같이 헤더파일은 선언합니다.
#include <QtWinExtras>
그리고 프로젝트 .pro파일에 다음을 추가합니다.
QT += winextras
그리고 적용할 위젯의 생성자에 다음 코드를 추가합니다.
1 2 3 4 | QtWin::extendFrameIntoClientArea(this, -1, -1, -1, -1); setAttribute(Qt::WA_TranslucentBackground, true); setAttribute(Qt::WA_NoSystemBackground, false); setStyleSheet("Widget { background: transparent; }"); | cs |
그리고 실행을 하면 다음과 같이 위젯이 투명해진 것을 확인할 수 있습니다.
이상입니다.
'컴퓨터 공학 > Qt' 카테고리의 다른 글
[ Qt 프로그래밍 ] QML로 만든 게임 예제 (0) | 2015.11.27 |
---|---|
[ Qt 프로그래밍 ] QML에 Box2D 사용하기 (0) | 2015.11.27 |
[ Qt 프로그래밍 ] Qt5.4 버전을 설치할 경우 발생하는 문제점 (0) | 2015.11.27 |
[ Qt 프로그래밍 ] 강아지 키우기 프로그램 (0) | 2015.11.27 |
[ Qt 프로그래밍 ] 초간단 컬링게임 만들기 (0) | 2015.11.27 |