• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Onway

            我是一只菜菜菜菜鳥(niǎo)...
            posts - 61, comments - 56, trackbacks - 0, articles - 34

            gtk+筆記(1)

            Posted on 2011-11-22 11:47 Onway 閱讀(1459) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 使用說(shuō)明
            歷時(shí)五六個(gè)小時(shí),又是百度谷歌,幫助手冊(cè),入門(mén)教程什么一通查找,說(shuō)是模塊其實(shí)也就一個(gè)文件不到兩百行代碼。
            比想象中要順利,也學(xué)到了不少。

            1,帶有滾動(dòng)條的多行文本框
            只要gtk_scrolled_window_new生成一個(gè)滾動(dòng)窗口,在其上加上textview控件即可gtk_container_add,特點(diǎn)是當(dāng)textview足夠顯示的時(shí)候,滾動(dòng)條不可見(jiàn),否則自動(dòng)產(chǎn)生(垂直和橫向),而且也隨著輸入一起下滾顯示。這個(gè)暫不知道怎么設(shè)置。
            GtkWidget *scroll = gtk_scrolled_window_new(NULL,NULL);
            GtkWidget *textview = gtk_text_view_new();
            gtk_container_add(GTK_CONTAINER(scroll),textview);

            textview總是要與一個(gè)textbuffer關(guān)聯(lián):
            GtkTextBuffer *buffer = gtk_text_buffer_new(NULL);
            buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(textview));


            2,控件焦點(diǎn)設(shè)置
            gtk_widget_grab_focus,當(dāng)entry控件使用時(shí),會(huì)選中控件內(nèi)輸入。

            3,局部快捷鍵設(shè)置
            GtkAccelGroup *group = gtk_accel_group_new();快捷鍵組?
            gtk_window_add_accel_group(GTK_WINDOW(window),group);添加快捷鍵組到窗體
            gtk_widget_add_accelerator(butQuery,"clicked",group,GDK_KEY_Return,(GdkModifierType)0,GTK_ACCEL_VISIBLE);快捷鍵注冊(cè),其實(shí)就是當(dāng)快捷鍵按下的時(shí)候,為控件觸發(fā)一個(gè)信號(hào)
            (GdkModifierType)0為不使用修飾鍵

            4,從glade文件添加控件,該控件是已經(jīng)生成了的,只需用個(gè)指針接受對(duì)象
            GtkBuilder *builder;
            builder = gtk_builder_new();
            gtk_builder_add_from_file(builder,"youdao.glade",NULL);
            window = GTK_WIDGET(gtk_builder_get_object(builder,"window"));
            。。。
            g_object_unref(G_OBJECT(builder));撤銷關(guān)聯(lián)?

            5,選項(xiàng)卡控件(稱為notebook控件)
            特點(diǎn):notebook控件作為一個(gè)容器,每一個(gè)標(biāo)簽頁(yè)用一個(gè)widget作為其標(biāo)簽名,一個(gè)widget作為其標(biāo)簽內(nèi)容
            添加一個(gè)標(biāo)簽頁(yè):gtk_notebook_append_page
            注意:不能刪掉一個(gè)notebook控件的所有標(biāo)簽頁(yè)(顯示的時(shí)候沒(méi)效果)
            標(biāo)簽頁(yè)的序號(hào)(使用gtk_notebook_get_nth_page獲得):
            動(dòng)態(tài)增減標(biāo)簽頁(yè)的時(shí)候,標(biāo)簽頁(yè)的序號(hào)似乎工作不正常。
            最后使用的辦法是,使用gtk_noteboo_prepend_page向前添加,再使用-1參數(shù)gtk_notebook_remove_page從后逐個(gè)刪掉以替換掉之前的標(biāo)簽頁(yè)。
            應(yīng)該有更好的方法吧?
            刪掉一個(gè)標(biāo)簽頁(yè)的時(shí)候,使用gtk_widget_queue_draw(GTK_WIDGET(noteBook));重畫(huà)控件,不太明白。

            6,消息對(duì)話框(message dialog)
            int ret;
            GtkWidget *dialog;
            dialog = gtk_message_dialog_new(GTK_WINDOW(window),
            GTK_DIALOG_DESTROY_WITH_PARENT,
            GTK_MESSAGE_WARNING,
            GTK_BUTTONS_OK,
            "%s",msg);
            gtk_window_set_title(GTK_WINDOW(dialog),"Warning");
            ret = gtk_dialog_run(GTK_DIALOG(dialog));
            gtk_widget_destroy(dialog);
            特點(diǎn):在gtk_dialog_run函數(shù)里堵塞,直到用戶關(guān)掉了對(duì)話框才返回,其返回值暫沒(méi)研究。


            明天就可以開(kāi)始感覺(jué)最具難度的html解析模塊的設(shè)計(jì)編寫(xiě)了。
            鍵盤(pán)昨晚吃了點(diǎn)八寶粥,有幾個(gè)鍵特別蛋疼的按了一天。
            2011-11-15

            7,關(guān)于.glade文件(2011-11-18)
            今天才發(fā)現(xiàn)原因.glade文件是程序運(yùn)行的時(shí)候才載入的。那是一個(gè)XML文件。
            使用這個(gè)界面設(shè)計(jì)器還要裝上一個(gè)libglade2-0的庫(kù)。

            久久天堂AV综合合色蜜桃网 | 久久久久亚洲精品男人的天堂| 亚洲中文字幕无码久久综合网| 中文字幕人妻色偷偷久久| 久久久久久亚洲精品影院| 久久亚洲精品国产精品| 精品久久久久中文字| 天堂久久天堂AV色综合| 久久综合视频网站| 天天综合久久久网| 亚洲va中文字幕无码久久| 狠狠色伊人久久精品综合网| 国产精品一久久香蕉国产线看观看| 久久精品无码一区二区app| 久久精品国产亚洲AV大全| 久久国产精品无| 国内精品久久久久久中文字幕| 日韩精品久久久肉伦网站| 久久精品青青草原伊人| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 久久亚洲国产精品五月天婷| 99久久精品国产麻豆| 午夜欧美精品久久久久久久| 久久毛片一区二区| 中文成人无码精品久久久不卡| 91久久精品国产免费直播| 久久中文娱乐网| 99久久婷婷国产一区二区| 久久天天躁狠狠躁夜夜avapp| 久久精品国产亚洲AV麻豆网站 | 人妻无码精品久久亚瑟影视 | 亚洲国产另类久久久精品小说| 中文字幕久久精品| 亚洲人成网站999久久久综合 | 久久综合亚洲欧美成人| 久久天天躁狠狠躁夜夜96流白浆 | 精品久久8x国产免费观看| 久久精品国产男包| 久久99精品久久久久婷婷| 97精品久久天干天天天按摩| 国产精品久久国产精麻豆99网站|