2009-11-14 4 views
2

"Remove"아이콘이 있지만 "Remove"텍스트가없는 버튼을 생성하려고합니다. Button button = new Button(Stock.Remove);을 사용하는 경우 반대가됩니다. 텍스트 만 표시되고 아이콘은 표시되지 않습니다. 나는이 버튼들을 많이 가지고있을 것이고, 본문은 그것을 어수선하게 보일 것이다. 아이콘을 어떻게 만듭니 까?Gtk에서 주식 아이콘만으로 Button을 만드는 방법은 무엇입니까?

참고 : 이들은 툴바 버튼이 아닌 일반 버튼입니다.

편집 : 이것은 현재 모습입니다 : 나는 작은, 눈에 거슬리지, 아이콘 전용 버튼이 버튼을 대체 할

cluttered

.

답변

6

먼저 Gtk.Image을 만든 다음 이미지를 인수로 전달하여 Gtk.Button을 만듭니다.

Image image = new Image(Stock.Remove, IconSize.Button); 
Button button = new Button(image); 
+0

고마워요, 이건 하나의 개조와 함께 작동합니다 : "새로운 이미지 (Stock.Remove, IconSize.Button)"해야합니다. 그냥 Stock.Remove를 전달하면 잘못된 오버로드를 사용하여 이미지를 찾을 수 없습니다. –

1

GTK+ stock images 목록을 참조하십시오.

Button remove = Button.NewFromStock(Stock.Remove); 

내가 "알고있다"적절한 처리하는 것보다이 방법 청소기 고려 : 그럼 그냥 버튼을 만들려면 호출하는 식별자 중 하나를 사용하여 수동으로 이미지를 직접 만들 수있는 절대적으로 필요가 없습니다 이미지 크기 힌트.

업데이트 : 작성 당시에는 모노 링크가 실제로 작동하지 않습니다. GTK + C 핵심 설명서의 list of stock itemsgtk_button_new_from_stock() 함수 설명은 다음과 같습니다. Mono에서 행해진 GTK # 포장은 원본을 꽤 가깝게 따르는 것 같습니다.

+0

링크가 잘못되었거나 사이트가 크래시 되었습니까? 그 서버의 GTK + 스톡 이미지 링크에서 서버 오류 500을 얻었습니다 ... – Svish

+0

Swish : 나는 후자라고 생각합니다. 그들의 사이트에는 문제가있는 것 같습니다. 아마 나는 포스트에서 그렇게 말했어 야했는데, 그것은 너무 일시적으로 보였다. :) – unwind

+0

이 아이콘 만 단추를 만들지 않습니다, 그렇죠? 그래서 그것은 문제를 해결하지 못합니까? 실제로 OP의 코드가하는 일을 정확히 수행합니다. – simon

관련 문제