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

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM