黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

glade 使用指南(2)

系統(tǒng) 2378 0
上次我們已經(jīng)知道了glade的基本使用方法了,現(xiàn)在我們用他來做點有用的事

先讓我們在上次建的window1中加點東西,
首先是一個vertical box,如圖:

glade 使用指南(2)
然后是一個label,如圖:
glade 使用指南(2)
之后再建個horizontal box,如圖:
glade 使用指南(2)
而后來兩個button,如圖:
glade 使用指南(2)

更改button和label的label、Border width、Padding、width、height、X pad,Y pad等位置參數(shù),
如果你改過名字的話,下面的程序中調(diào)用的參數(shù)會有點變化。
自我感覺良好后,保存。大致如圖:

glade 使用指南(2)

接下來的比較的關(guān)鍵部分了,我們造好了外表,現(xiàn)在要處理內(nèi)在了。
添加幾個signal后保存,如下圖:
window1

glade 使用指南(2)

count+1 button

glade 使用指南(2)

quit? button

glade 使用指南(2)

讓我們添加幾個函數(shù)到原來的程序中去
glade.c

? 1 #include <glade/glade.h>
? 2 #include <gtk/gtk.h>
? 3
? 4 static int count;
? 5
? 6 /*when we click the button ,we make count add one ,
? 7? *and show the answer on the label
? 8? */
? 9 void on_button1_clicked(gpointer userdata)
?10 {
?11???? gchar buf[16];
?12???? snprintf(buf,16,"%d",++count);
?13
?14???? printf("%s/n",buf);
?15???? gtk_label_set_label(GTK_LABEL(userdata),buf);
?16 }
?17
?18 /*when click the button quit,we wuit*/
?19 void on_button2_clicked(GtkButton *button, gpointer userdate)
?20 {
?21???? gtk_main_quit();
?22 }
?23
?24 int main(int argc, char **argv)
?25 {
?26
?27???? GladeXML *window;
?28
?29???? gtk_init(&argc, &argv);
?30
?31???? window=glade_xml_new("project6.glade",NULL,NULL);
?32
?33???? glade_xml_signal_autoconnect(window);
?34
?35???? gtk_main();
?36
?37???? return 0;
?38 }

有人一定奇怪最后沒有函數(shù)調(diào)用就實現(xiàn)了那上面的兩個signal都能用
libglade的文檔上是這么說的
The some_signal_handler_func function is not referenced anywhere in the program explicitely, but if any signals are defined in the interface description that use "some_signal_handler_func" as the handler name, then this function will automatically be connected.
可見是glade_xml_signal_autoconnect解決了這個問題。

下面讓我們重復(fù)之前的步驟編譯下
gcc -o window glade.c `pkg-config --libs --cflags libglade-2.0` -export-dynamic
如果更正出現(xiàn)的問題,接著./window
點擊擊上面的button測試下,沒問題?很好。
有問題,那么核對你的signal設(shè)置,必要時適當(dāng)調(diào)整下button1的signal函數(shù)

good luck

glade 使用指南(2)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論