paip.c语言gtk开发环境CodeBlocks /QT建立最佳实践

来源:互联网 发布:二叉树的先序遍历算法 编辑:程序博客网 时间:2024/05/22 16:52
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
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 苹果6进水无服务怎么办 华为手机突然无服务怎么办 sim卡显示无服务怎么办 华为麦芒进水无限开关机怎么办 华为麦芒5进水黑屏怎么办 华为麦芒6进水了怎么办 4g手机开不开机怎么办 全屏钢化膜总是翘边怎么办 华为麦芒屏幕触屏失灵怎么办 华为麦芒5运行慢怎么办 手机屏保密码忘记了怎么办 麦芒5密码锁忘了怎么办 超薄手机壳松了怎么办 华为麦芒5声音小怎么办 笔记本外壳a面裂了怎么办 苹果手机外壳摔坏了怎么办 挂衣服肩膀出包怎么办 摩拜单车手机号注销了怎么办 摩拜单车手机号码换了怎么办 摩拜单车换手机号码打不开怎么办 摩拜单车丢了怎么办 摩拜单车忘锁了怎么办 透明手机壳粘指纹怎么办 tpu手机壳变黄了怎么办 0pp0手机声音小怎么办 橡胶皮套晒坏了怎么办 宝宝晚上吹空调发烧怎么办 玩手机手指尖疼怎么办 手机型号不支持微信运动怎么办 手腕向下压会疼怎么办 手腕韧带拉伤怎么办恢复快 华为手机用车载充电慢怎么办 华为麦芒6充电慢怎么办 oppo手机压弯了怎么办 麦芒5电池不耐用怎么办 华为7x照相模糊怎么办 华为麦芒6照相虚怎么办 荣耀8gps信号弱怎么办 华为麦芒4手机卡顿怎么办 华为麦芒4玩游戏卡怎么办 sim卡换卡通讯录丢了怎么办