gpt4 book ai didi

c - GtkEntry 选择区域似乎什么也没做

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

这是我第一次使用GTK库,我写了这段代码:

GtkWidget *dialog, *vbox;
/* create dialog */
dialog = gtk_dialog_new_with_buttons("Go to File...", GTK_WINDOW(parent),
GTK_DIALOG_DESTROY_WITH_PARENT, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, NULL);

gtk_widget_set_name(dialog, "GotoFile");
vbox = ui_dialog_vbox_new(GTK_DIALOG(dialog));

GtkWidget *label = gtk_label_new("Enter the file you want to open:");

gtk_container_add(GTK_CONTAINER(vbox), label);

/* create entry */
GtkWidget *entry = gtk_entry_new();
gtk_container_add(GTK_CONTAINER(vbox), entry);
gtk_entry_set_text(GTK_ENTRY(entry), "this_is_a_test");
gtk_entry_set_max_length(GTK_ENTRY(entry), MAX_FILENAME_LENGTH);
gtk_entry_set_width_chars(GTK_ENTRY(entry), 30);
gtk_editable_select_region(GTK_EDITABLE(entry), 2, 5);

我希望它创建一个带有标签和文本框的对话框(并且这是有效的)并在条目中选择字符“is_”,但它不起作用(所有文本都被选中)。

我也尝试过:

gint a,b;
gtk_editable_get_selection_bounds(GTK_EDITABLE(entry), &a, &b);

printf("SELECTION: %i - %i\n",a,b);

它正确打印了 2 和 5。

出了什么问题?

最佳答案

解决了!

gtk_widget_grab_focus(entry)

必须在尝试选择文本之前条目上调用,否则它将替换选择内容。

关于c - GtkEntry 选择区域似乎什么也没做,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22576413/

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