我有一个与GtkEntry的对话窗口。我想在对话框窗口对用户可见后立即选择条目中的所有文本。我试过了,但它不起作用,我看不到选择:
static void OnEntryShow(GtkWidget *entry, gpointer user_data)
{
gtk_editable_select_region(GTK_EDITABLE(entry), 0, -1);
}
...
gtk_entry_set_text(GTK_ENTRY(myEntry), "text");
g_signal_connect(myEntry, "show", G_CALLBACK(OnEntryShow), NULL);
if (gtk_dialog_run(GTK_DIALOG(myDialog)) == GTK_RESPONSE_OK)
...在GtkDialog变为可见后,如何在GtkEntry中选择文本?
发布于 2012-05-01 06:37:10
也许你想让GtkEntry成为焦点?
试试这个:
gtk_widget_grab_focus (entry);在本例中,entry是指向GtkEntry小部件的指针。
该函数的文档可以在here中找到。
发布于 2016-03-26 04:16:21
您应该使用函数文档中的here。
text_entry.select_region(0,2)将选择前两个字符,而(0, -1)将选择整个文本。
发布于 2020-12-20 12:38:07
下面是我使用get_iter_at_offset和select_range函数对gtkmm使用的一个解决方案。
Gtk::TextIter match_start = m_textBuffer->get_iter_at_offset(0);
Gtk::TextIter match_end = m_textBuffer->get_iter_at_offset(-1); // -1 to select all
m_textBuffer->select_range(match_start,match_end);https://stackoverflow.com/questions/10337513
复制相似问题