• GTK可能遇到的问题 汇总


     Failed to load module "canberra-gtk-module"错误的解决方案

    解决:

    sudo apt-get install libcanberra-gtk-module

     使用Glade 构建GTK应用 按钮失效

    使用下面命令构建

    gcc main.c `pkg-config --cflags --libs gtk+-3.0` -rdynamic

    ubuntu 18.04 LTS 安装codeblocks最新版本

    sudo add-apt-repository ppa:pasgui/ppa
    sudo apt-get update
    sudo apt-get install codeblocks
    sudo apt-get install codeblocks-contrib

     在Glade下 下面代码不会起作用

      手动编写界面却可以

      fixedlayout = gtk_fixed_new();
        fixedlayout = GTK_WIDGET(gtk_builder_get_object (builder, "fixedlayout"));
        bgimage = gtk_image_new_from_file(BGIMAGEFILE);
        gtk_fixed_put(GTK_FIXED(fixedlayout), bgimage, 0, 0);

    GTK3 设置背景图片

    #include <gtk/gtk.h>
    
       int main( int argc, char *argv[])
       {
                   GtkWidget *window;
                   GtkWidget *layout;
                   GtkWidget *image;
                   GtkWidget *button;
    
                   gtk_init(&argc, &argv);
    
                   window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
                   gtk_window_set_default_size(GTK_WINDOW(window), 290, 200);
                   gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
    
                   layout = gtk_layout_new(NULL, NULL);
                   gtk_container_add(GTK_CONTAINER (window), layout);
                   gtk_widget_show(layout);
    
                   image = gtk_image_new_from_file("1.png");
                   gtk_layout_put(GTK_LAYOUT(layout), image, 0, 0);
    
                   button = gtk_button_new_with_label("Button");
                   gtk_layout_put(GTK_LAYOUT(layout), button, 20, 50);
                   gtk_widget_set_size_request(button, 80, 35);
    
                   g_signal_connect_swapped(G_OBJECT(window), "destroy",G_CALLBACK(gtk_main_quit), NULL);
    
                   gtk_widget_show_all(window);
    
                   gtk_main();
    
                   return 0;
    }

     

     assertion 'GTK_IS_WIDGET (widget)' failed的解决办法

    网络上错误解决办法:

    -export-dynamic 

    正确办法: codeblocks 使用全局信号量 必须配置

    -rdynamic

    如果你的布局代码是: 拿必须错误 因为你使用的是 GTK2.X ,

    <requires lib="gtk+" version="3.0"/>
    <object class="GtkWindow" id="window1">

    解决办法: 注意在命令行下 使用 GTK3.0 开发 是不会出错的

    <requires lib="gtk+" version="2.0"/>
    <object class="GtkWindow" id="window1">
  • 相关阅读:
    转(Java中的递归思想)
    stuff thing object 区别
    论文阅读笔记ECCV 2018: Factorizable net: an efficient subgraphbased framework for scene graph generation
    论文阅读笔记Adversarial Learning with Mask Reconstruction for TextGuidedImage Inpainting
    论文阅读笔记Image Generation from Scene Graphs
    评价gan好坏的指标:IS和FID
    深度学习——正则化(L1\L2)(还没搞明白
    Adam
    L1 L2 SmoothL1损失函数
    ground truth
  • 原文地址:https://www.cnblogs.com/dgwblog/p/12146591.html
Copyright © 2020-2023  润新知