gpt4 book ai didi

c - 如何为工具栏中的 GtkToolItem 创建监听器?

转载 作者:行者123 更新时间:2023-11-30 15:53:03 24 4
gpt4 key购买 nike

我创建了用 C 编码的 GTK 应用程序。

我添加了工具栏:

enter image description here

这里是相关代码片段:

GtkWidget *toolbar;
GtkToolItem *new;
GtkToolItem *open;
GtkToolItem *save;
GtkToolItem *sep;
GtkToolItem *exit;





...
toolbar = gtk_toolbar_new();
gtk_toolbar_set_style(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_ICONS);

gtk_container_set_border_width(GTK_CONTAINER(toolbar), 2);

new = gtk_tool_button_new_from_stock(GTK_STOCK_NEW);
gtk_toolbar_insert(GTK_TOOLBAR(toolbar), new, -1);

open = gtk_tool_button_new_from_stock(GTK_STOCK_OPEN);
gtk_toolbar_insert(GTK_TOOLBAR(toolbar), open, -1);

save = gtk_tool_button_new_from_stock(GTK_STOCK_SAVE);
gtk_toolbar_insert(GTK_TOOLBAR(toolbar), save, -1);

sep = gtk_separator_tool_item_new();
gtk_toolbar_insert(GTK_TOOLBAR(toolbar), sep, -1);

exit = gtk_tool_button_new_from_stock(GTK_STOCK_QUIT);
gtk_toolbar_insert(GTK_TOOLBAR(toolbar), exit, -1);


....



gtk_widget_show_all (window);

问题是,当我按下退出/打开时如何将监听器(回调)添加到工具栏...

对于单个按钮,我有类似的内容:

g_signal_connect (G_OBJECT (_button), "clicked", G_CALLBACK (on_button_clicked), NULL);

void on_button_clicked(){...}

我知道通过gtk_ui_manager实现的方法,但是太复杂了。

请帮忙

最佳答案

它在主窗口上吗?

g_signal_connect(G_OBJECT(exit), "clicked", G_CALLBACK(gtk_main_quit), NULL);
g_signal_connect_swapped(G_OBJECT(window), "destroy", G_CALLBACK(gtk_main_quit), NULL);

更多信息:http://zetcode.com/tutorials/gtktutorial/menusandtoolbars/

关于c - 如何为工具栏中的 GtkToolItem 创建监听器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13901017/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com