paip.c語言gtk開發環境CodeBlocks /QT建立最佳實務

來源:互聯網
上載者:User

paip.c語言gtk開發環境CodeBlocks /QT建立最佳實務




作者Attilax ,  EMAIL:1466519819@qq.com 
來源:attilax的專欄
地址:http://blog.csdn.net/attilax




1.工具準備:
//////////////////////////////
ide: CodeBlocks 12.11   (28M).... 當然也能使用強大的QT
介面設計器:  glade-3-14-2-installer.exe  




2.新的建立一個gtk項目
///////////////////////////////
中間需要選擇gtk sdk路徑,,D:\gtk+bundle_2.24.10-20120208_win32del




3.建立一個介面使用glade-3-14-2
/////////////////////////////////////
儲存的時候儲存gtkbuilder格式..還有老的libglade格式 也能了..
自 gtk 的版本升到 2.12,它就包含了 GtkBuilder .GtkBuilder 的作用和 libglade 一樣,用來載入 glade 檔案,




4.加入源碼
//////////////////////////////////
#include <stdlib.h>
#include <gtk/gtk.h>
#include <glade.h>
#include <glib.h>


int main (int argc, char *argv[])
{
    gtk_init(&argc, &argv);


    GtkBuilder     *pBuilder = NULL;
    GtkWidget   *pMainWindow = NULL;


    pBuilder = gtk_builder_new();
    GError *err = NULL;
    if(0==     gtk_builder_add_from_file(pBuilder,"c:/haloc9.gtkfmt",&err))
    {
        /* Print out the error. You can use GLib's message logging */
        fprintf(stderr, "Error adding build from file. Error: %s\n", err->message);
        /* Your error handling code goes here */
    }




    pMainWindow = GTK_WIDGET(gtk_builder_get_object(pBuilder, "window1"));
    if (NULL == pMainWindow)
    {
        /* Print out the error. You can use GLib's message logging  */
        fprintf(stderr, "Unable to file object with id \"window1\" \n");
        /* Your error handling code goes here */
    }




    gtk_builder_connect_signals (pBuilder, NULL);
    printf("aa");


    g_object_unref (G_OBJECT (pBuilder));
    gtk_widget_show(pMainWindow);




    /* Enter the main loop */
    gtk_main ();
    return 0;
}




/*自 gtk 的版本升到 2.12,它就包含了 GtkBuilde
GladeXML    *xml = NULL;
GtkWidget    *pMainWindow = NULL;
xml = glade_xml_new ("d:/halo.glade",  "app",  NULL);
pMainWindow = glade_xml_get_widget (xml, "window1");    //擷取控制項指標後,便可用gtk代碼操作該
*/
/* Create a vertical box with buttons


unknown type name


button = gtk_button_new_from_stock (GTK_STOCK_DIALOG_INFO);
g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (helloWorld), (gpointer) win);


*/




/**/
/*
 GtkWidget   *window = NULL;
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
  gtk_window_set_title(GTK_WINDOW(window), "icon");
  gtk_window_set_default_size(GTK_WINDOW(window), 230, 150);
  gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
 // gtk_window_set_icon(GTK_WINDOW(window), create_pixbuf("web.png"));
  gtk_widget_show(window);
 // gtk_widget_show_all (pMainWindow);
 */












5.CodeBlocks設定編譯器以及調試器
////////////////////////////////////////
settting>complier settting>toolchain executables(tab)>>D:\Qt\Qt5.1.1\Tools\mingw48_32
program files(tab) >>c compiler:gcc.exe  以及liker: g++.exe
settting>complier settting>debugger>>D:\Qt\Qt5.1.1\Tools\mingw48_32\bin\gdb.exe




6.運行OK
///////////////////////






CodeBlocks加入include    以及*.h標頭檔
//////////////////////////////////////////////
settting>complier settting>>searching drirection(tabs)  >>add a dir..


D:\cworkspace\AtiGtk\main.c|10|error: unknown type name 'GladeXML'|




參考
gtk 圖形介面開發步驟(gtk代碼和glade xml 圖形設計分離) - clydezhou的專欄 - 部落格頻道 - CSDN.NET.htm
第一個GTK+程式 - Neo E. Cai - 部落格園.htm
GtkBuilder的類似軟體 - GTK介面開發工具 - 開源中國社區.htm
c - Gtk-Critical  gtk_widget_show assertion GTK_IS_WIDGET(WIDGET) - Stack Overflow
GTK+ and Glade3 GUI Programming Tutorial - Part 1.htm

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.