- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我想更新对 g_callback 中的指针变量所做的修改,但我不知道该怎么做,你能帮帮我吗? (我是 GTK+ 和 C 语言的新手...)
void modify_string(char *str)
{
char *new_str = "Something new";
str = new_str;
}
int main(int argv, char **argc)
{
char *str = NULL;
gtk_init(&argc, &argv);
GtkWidget *screen = gtk_window_new(GTK_WINDOW_TOPLEVEL);
init_main_window(screen);
GtkWidget *button = gtk_button_new_with_label("Open");
/* ... */
g_signal_connect(G_OBJECT(screen), "destroy", G_CALLBACK(gtk_main_quit), NULL);
g_signal_connect_swapped(G_OBJECT(button), "clicked", G_CALLBACK(modify_string), str);
printf("%s\n", str);
gtk_main();
return EXIT_SUCCESS;
}
问题是它打印“(null)”而不是“Something new”,请问您有什么想法更新我的字符串吗?
编辑:我不明白,谢谢!
最佳答案
您没有为 new_str 分配任何空间。并且您正在将一个局部变量分配给 str,该变量在例程完成并且范围丢失时丢失。尝试编写解决这两个问题的例程。
关于c - 在 g_callback GTK+ C 之后更新主循环中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33213903/
嘿伙计们,我想从函数(或指针)返回文件名的值,但我不知道该怎么做。我的文件名存储文件名/home/用户名/文件的路径。这是我的主要内容 gchar *filename = NULL; button =
我想更新对 g_callback 中的指针变量所做的修改,但我不知道该怎么做,你能帮帮我吗? (我是 GTK+ 和 C 语言的新手...) void modify_string(char *str)
刚开始接触GTK+编程,一个星期以来我主要遇到了一个大问题,这里代码解释一下: for(j=1;ji); } 我通常应该得到我用 a.i=i 初始化的 i;因为我没有得到 i 和 j 的 requie
我正在使用 GTK、CodeBlocks 和 Glade 为我在学校项目中需要的东西设置一个登录窗口。它只是一个简单的表单、用户名、密码和一个连接按钮。问题是我无法获得输入的值,因为我无法使用回调将构
我试图将结构体指针作为参数传递给回调函数,但出现此错误 (gtk:11156): GLib-GObject-WARNING **: 22:34:21.308: 从“GtkEntry”到“GtkAppl
我是一名优秀的程序员,十分优秀!