crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Пару вопросов по gtk
Гость_tormozzz_*
сообщение 27.4.2010, 22:57
Сообщение #1





Гости








    


кто работал с gtk помогите пожалуйста.
1) есть код загрузки изображения. перед загрузкой он проверяет - картинку ли содержит файл. и вот где то процентах в 10 запусков он говорит что файл не является картинкой. почему?
ImgBtn::ImgBtn(const char* filename)
{
    evbox = gtk_event_box_new();
    if (image) g_free(image);
    if (FileExists(filename))
    {
        info = gdk_pixbuf_get_file_info(filename,&width,&height);
        if (info)
        {
            cstImg = gdk_pixbuf_new_from_file(filename,NULL);
        }
        else
        {
            printf("File %s is not image",filename);
        }
        if (cstImg)
        {
            image = gtk_image_new_from_pixbuf(cstImg);
        }
        else
        {
            printf("Cold not load %s \n",filename);
        }
        g_free(info);
    }
    else
    {
        printf("File %s not found \n",filename);
        image = gtk_image_new();
        cstImg = NULL;
        info = NULL;
    }
    if (image)
        gtk_container_add(GTK_CONTAINER(evbox),image);
    gtk_widget_show_all(GTK_WIDGET(evbox));
}

2)далее. почему процедура, прицепленная к window событию "size-allocate" исполняется бесконечно, начиная с запуска программы?
3)есть ли возможность создать и прицепить маску прозрачности на окно? в доках не нашел... или плохо искал...
и еще... использую codeblocks и под виндой, и под линуксом компилятор gcc. в винде проект собирается нормально, а в линуксе при линковке ругается на каждую gtk функцию, хотя в командах линковщика указано 'pkg-config --libs gtk+-2.0'. либы в /usr/lib есть. путь поиска в настройках тоже есть. в чем проблема?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_Гость_*
сообщение 22.6.2010, 19:40
Сообщение #2





Гости








    


Если говорит, что файл не является картинкой, то под Windows это может быть в случае с русскими именами. GTK работает с UTF8 кодировкой, а для работы с файловой системой Win32 нужна родная виндовозная кодировка.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 26.6.2019, 13:40