2016-03-03 35 views
0

這裏是我的問題:我只是把一個gtk_text_view_new()放在gtk_scrolled_window_new()中。現在,當我在textField中寫入時,在gtk_widget_set_size_request-> high的末尾,文本被隱藏,並且整個文本不會按照我想要的向上滾動。 - >文本框應該自動向上滾動並顯示其最後一行。c GTK3文本應該向上滾動而不是隱藏

#include <gtk/gtk.h> 


int main(int argc, char **argv) { 

    gtk_init(&argc, &argv); 

    GtkWidget *window; 
    GtkWidget *myGrid; 
    GtkWidget *scollwindow; 
    GtkWidget *textField; 
    GtkTextBuffer *buffer; 
    GtkWidget *quitbutton; 

//---------------------widgets------------------------------- 
    window = gtk_window_new(GTK_WINDOW_TOPLEVEL); 
    quitbutton = gtk_button_new_with_label("QUIT"); 
    myGrid = gtk_grid_new(); 

//---------------------textField------------------------------- 
    textField = gtk_text_view_new(); 
    buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (textField)); 
    gtk_text_buffer_set_text (buffer, "Hello, this is some text, ", -1); 

//---------------------insert textField in scrollwindow------------------------------- 

    scollwindow = gtk_scrolled_window_new (NULL,NULL); 
    gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (scollwindow), textField); 
    gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scollwindow), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); 

//---------------------widgets size------------------------------- 
    gtk_widget_set_size_request (scollwindow, 200, 200); 
    gtk_widget_set_size_request (window, 200, 200); 

//---------------------grid attache------------------------------- 
    gtk_grid_attach(GTK_GRID(myGrid), scollwindow, 0, 0, 1, 1); 
    gtk_grid_attach(GTK_GRID(myGrid), quitbutton, 0, 1, 1, 1); 

//---------------------add to grid------------------------------- 
    gtk_container_add(GTK_CONTAINER(window), myGrid); 

//---------------------signals------------------------------- 
    g_signal_connect(quitbutton, "clicked", G_CALLBACK(gtk_main_quit), NULL); 
    g_signal_connect(window, "destroy", gtk_main_quit, NULL); 

    gtk_widget_show_all(window); 

    gtk_main(); 
    return 0; 
} 

回答

0

明白了,只是變線 「gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scollwindow),文本框);」到「gtk_container_add(GTK_CONTAINER(scollwindow),textField);」

相關問題