Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: gtk  (Прочитано 5102 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн sciko

  • Активист
  • *
  • Сообщений: 854
    • Просмотр профиля
Re: gtk
« Ответ #15 : 30 Июня 2010, 12:18:21 »
Найду, выложу. Но вообще-то надо стандарт языка смотреть как дело обстоит.

Оффлайн VestniK

  • Активист
  • *
  • Сообщений: 594
    • Просмотр профиля
Re: gtk
« Ответ #16 : 30 Июня 2010, 12:26:52 »
Вот я очень сильно подозреваю, что ни в одной из версий стандарта C, равно как и ни в одной из версий стандарта C++ никогда разницы не было. В текущих версиях её уж точно нет.

Оффлайн sciko

  • Активист
  • *
  • Сообщений: 854
    • Просмотр профиля
Re: gtk
« Ответ #17 : 30 Июня 2010, 12:59:25 »
Я так понимаю у Вас есть пруфлинк?

Оффлайн VestniK

  • Активист
  • *
  • Сообщений: 594
    • Просмотр профиля
Re: gtk
« Ответ #18 : 30 Июня 2010, 13:09:41 »
Настоящего пруфлинка нет, но есть мнение Страуструпа по этому поводу (это создатель языка C++ если что):
http://www2.research.att.com/~bs/bs_faq2.html#whitespace

Оффлайн Nattfodd

  • Новичок
  • *
  • Сообщений: 34
    • Просмотр профиля
Re: gtk
« Ответ #19 : 02 Июля 2010, 23:54:34 »
дабы вернутся к теме с таким объемным названием, помогие разрешить следующую проблему:

есть интерфейс, созданный при помощи glade.

Содержимое int.glade:
(Нажмите, чтобы показать/скрыть)

есть простенький код для проверки работы этого интерфейса:
#include <gtk/gtk.h>
#include <glade/glade.h>

int main (int argc, char **argv)
{
   GladeXML *xml;
    gtk_init(&argc, &argv);
    glade_init();
    xml = glade_xml_new("int.glade", "window1", NULL);
    if (!xml) {
g_warning(" Error during creation interface ! ");
return 1;
    }
    glade_xml_signal_autoconnect(xml);
    gtk_main();
    return 0;
}

в результате на экран форма не загружается. До этого была ошибка типа "(nconfig:16430): libglade-CRITICAL **: glade_xml_build_interface: assertion `wid != NULL' failed", но нагуглил, что надо передавать функции glade_xml_new имя формы. задал (window1), ошибка исчезла из лога, но окно все равно не появляется.

Пользователь решил продолжить мысль [time]Sat Jul  3 13:47:58 2010[/time]:
вобщем и тут разобрался, руки прибить тому, кто писал инструкцию к glade вот тут: http://symmetrica.net/gtk/

а рабочий код с использованием GtkBuilder:

#include <stdlib.h>
#include <stdio.h>
#include <gtk/gtk.h>
#include <glade/glade.h>

GtkBuilder *builder;       // GtkBuilder объект
GtkWidget *mainwindow;   // Главное окно

int main (int argc, char **argv)
{
gtk_init(&argc, &argv);    
builder = gtk_builder_new ();    

gtk_builder_add_from_file(builder, "int_01.xml", NULL);

mainwindow = GTK_WIDGET(gtk_builder_get_object(builder, "MainWindow"));

gtk_builder_connect_signals (builder, NULL);
gtk_widget_show_all (mainwindow);  
gtk_main();    
return 0;
}
« Последнее редактирование: 03 Июля 2010, 13:50:44 от Nattfodd »

 

Страница сгенерирована за 0.023 секунд. Запросов: 22.