2014-07-20 2 views
0

저는 PyGtk3에서 GtkFlowBox 하위 패딩을 없애는 방법을 찾으려고합니다.gtk3 플로우 박스 하위 4px 패딩

다음은 각 어린이 주위에 4px 패딩을 보여주는 최소한의 예입니다.

#!/usr/bin/python2.7 
import gi 

gi.require_version('Gtk', '3.0') 

from gi.repository import Gtk 


window = Gtk.Window() 

flowbox = Gtk.FlowBox() 

label0 = Gtk.Label("Test0") 
label1 = Gtk.Label("Test1") 

flowbox.add(label0) 
flowbox.add(label1) 

window.add(flowbox) 

window.show_all() 
window.connect('delete-event', lambda window, event: Gtk.main_quit()) 

print label0.get_allocated_height() 
print flowbox.get_child_at_index(0).get_allocated_height() 

Gtk.main() 

플로우 박스가있는 패딩;

http://forgottendream.org/~chasm/with_flowbox.png

패딩없이

원하는 결과. (GtkBox의 기본 동작);

http://forgottendream.org/~chasm/with_box.png

파이썬 버전 : 2.7.7 의 GTK 버전 : 3.12.2

편집 : 다음은 GtkBox와 같은 외관의 결과로 여분의 공간을 제거되었다.

답변

0

일반적으로 위젯의 패딩은 gtk-theme 인 Gtk.StyleContext()에 따라 다릅니다. 기본적으로 위젯은 주변에 패딩을 할당했습니다. Gtk.StyleContext를 사용하여 패딩을 가져옵니다. 또는 Gtk.Widget의 "margin"속성을 가지고 플레이하십시오. 개인적으로이 Gtk.FlowBox는 위젯을 정렬하고 필터링하는 하위 필터를 정렬하지 않는 한 완전히 허튼 소리입니까?

+0

이미 FlowBoxChild 위젯에서 set_style 메소드를 사용하여 다양한 패딩 및 여백 속성을 설정하려고 시도했지만 Gtk.StyleContext를 확인합니다. 컨테이너의 크기에 맞게 행과 열의 수가 변경되는 리플 로우 동작을 찾고있었습니다. – user3856843

+0

StyleContext를 설정하면 해결되었습니다. 감사. – user3856843