Как использовать XML-файл Glade для создания исполняемой программы
Я учусь использовать Glade 3 для создания графического интерфейса.
Тем не менее, файл *.glade является XML-файлом. Я не уверен, как идти вперед отсюда. Поиск в Google не очень помогает. Здесь уже задан вопрос об этом же инструменте. Инструмент для преобразования.Glade (или xml) файла в C-источник. Однако я не могу понять ответ, который дан в этом.
Может кто-нибудь рассказать, как проходит основной цикл разработки с использованием Glade 3?
- Дизайн пользовательского интерфейса на поляне.
- Создайте *.glade xml файл.
- И ЧТО ПОТОМ????
Как XML-файл может быть преобразован в исполняемый файл?
A. Должен ли я преобразовать этот XML-файл в язык (C) и скомпилировать код C?
Б. Или есть ли способ прямого преобразования кода XML в исполняемый файл ELF?
Я пытаюсь сделать графический интерфейс для собственного использования. Я использую Linux и хочу исполняемый файл ELF (например, как я получу, если я напишу код C с использованием библиотеки gtk и скомпилирую его с помощью gcc).
2 ответа
Если мы посмотрим на страницу Википедии для Glade, у нее есть целый раздел о том, как использовать Glade в программе: с GtkBuilder. Теперь осталось только прочитать документы, и вы можете начать использовать Glade. Без обид, но я никогда раньше не использовал Glade, и это достаточно ясно во всех документах. Например, вот домашняя страница Glade.
Я бы сделал что-то вроде этого:
DerivedWindow::DerivedWindow()
{
mainBox = Gtk::manage(new Gtk::Box(Gtk::ORIENTATION_VERTICAL, 7));
builder = Gtk::Builder::create();
try {
builder->add_from_file("filename.glade");
} catch (Glib::Error& ex) {
errMsg("Window Builder Failed: " + ex.what());
}
Gtk::Box* box;
builder->get_widget("name of box inside main window", box);
if (!box) { this->destroy_(); return; }
box->unparent();
mainBox->pack_start(*box, Gtk::PACK_SHRINK);
//optional - if you want full access to particular widgets
builder->get_widget("name of widged id", widgetname);
//connect signals here...
add(*mainBox);
show_all();
}
Обратите внимание, что это Gtkmm 3+.
Важно, чтобы вы очистили окно, полученное из файла glade, чтобы вы могли прикрепить его к производному окну.