GTK+ 3.0.9发布 具有OO特色的C语言开发框架

GTK+采用具有OO特色的C语言">开发框架,这使它在开发GUI应用程序能和操作系统紧密结合,同时具有很大简洁性,其中的很多代码只要简单的复制和更改即可完成,只用一个C源代码文件就可以创建一个LINUX下的GUI程序。

GNOME Desktop

用GTK++写的HelloWorld

下面的代码是笔者用GTK+编写的一个HelloWorld例程,编译后运行显示一个带按钮的窗口,点击按钮会弹出提示信息对话框。

//hello.c  #include <gtk/gtk.h> //主窗口中按钮的回调函数  void    on_button_clicked(GtkWidget* button, gpointer 
userdata)  {      GtkWidget *dialog;  //创建带确认按钮的对话框,父控件为空      dialog = gtk_message_dialog_new(NULL,               GTK_DIALOG_MODAL |GTK_DIALOG_DESTROY_WITH_PARENT,              GTK_MESSAGE_INFO,              GTK_BUTTONS_OK,              (gchar*)userdata);      gtk_dialog_run(GTK_DIALOG(dialog));//显示并运行对话框      gtk_widget_destroy(dialog);//销毁对话框  }  //主函数  int main(int argc, char* argv[])  {      GtkWidget *window, *button;      //初始化GTK+程序      gtk_init(&argc, &argv);      //创建窗口,并为窗口的关闭信号加回调函数以便退出      window = gtk_window_new(GTK_WINDOW_TOPLEVEL);      g_signal_connect(G_OBJECT(window),"delete_event",              G_CALLBACK(gtk_main_quit),NULL);      gtk_window_set_title(GTK_WINDOW(window),"Hello World!");      gtk_container_set_border_w
idth(GTK_CONTAINER(window),10);      //创建按钮控件,为单击信号加回调函数,将其放入窗口中      button=gtk_button_new_with_label("Hello World!");      g_signal_connect(G_OBJECT(button),"clicked",              G_CALLBACK(on_button_clicked),(gpointer)"你好!\n自由的世界。");      gtk_container_add(GTK_CONTAINER(window),button);      //下面函数显示窗口控件同时显示其中的所有其它控件      gtk_widget_show_all(window);      gtk_main();      return FALSE;  } 

可以直接用命令"gcc `pkg-config -cflags -libs gtk+2.0` hello.c -o hello"来编译上面的代码,但最好做一个Makefile文件内容如下:

CC = gcc all:      $(CC) `pkg-config --cflags --libs gtk+-2.0` hello.c -o hello 

这样的话可以用make命令来编译,使得简单了许多,也不容易出错了。再次强调的是关于引号的问题,很多初学者常犯这个错误,[`]是[~]下面的那个单引号,而非['];这涉及到了LINUX SHELL编程中的命令引用,LINUX下的标准的BASH是支持命令引用的,而其它的SHELL就不一定了。

时间: 2024-10-25 02:44:06

GTK+ 3.0.9发布 具有OO特色的C语言开发框架的相关文章

GTK+ 3.1.10发布 OO特色的C语言开发框架

GTK+ 3.1.10该版本文件接收选择器进行了重新设计及一些改进.Gail并入GTK++,而不再是一个模块.一个测试套件a11y功能被增加.几个小的错误修复.翻译更新. GTK+采用具有OO特色的C语言http://www.aliyun.com/zixun/aggregation/13435.html">开发框架,这使它在开发GUI应用程序能和操作系统紧密结合,同时具有很大简洁性,其中的很多代码只要简单的复制和更改即可完成,只用一个C源代码文件就可以创建一个LINUX下的GUI程序. 下

GTK+3.0终发布:诸多新特性亮相

导读:文章来自imtx.me,作者以生动.有趣.新颖的口吻给大家介绍了GTK+3.0的新特性:以下是全文: 关注已久的GTK+3.0终于发布了,真是等着让我脖子都掉下来了.没想到这么快两年了.如今它终于发布,不记录点文字还真是过不去,我就稍微详细地介绍下GTK+3.0吧. GTK+3.0的发布公告在此:http://mail.gnome.org/archives/gtk-devel-list/2011-February/msg00020.html 针对其一些重大更新,我稍微做点扩展介绍. 完全C

GTK+ 3.1.90发布 创建图形用户界面的库

GTK是Gimp ToolKit的缩写,是一个多平台的工具包,用于创建http://www.aliyun.com/zixun/aggregation/18378.html">图形用户界面的库.它的设计小型而高效,具有足够的灵活性允许程序员自由创建界面.GTK+通过标准组件库提供一些独特的功能.它采用具有OO特色的C语言开发框架,这使它在开发GUI应用程序能和操作系统紧密结合,同时具有很大简洁性,其中的很多代码只要简单的复制和更改即可完成,只用一个C源代码文件就可以创建一个LINUX下的GU

GTK+ 3.5.4发布 图形用户界面创建工具

GTK 是Gimp ToolKit的缩写,是一个多平台的工具包,用于创建http://www.aliyun.com/zixun/aggregation/18378.html">图形用户界面的工具.它的设计小型而高效,具有足够的灵活性允许程序员自由创建界面.GTK+通过标准组件库提供一些独特的功能.它采用具有OO特色的C语言开发框架,这使它在开发GUI应用程序能和操作系统紧密结合,同时具有很大简洁性,其中的很多代码只要简单的复制和更改即可完成,只用一个C源代码文件就可以创建一个LINUX下的

GTK+ 3.3.18发布 图形用户界面创建工具

GTK 是Gimp ToolKit的缩写,是一个多平台的工具包,用于创建http://www.aliyun.com/zixun/aggregation/18378.html">图形用户界面的工具.它的设计小型而高效,具有足够的灵活性允许程序员自由创建界面.GTK+通过标准组件库提供一些独特的功能.它采用具有OO特色的C语言开发框架,这使它在开发GUI应用程序能和操作系统紧密结合,同时具有很大简洁性,其中的很多代码只要简单的复制和更改即可完成,只用一个C源代码文件就可以创建一个LINUX下的

GTK+ 3.3.4发布 图形用户界面创建工具

GTK是Gimp ToolKit的缩写,是一个多平台的工具包,用于创建http://www.aliyun.com/zixun/aggregation/18378.html">图形用户界面的工具.它的设计小型而高效,具有足够的灵活性允许程序员自由创建界面.GTK+通过标准组件库提供一些独特的功能.它采用具有OO特色的C语言开发框架,这使它在开发GUI应用程序能和操作系统紧密结合,同时具有很大简洁性,其中的很多代码只要简单的复制和更改即可完成,只用一个C源代码文件就可以创建一个LINUX下的G

GTK+ 2.24.7发布 图形用户界面创建工具

GTK是Gimp ToolKit的缩写,是一个多平台的工具包,用于创建http://www.aliyun.com/zixun/aggregation/18378.html">图形用户界面的工具.它的设计小型而高效,具有足够的灵活性允许程序员自由创建界面.GTK+通过标准组件库提供一些独特的功能.它采用具有OO特色的C语言开发框架,这使它在开发GUI应用程序能和操作系统紧密结合,同时具有很大简洁性,其中的很多代码只要简单的复制和更改即可完成,只用一个C源代码文件就可以创建一个LINUX下的G

GTK+ 3.1.92发布 创建图形用户界面的库

GTK+ 3.1.92该版本Cells现在可以在GtkIconView中使用prelighted.总体的字体列表GtkFontChooser明显加快.其他小的错误是修正及翻译的更新. GTK是Gimp ToolKit的缩写,是一个多平台的工具包,用于创建http://www.aliyun.com/zixun/aggregation/18378.html">图形用户界面的库.它的设计小型而高效,具有足够的灵活性允许程序员自由创建界面.GTK+通过标准组件库提供一些独特的功能.它采用具有OO特

GTK+ 3.3.2发布 图形用户界面创建工具

GTK是Gimp ToolKit的缩写,是一个多平台的工具包,用于创建http://www.aliyun.com/zixun/aggregation/18378.html">图形用户界面的工具.它的设计小型而高效,具有足够的灵活性允许程序员自由创建界面.GTK+通过标准组件库提供一些独特的功能.它采用具有OO特色的C语言开发框架,这使它在开发GUI应用程序能和操作系统紧密结合,同时具有很大简洁性,其中的很多代码只要简单的复制和更改即可完成,只用一个C源代码文件就可以创建一个LINUX下的G