2014-12-30 3 views
0

내 운영 체제는 Windows이지만 응용 프로그램을 Mac 응용 프로그램처럼 보이게하고 싶습니다. QApplication::setStyle을 사용하면 쉽게 스타일을 변경할 수 있습니다. 응용 프로그램 윈도우 스타일

QApplication::setStyle(new QWindowsVistaStyle) 

나는 QtMacStyle

QApplication::setStyle(new QMacStyle) 

를 들어, 너무 너무 MacStyle를 제공 할 알고하지만, QMacSytle이 선언되지 않은 것 같다. 컴파일러가 인식하지 못합니다. 그리고 Qt 웹 페이지는

Warning: This style is only available on Mac OS X because it relies on the HITheme APIs. 

Mac OS 스타일의 창을 사용하는 다른 방법이 있나요 말한다? 그걸 사용해야하기 때문에.

+2

'QMacStyle'은 기본 OS X API를 사용하기 때문에 지원되지 않는 플랫폼에서는 플랫폼 특정 스타일을 사용할 수 없습니다. 경고가 정확합니다. 그냥 읽고 이해하십시오. OS X 스타일처럼 보이는 Windows 용 QStyle을 직접 만들 수도 있지만 한 명의 개발자에게 수년간의 작업이 필요합니다. –

답변

6

Qt5에는 스타일을 설정하는 새로운 방법이 있습니다. 예를 들어 :

내 컴퓨터 출력에서 ​​
QApplication a(argc, argv); 
qDebug() << QStyleFactory::keys(); 
a.setStyle(QStyleFactory::create("Fusion")); 

은 다음과 같습니다

("윈도우", "지금 WindowsXP", "WindowsVista", "퓨전")

당신이 볼 수 있듯이 , Mac OS 스타일을 사용할 수 없습니다.

QStyleFactory 클래스는 QStyle 객체를 만듭니다.

QStyle 클래스는 모양과 GUI 느낌을 캡슐화하는 추상 기본 클래스입니다. QStyleFactory는 create() 함수와 스타일을 식별하는 키를 사용하여 QStyle 객체를 만듭니다. 스타일은 이며 스타일 플러그인에서 내장되거나 동적으로로드됩니다 ( QStylePlugin 참조).

유효한 키는 keys() 함수를 사용하여 검색 할 수 있습니다. 일반적으로 에는 "windows"및 "fusion"이 포함됩니다. 플랫폼에 따라 "windowsxp", "windowsvista", "gtk"및 "macintosh"를 사용할 수 있습니다. 키는 대소 문자를 구분하지 않습니다.

+0

Qt5를 사용하지 않는다면이 대답은 Qt5 – Chernobyl

+0

에 대해서만 유효하기 때문에 제발 말해줘. Windows에서는 OSX 테마를 사용할 수 없다. –

+0

@ el.pescado @ el.pescado는 불가능하기 때문에 (공식 문서의 설명, 가장 중요한 부분은 굵은 글씨로 썼다.) 정확히 내 대답에 무엇이 잘못 되었습니까? 이해할 수 없습니다 – Chernobyl

관련 문제