2011-03-22 6 views
4

나는 gtkmm을 사용하여 응용 프로그램을 작성하고 있습니다.위젯의 높이/너비를 얻을 수 없습니다 - gtkmm

간단한 위젯 클래스를 작성했습니다. 일부 경우에만 응용 프로그램의 기본 창에 표시하고 싶습니다. 그렇지 않으면 "비활성화 된"라벨을 표시하고 싶습니다.

위젯과 레이블을 하나의 VBox에 모두 담기 위해, 나는 그것들을 교환하기 위해 show()와 hide()를 사용했다.

그러나 맞춤 위젯이 라벨보다 훨씬 크기 때문에 라벨의 크기를 조금 더 조정해야합니다 ().

나는 label.set_size_request (x, y)를 사용할 수 있음을 알고 있으며 수동으로 치수를 입력 할 때 작동합니다. 하지만 위젯 등 하나의 사용은 gtk 테마에 따라 크기가 약간 다를 수 있다는 것을 알고

내가 라벨을 설정 싶어요정확히 위젯과 같은 크기 * 있다. 그러나 작동하지 않습니다 *) (widget.get_height 사용 - 항상


1. 어쩌면 단서 내가 메인 윈도우의 생성자 내에서이 작업을 수행하는 것이 될 것입니다 반환합니다.

답변

7

나는 gtkmm에서 많은 일을하지 않았으며 pygtk에서 더 많이했습니다. 하지만 get_width/get_height에서 의미있는 값을 얻으려면 위젯이 이어야하며이어야합니다. 이는 X 윈도우가 보이는 것을 말합니다. 그리고 위젯은 윈도우 생성자에서 아직 볼 수 없습니다.

대신 gtk.Notebook을 사용하고 탭은 숨겨 주시기 바랍니다. 그런 다음 gtk.Notebook은 레이블과 사용자 정의 위젯의 크기를 모두 제어합니다.

+0

아, 고마워, 노트북 속임수는 멋지다. – rafalcieslak

관련 문제