{linux}开源GUI之GTK

GTK+(GIMP Toolkit)是一套源码以LGPL许可协议分发、跨平台的图形工具包。最初是为GIMP写的,已成为一个功能强大、设计灵活的一个通用图形库,是GNU/Linux下开发图形界面的应用程序的主流开发工具之一。并且,GTK+也有Windows版本和Mac OS X版。 ---百度百科

ubuntu 采用GTK担当GNOME桌面的基础 (GIMP Toolkit)

java在linux下中使用图形界面也是有GTK的身影的;

另外的wireshark抓包工具也是采用GTK做为界面开发工具,它可以支持多操作系统,也就是跨平台,你可以下载其源码编译学习;

在此推荐一个开发IDE-> codeblocks,貌似这个开发工具也是开源的,但我一直没有下载其源码( 还有arm-linux-gcc也是开源,可以下载修改它)

附:看一看Lua (脚本语言)的源码吧!

--------------  例程一  -------------------------------------

#include <stdlib.h>
#include <gtk/gtk.h>
static void helloWorld (GtkWidget *wid, GtkWidget *win)
{
GtkWidget *dialog = NULL;
dialog = gtk_message_dialog_new (GTK_WINDOW (win), GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_CLOSE, "Hello World!");
gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_CENTER);
gtk_dialog_run (GTK_DIALOG (dialog));
gtk_widget_destroy (dialog);
}
int main (int argc, char *argv[])
{
GtkWidget *button = NULL;
GtkWidget *win = NULL;
GtkWidget *vbox = NULL;
/* Initialize GTK+ */
g_log_set_handler ("Gtk", G_LOG_LEVEL_WARNING, (GLogFunc) gtk_false, NULL);
gtk_init (&argc, &argv);
g_log_set_handler ("Gtk", G_LOG_LEVEL_WARNING, g_log_default_handler, NULL);
  /* Create the main window */
win = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_container_set_border_width (GTK_CONTAINER (win), 8);
gtk_window_set_title (GTK_WINDOW (win), "Hello World");
gtk_window_set_position (GTK_WINDOW (win), GTK_WIN_POS_CENTER);
gtk_widget_realize (win);
g_signal_connect (win, "destroy", gtk_main_quit, NULL);
  /* Create a vertical box with buttons */
vbox = gtk_vbox_new (TRUE, 6);
gtk_container_add (GTK_CONTAINER (win), vbox);
button = gtk_button_new_from_stock (GTK_STOCK_DIALOG_INFO);
g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (helloWorld), (gpointer) win);
gtk_box_pack_start (GTK_BOX (vbox), button, TRUE, TRUE, 0);
button = gtk_button_new_from_stock (GTK_STOCK_CLOSE);
g_signal_connect (button, "clicked", gtk_main_quit, NULL);
gtk_box_pack_start (GTK_BOX (vbox), button, TRUE, TRUE, 0);
/* Enter the main loop */
gtk_widget_show_all (win);
gtk_main ();
return 0;
}

----------------------------------------------------------------------------------------------------




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GTK是一种用于开发Linux GUI界面的开源工具包。它提供了许多用于创建图形用户界面的库和函数,可以用于构建各种类型的应用程序。 GTK最初是为GNU计划的一部分而创建的,它的目标是提供一个灵活、易于使用和跨平台的GUI开发工具。GTK被广泛应用于Linux发行版中,被许多知名应用程序使用,如GIMP、Inkscape等。 使用GTK来开发Linux GUI应用程序有许多优点。首先,GTK是一个跨平台的工具包,可以在Linux、Windows和Mac等操作系统上运行。这使得开发人员只需编写一次代码,就可以在不同的平台上部署应用程序。 其次,GTK提供了丰富的小部件库,可以用于创建各种用户界面元素,如按钮、文本框、列表框等。开发人员可以使用这些小部件来设计出各种各样的用户界面,从简单的工具栏到复杂的应用程序界面都可以实现。 第三,GTK的开发工具和文档非常丰富。GTK提供了许多开发辅助工具,如Glade界面设计器和GTKBuilder库,它们可以帮助开发人员更快、更有效地创建用户界面。此外,GTK还有详细的文档和教程,可以帮助开发人员学习和使用GTK。 最后,GTK是一个开源项目,拥有庞大的社区支持。这意味着开发人员可以轻松获取到各种资源和帮助,包括开发工具、示例代码和其他开发人员的经验分享。 总之,使用GTK来开发Linux GUI应用程序是一种简单、快速和可靠的选择。它提供了丰富的功能和工具,可以帮助开发人员轻松地创建出各种各样的用户界面,并且可以在不同的操作系统上运行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值