亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2406 | 回復(fù): 0
打印 上一主題 下一主題

gtk notebook和textview切換問題 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2012-03-15 19:31 |只看該作者 |倒序瀏覽
#include <gtk/gtk.h>
GtkWidget *txtview;
GtkWidget *win;


void refresh_textview( GtkWidget *win )
{
        GtkTextBuffer *buffer;
        GtkTextIter iter;
        GtkTextMark *mark;
        buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (txtview));
        mark = gtk_text_buffer_get_insert (buffer); //
        gtk_text_buffer_get_iter_at_mark (buffer, &iter, mark);
        gtk_text_view_scroll_mark_onscreen(GTK_TEXT_VIEW (txtview),mark);
        gtk_text_buffer_insert (buffer, &iter, "Buffer", -1);
//        gtk_text_view_set_buffer(GTK_TEXT_VIEW(txtview),buffer);
        gtk_widget_draw(GTK_WIDGET(txtview),NULL);       
}

void clicked_cb(GtkWidget *button, GtkNotebook *nb)
{
        GtkWidget *lbl;//, *txtview;
        gchar str[256];
        static gint n = 0;
        GtkWidget *vbox;

        sprintf(str, "Page %d", ++n);
       
        lbl = gtk_label_new(str);
        gtk_widget_show(lbl);
        txtview = gtk_text_view_new();
        refresh_textview(txtview); // 向textview中加入內(nèi)容
        vbox = gtk_vbox_new(TRUE,0);       
        gtk_container_add(GTK_CONTAINER(vbox),txtview);       
        gtk_widget_show(vbox);
        gtk_notebook_append_page(nb, vbox, lbl);  //加入頁面

        gtk_widget_show(txtview);
        gtk_widget_show(GTK_WIDGET(nb));
        gtk_widget_queue_draw(GTK_WIDGET(nb));

}

void get_pagenum(GtkWidget *widget,GtkWidget *notebook)
{
       
    GtkWidget *dialog,*window;
    gint n;
    n=gtk_notebook_get_n_pages(GTK_NOTEBOOK(notebook));
       
    window=gtk_widget_get_toplevel(widget);
    dialog=gtk_message_dialog_new(GTK_WINDOW(window),GTK_DIALOG_MODAL||GTK_DIALOG_NO_SEPARATOR,GTK_MESSAGE_INFO,GTK_BUTTONS_OK,"PageNum:%d",n);
    gtk_dialog_run(GTK_DIALOG(dialog));
    gtk_widget_destroy(dialog);
    g_print("%d\n",n);
}

gboolean refreshwin(gpointer notebook)
{
        int num;
        int pagenum;
        pagenum=gtk_notebook_get_n_pages(GTK_NOTEBOOK(notebook));
        num = gtk_notebook_current_page(GTK_NOTEBOOK(notebook));
        g_print("Current Num:%d AllPagenum = %d\n",num,pagenum);
        g_print("Refreshwin\n");
        gtk_widget_draw(notebook,NULL);
        gtk_widget_show(notebook);
        gtk_widget_show(win);
        return TRUE;
}

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

        GtkWidget *vbox;
        GtkWidget *nb;
        GtkWidget *button;
       
        gtk_init(&argc, &argv);
       
        win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
        gtk_window_set_default_size(GTK_WINDOW(win),400,300);
        g_signal_connect(G_OBJECT(win), "delete-event", G_CALLBACK(gtk_main_quit), NULL);
       
        vbox = gtk_vbox_new(FALSE, 0);
        gtk_container_add(GTK_CONTAINER(win), vbox);
        gtk_widget_show(vbox);
       
        nb = gtk_notebook_new();

        g_signal_connect(G_OBJECT(nb),"switch_page",G_CALLBACK(refreshwin),nb);

        gtk_box_pack_start(GTK_BOX(vbox), nb, TRUE, TRUE, 0);
        gtk_widget_show(nb);
       
        button = gtk_button_new_with_label("Add Page");
        g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(clicked_cb), (gpointer)nb);
        gtk_box_pack_start(GTK_BOX(vbox), button, FALSE, FALSE, 0);
        gtk_widget_show(button);
       
        gtk_widget_show(win);
       
        gtk_main();
       
        return 0;
}



為什么從notebook切換后,textview顯示不了
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP