为什么gtk_entry_get_text取不到值
这是我的代码,很简单
- #include<gtk/gtk.h>
- #include<string.h>
- #include<stdio.h>
- gchar a[10];
- void print(GtkWidget *widget,gpointer data)
- {
- printf("%sn",a);
- }
- int main(int argc,char *argv[])
- {
- GtkWidget *window;
- GtkWidget *table;
- GtkWidget *entry;
- GtkWidget *button;
- gtk_init(&argc, &argv);
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
- g_signal_connect (G_OBJECT (window), "destroy",
- G_CALLBACK (gtk_main_quit),
- NULL);
- table=gtk_table_new(2,2,TRUE);
- entry=gtk_entry_new();
- strcpy(a,gtk_entry_get_text(GTK_ENTRY(entry)));
- button=gtk_button_new_with_label("确认");
- g_signal_connect (G_OBJECT (button), "clicked",
- G_CALLBACK (print), NULL);
- gtk_table_attach(GTK_TABLE(table),entry,0,1,0,1,
- (GtkAttachOptions) (GTK_EXPAND),
- (GtkAttachOptions) (0),0,0);
- gtk_table_attach(GTK_TABLE(table),button,1,2,0,1,
- (GtkAttachOptions) (GTK_EXPAND),
- (GtkAttachOptions) (0),0,0);
- gtk_container_add(GTK_CONTAINER(window),table);
- gtk_widget_show_all(window);
- gtk_main();
- return 0;
- }
复制代码
就是按确认时,在终端显示出框内输入的内容,但就是没有显示出输入的内容,为什么呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
感谢,已解决
在你strcpy (s, )的时候,entry刚建立起来,还没有任何的内容啊。
流程有问题,把gtk_entry_get_text改到回调函数里面