G0398 发表于 2014-11-12 21:10:43

C语言GUI程序设计-GTK图文系列-工具栏

这一讲来讲解GTK中的工具栏GtkToolBar

先来看下效果:



例程:
#include <gtk/gtk.h>

void open_click(GtkToolButton *toolbutton,gpointer user_data)
{
    g_print("open\n");
}
int main(int argc,char *argv[ ])
{
    GtkWidget *window;
    GtkWidget *toolbar;
    GtkToolItem *tool_item1,*tool_item2,*tool_item_separtor;

    gtk_init(&argc,&argv);
    window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_window_set_title(GTK_WINDOW(window),"hello fishc - GtkToolBar");

    toolbar = gtk_toolbar_new();
    tool_item1 = gtk_tool_button_new_from_stock(GTK_STOCK_OPEN);
    tool_item2 = gtk_tool_button_new_from_stock(GTK_STOCK_COPY);
    g_signal_connect(GTK_WIDGET(tool_item1),"clicked",open_click,NULL);
    tool_item_separtor = gtk_separator_tool_item_new();

    gtk_toolbar_insert(toolbar,tool_item1,0);
    gtk_toolbar_insert(toolbar,tool_item_separtor,1);
    gtk_toolbar_insert(toolbar,tool_item2,2);

    gtk_container_add(GTK_CONTAINER(window), toolbar);
    gtk_widget_show_all(window);
    gtk_main();
}

工具栏的使用比较简单,主要是新建一个GtkToolBar,然后新建几个GtkToolItem添加进去即可。
GtkToolBar类似于上一节的GtkMenuBar,都是用来承载子项的栏。

主要用到的函数:
gtk_tool_button_new_with_stock
这个函数是用来新建一个GtkToolItem的,这里的item类型为button,参数为stockid,stockid为GTK中定义的一系列字符串常量,其功能是用来标识一些预定义的常用图标。
例如GTK_STOCK_ADD就是这个图标:,这样初始化工具栏按钮就显示了预置的图标了。

接下来我们可以添加另一个常用的GtkToolItem,它就是分隔符(GtkSeparatorToolItem),如上图中的那条竖线。

最后注册GtkToolItem的clicked信号获取点击通知,就可以处理工具栏按钮的点击操作了。

这个简单的部件就说到这里,下一讲讲解GTK中的显示部件。



大黑鱼 发表于 2014-11-12 21:32:21

支持楼主!!
页: [1]
查看完整版本: C语言GUI程序设计-GTK图文系列-工具栏