2011-03-23 5 views
1

c/C++에서 현재 창 범위 내에서 컨트롤 이름/ID로 GTKWidget을 찾는 방법이 있습니까? 윈폼에서GTK + 컨트롤 id에 의한 GTKWidget 찾기

, 당신은 다음과 같이했다 : (. 또는 구조체/클래스/등)

public class Form1 : Form 
{ 
    public void Test() 
    { 
     this.Controls.Find("ControlName"); 
    } 
} 
+0

일반적인 디자인에서는 이렇게 할 필요가 없습니다. –

답변

0

우리가 어떤 위젯에 대한 참조를 저장 GTK +에서 우리는 변수를 사용하여 나중에 코드에서 접근 할 필요가 있습니다를 즉 관련 콜백 함수에서 사용자 데이터로 전달됩니다. UI 빌더 (글 레이드와 같은)를 사용하고 있다면 예, UI 빌더에서 지정한 이름으로 위젯을 참조 할 수있는 방법이 있습니다. 그렇지 않으면 대답은 위젯을 "찾아내는"방법이 없다는 것입니다.

좀 더 구체적인 예를 제공 할 수 있다면 자세히 설명 할 수 있습니다.

1

gtk_widget_set_name()을 사용하여 위젯에 이름을 설정할 수 있지만 이름을 기반으로 위젯을 찾을 수있는 기본 제공 함수가 있다고 생각하지 않습니다.

그래도 필요하다면 그렇게 쓰지 않을 것입니다.

Micah가 지적했듯이, GTK + 응용 프로그램이 일반적으로 어떻게 구조화되어있는 것은 아니며 수동으로 작성된 UI를 위해 필요한 시간에 필요한 위젯에 대한 포인터를 만든 시간부터 계속 유지하는 것이 일반적입니다.