How to set placeholder text in GtkEntry
我尝试了以下示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | #include <stdio.h> #include <stdlib.h> #include <gtk/gtk.h> GdkPixbuf *create_pixbuf(const gchar * filename) { GdkPixbuf *pixbuf; GError *error = NULL; pixbuf = gdk_pixbuf_new_from_file(filename, &error); if(!pixbuf) { fprintf(stderr,"%s\ ", error->message); g_error_free(error); } return pixbuf; } void implement() { printf("HI"); } int main( int argc, char *argv[]) { GtkWidget *window; GtkWidget *frame; GtkWidget *label; GtkWidget *text; gtk_init(&argc, &argv); window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(window),"New Message"); gtk_window_set_default_size(GTK_WINDOW(window), 310, 390); gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER); gtk_window_set_icon(GTK_WINDOW(window), create_pixbuf("web.png")); frame = gtk_fixed_new(); gtk_container_add(GTK_CONTAINER(window), frame); text = gtk_entry_new(); gtk_entry_set_max_length (GTK_ENTRY (text), 0); gtk_entry_set_width_chars (GTK_ENTRY (text), 37); gtk_entry_set_placeholder_text(GTK_ENTRY (text),"Send a message"); gtk_fixed_put(GTK_FIXED(frame), text, 2, 360); gtk_widget_show_all(window); g_signal_connect(window,"destroy", G_CALLBACK (gtk_main_quit), NULL); gtk_main(); return 0; } |
但出现错误:
请确保您的GTK版本是3.2或更高版本,因为那是添加该特定功能的时间。