GtkAlignment может содержать только один виджет одновременно - PullRequest
0 голосов
/ 26 ноября 2018

Я сделал графический интерфейс в Glade.У меня есть такая структура:

_ GtkWindow с именем winTimer
__ A GtkVBox
___ GtkHBox
____ GtkAlignment, называемый alignTimer с абсолютно ничем внутри.

Моя структура (gif)

Я делаю:

controlli->alignTimer=GTK_WIDGET(gtk_builder_get_object(builder,"alignTimer"));
controlli->pbTimerComposito = gdk_pixbuf_new(GDK_COLORSPACE_RGB,0,8,320,200);
controlli->imgTimer = GTK_WIDGET(gtk_image_new_from_pixbuf(controlli->pbTimerComposito));
gtk_container_add(GTK_CONTAINER(controlli->alignTimer),controlli->imgTimer); /* warning */
gtk_widget_show(controlli->imgTimer);

Где controlli - указатель на структуру, которая имееткроме всего прочего:

GtkWidget *alignTimer;
GdkPixbuf *pbTimerComposito;
GtkWidget *imgTimer;

Я получаю это во время выполнения:
Gtk-WARNING **: Попытка добавить виджет с типом GtkImage к GtkAlignment, но как подкласс GtkBin aGtkAlignment может содержать только один виджет одновременно;он уже содержит виджет типа GtkImage

Но это не так!Это первый и единственный виджет, который я добавляю!Что происходит?Я делал то же самое в другой части моего приложения, и оно отлично работало в течение многих лет.

Мое окружение:
- Windows XP SP3
- MinGW
- GCC 4.8.1
- GTK 2.24.10

PS Я знаю, что использую старую версию GTK, устаревшие виджеты и древнюю ОС, но я пишу код просто для удовольствия, поэтому я в порядке.Буду очень признателен за любую помощь.

1 Ответ

0 голосов
/ 26 ноября 2018

Проблема решена (точнее, проблемы не было).
Функция, которая содержала код, который я разместил выше, вызывалась дважды.Facepalm для себя.

...