나는 클래스 whoss 상위 클래스가 vala의 gtk.box입니다. 상자 생성자에 연결하는 것은 지원되지 않습니다. 그래서 어떻게 생성자에서 상자의 방향을 설정할 수 있습니까 ?? this.set_orientation (Gtk.Orientation.VERTICAL)
를 호출하면 작동 할 수 있지만gtk에서 상자의 방향을 변경할 수 있습니까?
답변
는이 작업을 수행하는 더 정확한 방법은 Gtk.Box의 기본 생성자가하는 것처럼, 구조 시간에 orientation
속성을 설정하는 것입니다. 발라, 당신은 같은 것을 할 것입니다 :
public class MyBox : Gtk.Box {
public MyBox() {
GLib.Object (orientation: Gtk.Orientation.VERTICAL);
}
}
, 이것은 ... 뭔가를 (명확성을 위해 단순화)이 같은 비트를 생성합니다 단지 set_orientation
를 호출하는 것보다 조금 다릅니다
MyBox* my_box_new() {
MyBox* self = g_object_new (GTK_TYPE_BOX, NULL);
gtk_box_set_orientation (GTK_BOX(self), GTK_ORIENTATION_VERTICAL);
return self;
}
는 D :
MyBox* my_box_new() {
return g_object_new (GTK_TYPE_BOX, "orientation", GTK_ORIENTATION_VERTICAL, NULL);
}
같은 것을 생성하는 것, set_orientation
를 호출 (또는 orientation
속성을 설정) 반면에, 첫 번째 버전의 경우 인스턴스화 중 (즉, 각 조상 클래스의 구성 블록 동안) 오리엔테이션이 정확히 으로 설정되는 반면, 두 번째 버전의 경우 객체는 먼저 잘못된 오리엔테이션으로 생성되지만, 방향이 변경됩니다. 이 차이가 Gtk.Box에서 중요한 것인지 아닌지는 잘 모르겠지만 어떤 경우에는 매우 중요하므로 올바른 방법으로 습관을 익히는 것이 좋습니다.
"구성 블록"이 무슨 뜻인지 확실하지 않으면 Vala 튜토리얼의 GObject-Style Construction 섹션을 살펴보십시오.
니스! 알았다. "set_orientation()"및 오리엔테이션 속성이 문서 (valadoc)에없는 이유는 무엇입니까? 공용 메서드 만 보여줄 수 있습니까? – angrymadcat
Gtk.Box가 구현하는 Gtk.Orientable에 대한 설명서에 있습니다. – nemequ
그냥 pedantic을하기 위해서, 두 경우 모두'g_object_new (MY_TYPE_BOX, ...)'를 생성 할 것입니다. –
set_orientation(Orientation.VERTICAL);
- 1. RatingBar 방향을 변경할 수 있습니까?
- 2. 인앱 구매 로그인보기의 방향을 변경할 수 있습니까?
- 3. C#, asp.net에서 체크 상자의 GUI를 변경할 수 있습니까?
- 4. 콤보 상자의 내용을 이전 내용에 따라 어떻게 변경할 수 있습니까?
- 5. 사용자가 선택 상자의 입력 변수를 변경할 수 있습니까?
- 6. 테마가없는 대화 상자의 창 배경색을 변경할 수 있습니까?
- 7. Facebook의 '좋아요'버튼의 댓글 상자의 너비를 변경할 수 있습니까?
- 8. 방향을 변경할 때 배경을 변경하지 마십시오.
- 9. Windows 전화 목록 상자의 방향을 바꾸려면
- 10. Gtk에서 동적으로 창 높이와 너비를 설정할 수 있습니까?
- 11. 텍스트 상자의 텍스트 방향을 자동으로 변경합니다.
- 12. GTK에서 SVG 이미지의 요소 색상을 어떻게 동적으로 변경할 수 있습니까? 코드로드 SVG 파일에서 이미지의
- 13. 스크립트를 변경할 수 있습니까?
- 14. JDialog를 사용하면 대화 상자의 너비 만 변경할 수 있습니다.
- 15. RingtonePreference : 대화 제목을 변경할 수 있습니까?
- 16. 어떻게 변경할 수 있습니까? 변경할 수 있습니다. 스칼라 매핑?
- 17. Jquery Masterpage가 텍스트 상자의 텍스트를 클라이언트 측에서 변경할 수 없습니다.
- 18. VS 대화 상자 편집기에서 콤보 상자의 높이를 변경할 수 없습니다.
- 19. Wpf 툴킷 자동 완성 상자의 배경을 변경할 수 없습니까?
- 20. GTK에서 글꼴 크기를 변경하려면 어떻게해야합니까?
- 21. 텍스트 상자의 텍스트를 변경할 때 오류가 발생했습니다.
- 22. 알림 제목을 변경할 수 있습니까?
- 23. NSDictionaries 키를 변경할 수 있습니까?
- 24. 수퍼 클래스를 변경할 수 있습니까?
- 25. UISearchBar의 배경을 변경할 수 있습니까?
- 26. win32_computersystemproduct의 값을 변경할 수 있습니까?
- 27. RAILS_ROOT을 (를) 변경할 수 있습니까?
- 28. 클로저의 소유자를 변경할 수 있습니까?
- 29. PKAddPassesViewController의 제목을 변경할 수 있습니까?
- 30. 즉석에서 web2py보기를 변경할 수 있습니까?
오리엔테이션이란 무엇입니까? 'Box'의 생성자는 어쨌든 인수를 취하지 않습니다 : http://unstable.valadoc.org/#!api=gtk+-2.0/Gtk.Box. – Hassan
In gtk + -2.0 Gtk.Box에는 생성자가 없습니다 (인스턴스 생성 할 수없는 추상 클래스입니다). 그러나 gtk + -3.0에서는 생성자가 있습니다. http://valadoc.org/#!api=gtk+-3.0/Gtk.Box.Box – nemequ