gpt4 book ai didi

c - 在 GTK 回调中发送数据

转载 作者:太空宇宙 更新时间:2023-11-04 01:15:15 25 4
gpt4 key购买 nike

如何通过 GTK 回调发送数据?我用 Google 搜索过,根据我找到的信息创建了这个:

#include <gtk/gtk.h>
#include <stdio.h>
void button_clicked( GtkWidget *widget, GdkEvent *event, gchar *data);

int main( int argc, char *argv[]){
GtkWidget *window;

GtkWidget *button;

gtk_init (&argc, &argv);


window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
button = gtk_button_new_with_label("Go!");


gtk_container_add(GTK_CONTAINER(window), button);

g_signal_connect_swapped(G_OBJECT(window), "destroy", G_CALLBACK(gtk_main_quit), NULL);
g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(button_clicked),"test" );

gtk_widget_show(window);
gtk_widget_show(button);

gtk_main();
return 0;
}

void button_clicked( GtkWidget *widget, GdkEvent *event, gchar *data){
printf("%s \n", (gchar *) data);
return;
}

但是当我按下按钮时它只是段错误。执行此操作的正确方法是什么?

最佳答案

它会出现段错误,因为“clicked”没有 GdkEvent 参数。如果您删除 button_clicked() 中的第二个参数,它应该可以工作。

安装 Devhelp 应用程序,您可以从中轻松浏览 GTK+ 和 GNOME 文档,包括信号定义。

关于c - 在 GTK 回调中发送数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2908189/

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