日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

glade 使用指南(2)

系統 2067 0
上次我們已經知道了glade的基本使用方法了,現在我們用他來做點有用的事

先讓我們在上次建的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等位置參數,
如果你改過名字的話,下面的程序中調用的參數會有點變化。
自我感覺良好后,保存。大致如圖:

glade 使用指南(2)

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

glade 使用指南(2)

count+1 button

glade 使用指南(2)

quit? button

glade 使用指南(2)

讓我們添加幾個函數到原來的程序中去
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 }

有人一定奇怪最后沒有函數調用就實現了那上面的兩個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解決了這個問題。

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

good luck

glade 使用指南(2)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 迁西县| 中牟县| 仙游县| 永定县| 南开区| 镇江市| 体育| 顺平县| 济南市| 电白县| 宣威市| 永城市| 浏阳市| 贵港市| 广汉市| 宝丰县| 霍林郭勒市| 调兵山市| 海盐县| 乌审旗| 蒲城县| 邵阳县| 梁河县| 平顶山市| 昭苏县| 宜昌市| 申扎县| 高碑店市| 周口市| 华坪县| 禄丰县| 安国市| 丰城市| 平武县| 来宾市| 岳池县| 丽江市| 德格县| 金川县| 奉化市| 康平县|