Я одна из вышеупомянутой команды, которая ищет решение.Вот что мне нужно для работы: я создаю объект Gvalue и хочу добавить его к GTKWindow window
.
int pid = 12345;
GValue val = G_VALUE_INIT;
g_value_init (&val, G_TYPE_INT);
g_value_set_int (&val, pid);
g_object_set (G_OBJECT(window), "pID", &val, NULL); //add to GTKWindow
. При нажатии кнопки в этом окне используется следующая сигнальная функция:
extern "C" G_MODULE_EXPORT void onButtonStepClicked(GtkObject* caller, gpointer data){
GValue _pid;
GtkWidget* window = gtk_widget_get_toplevel (GTK_WIDGET(caller));
g_object_get_property(G_OBJECT(window), "processID", &_pid);
cout << (int)g_value_get_int(&pID) << endl;
}
Но теперь я получаю предупреждение на мой терминал:
GLib-GObject-WARNING **: g_object_set_valist: класс объекта GtkWindow' has no property named
pID '
Так что я погуглил некоторое времяи нашел пример, где мне сначала нужно установить эти свойства в класс.Имеет ли это смысл, или я что-то здесь упустил?