2014-06-11 1 views
0

나는 gtkmm 2에서 앱을 devoloping하고 탭을 사용하는 방법을 배웁니다. 지금은 실제 태그를 만드는 append-function의 시그니처에서 프레임이나 V_Box를 광고하는 방법을 전혀 모릅니다.탭에 V_Box를 추가하는 방법 - gtkmm 2

m_Notebook.append_page(m_Label1, "First"); 

다음은 m_label1이라는 레이블을 추가하는 방법의 예입니다. 그러나 입력 필드 나 다른 레이블과 같은 하위 항목을 포함하는 상자를 추가하려면 어떻게해야합니까? 어떻게 구현합니까?

ExampleWindow::ExampleWindow() 
: m_Label1("Contents of tab 1"), 
m_Label2("Contents of tab 2"), 
m_Button_Quit("Quit") 
{ 
set_title("Gtk::Notebook example"); 
set_border_width(10); 
set_default_size(400, 200); 


//MyButton myButton; 
add(m_VBox); 

//Add the Notebook, with the button underneath: 
m_Notebook.set_border_width(10); 
m_VBox.pack_start(m_Notebook); 
m_VBox.pack_start(m_ButtonBox, Gtk::PACK_SHRINK); 

m_ButtonBox.pack_start(m_Button_Quit, Gtk::PACK_SHRINK); 
m_Button_Quit.signal_clicked().connect(sigc::mem_fun(*this, 
    &ExampleWindow::on_button_quit)); 

//Add the Notebook pages: 
//m_Notebook.append_page(m_Label1, "First"); 
m_Notebook.append_page(m_Label1, "First"); 
m_Notebook.append_page(m_Label2, "Second"); 

m_Notebook.signal_switch_page().connect(sigc::mem_fun(*this, 
    &ExampleWindow::on_notebook_switch_page)); 

show_all_children(); 
} 

ExampleWindow::~ExampleWindow() 
{ 
} 

void ExampleWindow::on_button_quit() 
{ 
    hide(); 
} 

void ExampleWindow::on_notebook_switch_page(GtkNotebookPage* /* page */, guint page_num) 
{ 
    std::cout << "Switched to tab with index " << page_num << std::endl; 

    //You can also use m_Notebook.get_current_page() to get this index. 
} 

답변

2

레이블 대신 상자를 추가하기 만하면됩니다. 예 :

m_Notebook.append_page (first_box, "First");

그리고 해당 상자에 하위 위젯을 추가하십시오.