Как добавить V_Box на вкладку - gtkmm 2

0

Я devoloping приложение в gtkmm 2 и узнать, как использовать вкладки. Прямо сейчас я понятия не имею, как рекламировать фрейм или V_Box в сигнатуре функции append, которая создает фактическую вкладку.

 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.
}
Теги:
gtkmm

1 ответ

2
Лучший ответ

Вы просто добавляете ящик вместо метки. Например:

m_Notebook.append_page (first_box, "First");

И добавьте дочерние виджеты в это поле.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню