gpt4 book ai didi

c - GTK 文本输入以编程方式更新

转载 作者:行者123 更新时间:2023-11-30 17:14:00 25 4
gpt4 key购买 nike

我想更新按键事件的文本条目。

我的场景没有键盘,所以我以编程方式生成它 并尝试从按键事件处理程序更新文本输入。

每次按键时,我都需要更新 GTK 窗口中的文本条目。我怎样才能实现这个目标?我试过了

gtk_entry_set_text (GTK_ENTRY (entry1), buffer);

但它给出了段错误。

我将从其他一些用户线程获取数据,我需要用新数据更新文本条目,并显示带有更新文本条目的 gtk 窗口。

以下是我的完整代码:

GtkEntry *entry1;

static gboolean kp_event_S1_1(GtkWidget *widget, GdkEventExpose *event, gpointer data)
{
printf(" - kp_event_S1_1 - \n");
gtk_entry_set_text (GTK_ENTRY (entry1), buffer);
}


void S1_1(void )
{
GtkWidget *Win_1;
GtkBuilder *builder;
builder = gtk_builder_new ();
gtk_builder_add_from_file (builder, "/home/glade/glade1.glade", NULL);
window = GTK_WIDGET (gtk_builder_get_object (builder, "Win_1"));
g_signal_connect_swapped(G_OBJECT(window), "destroy", G_CALLBACK(gtk_main_quit),NULL );
g_signal_connect(G_OBJECT (window), "key_press_event", G_CALLBACK (kp_event_S1_1), NULL);
gtk_widget_show_all(window);
gtk_main();
}

最佳答案

您从未从 GtkBuilder 中分配过 entry1 变量,因此在发出信号时 entry1 仍然为 NULL,并且程序崩溃。您为 window 执行了此操作;对 entry1 执行此操作类似。

关于c - GTK 文本输入以编程方式更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30523543/

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