Qt GUI 디자인을 OS 별로 따로 해야하나요?
글쓴이: superkkt / 작성시간: 화, 2011/02/08 - 9:20오전
리눅스에서 Qt creator를 사용해서 UI 폼을 디자인 했습니다. 그리고 이걸 윈도우와 맥에 가져가서 다시 Qt creator로 컴파일을 해봤는데요. 윈도우에서는 자동으로 Vista look and feel을 사용해서 버튼 등을 보여주는데요. 맥에서는 리눅스에서 보이던 그대로 안 예쁘게(맥 스타일이 아닌) 보이네요.
그래서 맥에서 직접 UI 폼을 만들어보니 거기에는 맥 스타일대로 버튼 등이 만들어지더군요. 저는 Qt가 자동으로 해당 OS의 look and feel을 적용하는 줄 알았는데요. 다른 OS(여기서는 리눅스)에서 만든 폼을 가져와서 컴파일하니 안 되는 경우가 있네요.
혹시 제가 빠뜨린 부분이 있나요? 아니면 OS 별로 폼 디자인을 따로 만들어줘야 하는건가요?
Forums:
http://doc.trolltech.com/4.7/
http://doc.trolltech.com/4.7/qstyle.html
http://doc.trolltech.com/4.7/qapplication.html#setStyle
------------------------------
How many legs does a dog have?
답변 감사합니다. 그런데 알려주신대로 스타일을 맥으로
답변 감사합니다. 그런데 알려주신대로 스타일을 맥으로 지정해도 변화가 없네요. 현재 맥에서 컴파일을 하기 때문에 별도로 스타일을 지정하지 않아도 자동으로 되는게 정상인것 같은데요. 리눅스에서 가져온 폼에 뭔가 커스마이징된 부분이 있어서 그런지 잘 안되네요.
======================
BLOG : http://superkkt.com
본문글과 다른 주제이지만 자바 swing도 리눅스, 윈도 환장합니다.
본문글과 다른 주제이지만 자바 swing도 리눅스, 윈도 환장합니다.
가장 큰 장벽은 폰트 인것 같습니다.
- 리눅스에서는 상용 폰트가 없고, 윈도에서는 공개 폰트가 없지요.
즉 디폴트 폰트시 각 OS마다 다른 폰트를 보여주게 됩니다.
- 설사 동일 폰트라고 해도 폰트를 보여주는 엔진?이 다르기 때문에 다르게 느껴집니다.
자바 swing에서는 free layout?인가 그거로 하면 위치및 고정 크기를 지정한데로 동작하는데,
이 경우 이 폰트 문제는 매우 골치 거리입니다.
고정 크기를 갖기에 OS마다 달라지는 폰트에 따라서 다 보여줄수있기도 하고 없기도 하거든요.
넷빈즈에서 제공하는 GUI builder상 개인적으로 가장 선호하는 layout인데,
제가 요새 GTKMM을 공부하다가 보니 좌표 지정 메소드도 없고 크기도 최소 지정이라
어쳐구니 없더군요. 하지만 곰곰히 생각해 보니
자바 swing 에서 제가한 실수 즉 잘못된 layout인 free layout이 왜 문제가 되는지 이해가 팍팍 되네요.
Netbeans를 사용하여 GUI 디자인 하시는분들은 주의하셔야 합니다. 저 처럼 피 봐요.
최초에 개발한 리눅스에서 Motif와 CDE를
최초에 개발한 리눅스에서 Motif와 CDE를 변경해서 변경되어진다면, 윈도즈나 맥에서도 같은 효과를 발휘할거라 예상할 수 있습니다.
만약 변경되지 않는다면, 코드내에서 각 위젯에 스타일이 따로 적용되어 있거나, 따로 스타일시트를 이용한다는 뜻일 것 같군요.
ui는 그냥 text 파일입니다.
아무 텍스트에디터로 열어보시면 어떻게 정의되어 있는지 확인할 수 있습니다.
------------------------------
How many legs does a dog have?
다시 여러 환경에서 테스트를 해보니 버튼에 아무런
다시 여러 환경에서 테스트를 해보니 버튼에 아무런 속성을 지정하지 않는 경우는 어떤 OS에서 UI를 만들어도 각각의 OS 네이티브 룩앤필로 잘 보이는군요.
그런데 버튼의 최소 사이즈를 지정하니 본문과 같은 문제가 생기네요. 이게 스타일을 적용한걸로 처리되어서 나타나는 정상적인 결과인건가요?
======================
BLOG : http://superkkt.com
댓글 달기