나는 모든 레이아웃이 Gtk에 포팅하고 싶고 Gtk 레이아웃 시스템과 작동하도록 'n 개월'을 쓰고 싶지 않은 애플리케이션 레이어를 가지고있다. 기존의 내부 레이아웃 코드를 사용하고 Gtk로 결과 위젯을 렌더링하도록하십시오.GTK 레이아웃 엔진을 우회하는 사용자 정의 GTK 위젯?
내장 컨테이너를 여러 개 사용해 본 후에 내 위젯을 작성하는 것으로 시작했습니다. 기본적으로 최소 크기가없는 GtkFixed 컨테이너와 같은 것을 찾고 있는데, 즉 Gtk가 전체 창에 첫 번째 위젯을 넣을 것이고 모든 하위 위젯이 자신을 배치하여 영역을 채울 수 있습니다. 그 때문에 GtkFixed를 사용하면 창은 항상 초기 레이아웃의 크기로 제한됩니다. 즉, "요청 된"공간이기 때문입니다. 창 장식의 가장자리를 사용하는 것보다 크기를 조정할 수 없습니다.
어쩌면 할당 대 요청에서 학교가 필요합니다. 지금까지 내 인터넷 검색은 내가이 일을하기 위해 필요한 정보를 찾지 못했습니다. 나는 시도했다.
현재 C API를 사용하고 있으며 Win32와 Linux를 대상으로하고 있습니다. 지금까지 Win32에서 작동하는 셸 응용 프로그램에서 빈 창이 나타납니다. 그러나 첫 번째 자식 위젯은 크기 조정을 초기 크기로 제한하고 있습니다.
편집 : FYI이 모든 결과의 최종 결과는 here입니다. 이 코드는 GTK 레이아웃 엔진과 독립적으로 크기를 조정하고 이동할 수있는 기본 위젯을 나타냅니다.
컨테이너를 그 크기로 고정시키지 않고 첫 번째 위젯의 크기를 어떻게 설정하고 있습니까? – pib
창 안의 가장 위젯의 경우 10x10 픽셀을 요청하고 Gtk는 전체 창을 채우기 위해 그것을 확장합니다. 나머지 위젯은 정의 된 크기를 정확하게 요청합니다. – fret