Изменить заголовок окна - «GTK_IS_WINDOW (окно)» не удалось - PullRequest
0 голосов
/ 17 июня 2010

Я хочу изменить заголовок главного окна моего приложения C / GTK +. У меня есть код:

void update_title(const char *filename, MainWin* mw )
{
    GtkButton* btn = gtk_button_new();
    static int wid, hei;
    static char fname[50];
    char buf[100];

    if(filename != NULL)
    {
      strncpy(fname, filename, 49);
      wid = gdk_pixbuf_get_width(  gtk_image_view_get_pixbuf (GTK_IMAGE_VIEW(aview)) );
      hei = gdk_pixbuf_get_height( gtk_image_view_get_pixbuf ( GTK_IMAGE_VIEW(aview)) );
      fname[49] = '\0';
    }

    snprintf(buf, 100, "%s (%dx%d) %d%%", fname, wid, hei, (int)(mw->scale * 100));
    gtk_window_set_title(mw, buf);
}

Когда я пытаюсь вызвать эту функцию, я вижу ошибку: Gtk-CRITICAL **: gtk_window_set_title: утверждение `GTK_IS_WINDOW (window) 'не удалось

Что не так?

Спасибо.

Ответы [ 2 ]

1 голос
/ 17 июня 2010

mw имеет тип MainWin, gtk_window_set-title () ожидает тип GtkWindow.

0 голосов
/ 18 июня 2010

Вы неоднократно задаете тот же вопрос , и вы неоднократно будете получать один и тот же ответ. Вот ваши варианты:

  1. Узнайте , как правильно создать подкласс GObject
  2. Напишите правильный вопрос, такой как Я пытаюсь создать подкласс GtkWindow с этим кодом, но ...
  3. Перейти к 1.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...