2012-03-23 3 views
3

gtkmm을 사용하여 C++에서 간단한 사진 뷰어를 친구들과 함께 쓰고 있습니다. 우리의 앱이 리눅스 데스크톱의 다른 GTK + 애플리케이션과 매우 다르며 완전히 다르다는 것을 제외하고는 모든 것이 아주 잘됩니다. 누군가가 우리가 뭘 잘못하고 있는지에 관해 조언 해 줄 수 있다면, 우리는 매우 감사 할 것입니다. 여기에 윈도우를 만들기위한 책임gtkmm 프로그램의 모양이 나쁨

코드 (나머지는 저장소에) : 모양과 https://github.com/jjkrol/ZPR/blob/master/src/gui.cpp

스크린 샷이 :
Screenshot with the look http://i39.tinypic.com/ktatc.png

어떤 도움 apprecieated 될 것이다, 사전에 감사합니다!

+0

SCons 성능과 관련해서는 SConstruct가 정상적으로 보입니다. "손으로"오래 걸리는 파일을 컴파일하고 컴파일하여 컴파일러 또는 SCons를 분리하십시오. – Brady

답변

5

GTK 3.0에는 GTK 2.0과 다른 테마가 있습니다. 아마도 당신의 다른 GTK + 응용 프로그램 중 하나는 여전히 2.0에 의존하므로 3.0에 대한 테마를 설정하지 않았습니다. 예 :로 설정하는 방법에 대해 알아보십시오. 귀하의 데스크톱 환경에서 Adwaita.

Btw : Glib::RefPtr<>을 살펴보십시오.

+0

대단히 고마워요, 효과가있었습니다! 'Glib :: RefPtr <>'을 살펴보기를 권하는 이유는 무엇입니까? 나는 그것을 잘못 사용하고 있는가? –

+2

나는 그가 당신의 코드에서 "새로운"것의 우세를 언급하고 있다고 생각한다. gtkmm 코드에서 필드를 직접 선언해야하므로 (Gtk :: Box mybox) 노출 된 포인터가 없거나 불가능한 경우 Glib :: RefPtr <> (Glib :: RefPtr mybox)를 사용하면 new'd 포인터는 새어 나오는 것이 더 어렵다. 두 경우 모두 개체가 자동으로 삭제됩니다. Gtk :: manage는 때때로 유용 할뿐만 아니라 잘 알고 있어야합니다. – ergosys

+0

좋습니다,이 제안에 감사드립니다. –