zoukankan      html  css  js  c++  java
  • Glade开发GTK+ 界面

    1:概述

     Java 有WindowBuilder 来可视化构建界面, C++ 可以选择QT 但是硬要用GTK 怎么办呢? 使用Glade啊

     安装:

    ">sudo apt-get install glade

    注意: 或者直接在Ubuntu的应用商店搜索安装, Ubuntu搜索安装会有三个, 最好自己试一试, 我选择安装最后一个成功.

    2: 来 搞个界面出来

      下面的这个注册 直接关闭跳过

     

    给按钮设置 信号控制 也就是事件

     3: 编写代码

    #include <gtk/gtk.h>
    #include <stdio.h>
    //我们在UI中,为button1添加的点击函数
    void btn_click(GtkObject *object, gpointer user_data){
        printf("5sssssssssssssssss");
         gtk_main_quit();
    }
    
    int main (int argc, char *argv[])
    {
        GtkBuilder *builder;
        GtkWidget *window;
        GtkWidget  *btn;
        gtk_init (&argc, &argv);//gtk初始化
    
        builder = gtk_builder_new ();//指针分配空间
        gtk_builder_add_from_file (builder, "lay1.glade", NULL);//读取button.xml文件
        window = gtk_window_new(GTK_WINDOW_TOPLEVEL);  //创建窗口
        window = GTK_WIDGET (gtk_builder_get_object (builder, "window"));//获取window串口使用权
    
        btn= GTK_WIDGET(gtk_builder_get_object (builder, "btn"));
    
        //gtk_signal_connect(btn,"destroy",G_CALLBACK(btn_click),NULL);
    
        gtk_builder_connect_signals (builder, NULL);//连接响应事件
        g_object_unref (G_OBJECT (builder));  //释放xml内存空间
        gtk_widget_show(window);
        gtk_main ();//事件响应函数
        return 0;
    }

    编译出现问题:  assertion 'GTK_IS_WIDGET (widget)' failed的解决办法

    参考 这边博客解决办法: https://www.cnblogs.com/dgwblog/p/12146591.html

     

     

  • 相关阅读:
    操作~拷贝clone()
    属性/css~储存
    属性/css~位置.offset()&offsetParent()&position()&scrollTop()&scrollLeft()
    属性/css~尺寸.height()
    设置,获取,删除cookie方法
    Cookie
    属性/css~css.css()
    Python井字游戏
    Asp.net vNext 学习之路(三)
    使用C#发送Http 请求实现模拟登陆(以博客园为例)
  • 原文地址:https://www.cnblogs.com/dgwblog/p/12145054.html
Copyright © 2011-2022 走看看