2009-09-05 10 views
0

gtk.Button에서 테두리를 제거하고 그 크기를 고정으로 설정하고 싶습니다. 어떻게해야합니까? 내 버튼은 다음과 같습니다gtk.Button에서 안쪽 테두리 제거

 
b = gtk.Button() 
b.set_relief(gtk.RELIEF_NONE) 

감사합니다! p.d : 저는 pygtk를 사용하고 있습니다

답변

2

gtk.Widget.set_size_request을 사용하여 위젯의 고정 크기를 설정할 수 있습니다. 사용자가 계획 한 것보다 더 큰 글꼴 크기를 원하기 때문에 일반적으로 나쁜 아이디어입니다.

테두리를 제거하는 데있어 gtk.Button은 종종 원하는 것보다 더 많은 공간을 차지할 수 있습니다 . "inner-border"와 같은 스타일 속성을 0으로 설정하고 원하는 결과를 얻는 지 확인할 수 있습니다. 가능한 가장 작은 버튼이 필요하면 gtk.EventBox 안에 gtk.Label을 놓고 이벤트 상자의 클릭을 처리해야합니다. 그러면 픽셀 수가 가장 적게 사용됩니다.

-1

EventBox가 "활성화 됨"및 "클릭 됨"과 같은 버튼 이벤트를 보낼 수 있다고 생각하지 않습니다.

+0

예, 가능합니다! 실제로 내 국경 문제를 해결하기 위해이 대안을 사용하지 않았습니다. 클릭 한 이벤트를 추가하려면 다음을 사용해야합니다. eventboxobject.connect ("button-press-event", callback_function) – Lucia

+0

"버튼 누름"은 하나의 이벤트입니다. 나는 특별히 "버튼 이벤트"라고 말하고 있습니다. "클릭"은 내가 잘못 본 것이 아니라면 버튼 전용 이벤트이며, "버튼 누르기"는 꽤 일반적입니다. 모든 Button 관련 이벤트가 EventBox에서도 구현되었는지 확인 하시겠습니까? Button 위젯의 이점을 상실한 미학을 위해 Button을 사용하지 않는 프로그램은 많지 않습니다. "Button pressed"대신 "Clicked"이벤트를 수신합니다. 그게 당신의 문제를 해결한다면, 괜찮아. 그러나이 세부 사항에주의하십시오. – dividebyzero

관련 문제