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

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

  1. GTK+开发环境搭建(Centos+Netbeans)

    参考个人blog:点击打开链接 经尝试把centos 的gtk+开发环境搭建完成,可以开始gtk开发了,现在下一下我搭建的过程. 我这里使用的IDE是netbeans 6.9 1.在centos上安装 ...

  2. C语言实验源程序保存,实验一 C语言集成开发环境

    C语言实验 实验一 C语言集成开发环境 实验时间:2010年9月26日 [实验目的] 1.了解Visual C++6.0的开发环境: 2.掌握C语言源程序的建立.编辑.修改.保存.编译.连接和运行的方 ...

  3. 【Python基础学习一】在OSX系统下搭建Python语言集成开发环境 附激活码

    Python是一门简单易学,功能强大的编程语言.它具有高效的高级数据结构和简单而有效的面向对象编程方法.Python优雅的语法和动态类型以及其解释性的性质,使它在许多领域和大多数平台成为编写脚本和快速 ...

  4. APP定制开发:APP软件开发的语言和开发环境

    APP软件开发是移动互联网开发公司常开发的一种手机应用系统,对于刚刚进入APP软件开发领域的新手来说,选择什么编程语言和需要什么开发环境来开发APP软件是常遇到的问题.下面亿合科技小编来为大家分享下: ...

  5. 游戏程序设计 # ch13 开发工具 # 开发语言、开发环境、腾讯开发组件、网络通信和业务框架介绍

    第十三章 开发工具 1 开发语言 2 开发环境 3 腾讯开发组件介绍 4 网络通信+业务框架介绍 第一节 开发语言 腾讯服务器主要使用的语言是C/C++ 第二节 开发环境 (指:客户端) 第三节 腾讯 ...

  6. komodo edit 支持java么_Komodo Edit for Mac(多语言集成开发环境)

    原标题:Komodo Edit for Mac(多语言集成开发环境) Komodo Edit for mac是一个跨平台支持多种程序语言的Integrated Development Environm ...

  7. C语言与开发环境介绍

    C语言与开发环境介绍 1 第一个C语言程序 1.1 新建项目 std: 标准库. i: input o: output 所以翻译过来为标准输入输出库,里面有一些函数,使用这些函数就需要包含这些函数的头 ...

  8. android日志管理最佳策略,深入Android应用开发:核心技术解析与最佳实践

    资源名称:深入Android应用开发:核心技术解析与最佳实践 内容简介: 如何才能真正进阶为Android应用开发高手?必须深入理解Android核心技术的底层原理和在开发中总结并使用各种最佳实践,别 ...

  9. Qt Creator Qt快速最佳实践

    Qt Creator Qt快速最佳实践 Qt快速最佳实践 命名约定 规划用户界面 经济地使用组件 Qt快速最佳实践 以下准则描述了使用Qt Creator创建可在预期平台上完美运行的UI和场景的最有效 ...

  10. 梦想成真…教学–专业的Java开发人员:工具和最佳实践

    我总是喜欢分享知识. 我写博客的原因之一是分享我在软件工程师方面的知识. 创立并运行(与几个朋友一起)第一个 早在2003年, 希腊的Java用户组就是由于我们在工作中得不到足够的培训或个人开发机会, ...

最新文章

  1. 今天写的一个GetProcAddress
  2. Linux安装vsftpd组件
  3. Nginx笔记-处女篇
  4. XML到Avro的转换
  5. 大佬 Python 对阵新秀 Julia ,谁能问鼎机器学习和数据科学?
  6. cfile清空文件内容_体育老师学编程(第11天)python常用的文件读写操作
  7. 网页显示mysql数据库到表格数据_在网页中如何将数据库的数据显示出来
  8. 520超浪漫文艺表白,追求女神必备!!动态Html网页,无编程基础也可娱乐
  9. 谷歌浏览器批量图片下载插件-合成pdf
  10. 雨课堂《工程伦理》期末答案
  11. 聊聊支付通道那些事儿——介绍和接入
  12. java 省市县数据_使用Jsoup抓取全国地区数据(省市县镇村)
  13. android 出生日期设置,android-选择出生日期对话框
  14. 2017 Real-valued (Medical) Time Series Generation with Recurrent Conditional GANs
  15. 大数据可视化——dataV,Echarts,蚂蚁金服L7世界地图引入,数字翻牌器,全屏,自定义排名轮播表
  16. 如何反编译pyc文件查看源代码
  17. Mali-T860 GPU开源驱动
  18. linux su命令_Linux Su命令示例教程
  19. (转)LiveUpdate 错误LU1814的解决方法之我见
  20. Autocad批量打印快捷键如何批量打印

热门文章

  1. 有关Kubernetes监控的4大常见陷阱,注意避免!
  2. 2018年的人工智能将如何发展?看看专家怎么说
  3. vscode推荐插件的安装
  4. Oracle+Mybatis模糊查询
  5. java线程--object.waitobject.notify
  6. MySQL Left Join,Right Join
  7. spring-第六篇之创建bean的3种方式
  8. mysql字段里面有16字节特殊字符替换
  9. Python学习之路_day_11(装饰器)
  10. JAVA基础知识总结2(语法基础)