Я пытаюсь создать приложение GTK-3, и в процессе инициализации я хочу проверить, установлено ли значение GSetting, в противном случае я хочу показать диалог «запуска», который будет виден только при первом запуске.
У GObject
есть суффикс _init
, который можно использовать для инициализации класса.В этом случае будет построено MyGtkApplication
, основанное на GtkApplication
.У GtkApplication
есть startup
, что можно использовать и для инициализации.
В этом примере мне все еще нужно реализовать функцию _init
для GApplicationClass.
GApplicationClass *gapp_class;
gapp_class = G_APPLICATION_CLASS (class);
gapp_class->startup = app_startup;
// This must be always implemented, because the MyGtkApplication is "GtkApplication"-based class.
void app_init(MyGtkApplication *app) {
// Check and show the modal dialog if key does not exist?
}
// This will overwrite the GApplicatio's "startup".
void app_startup(GApplication *app) {
// Check and show the modal dialog if key does not exist?
}
В настоящее время app_init
не имеет тела.
Какая разница и какую мне использовать?
С уважением, TheAifam5.