成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

解析GTK Widget學(xué)習(xí)文檔及案例實(shí)現(xiàn)

移動開發(fā)
GTK Widget學(xué)習(xí)文檔及案例實(shí)現(xiàn)是本文要介紹的內(nèi)容,主要是來了解并學(xué)習(xí)GTK Widget的應(yīng)用及案例的實(shí)現(xiàn),具體內(nèi)容的實(shí)現(xiàn)來看本文詳解。

GTK Widget學(xué)習(xí)文檔及案例實(shí)現(xiàn)是本文要介紹的內(nèi)容,主要是來了解并學(xué)習(xí)GTK Widget的應(yīng)用及案例的實(shí)現(xiàn),具體內(nèi)容的實(shí)現(xiàn)來看本文詳解。

一、gtk_widget_realize函數(shù)的作用

gtk_widget_realize這個函數(shù)是用來創(chuàng)建該widget對應(yīng)的GdkWindow和相關(guān)資源的。一般我們用不到這個函數(shù),一般是在創(chuàng)建自定義的widget的時候,需要用到。

我們一般不需要使用這個函數(shù)的原因是:當(dāng)我們調(diào)用gtk_widget_show_all函數(shù)的時候,就會自動調(diào)用這個函數(shù)。但是 Foundations of GTK+ Developing一書中提到,對于GtkEventBox,_show_all函數(shù)并不會調(diào)用realize,所以我們需要手動調(diào)用一次這個函數(shù)。

而 且,調(diào)用這個函數(shù)之前,需要首先調(diào)用gtk_container_add這樣類似的函數(shù),這是因?yàn)镚TK要確定eventbox要知道他的parent和 ancestor是誰。

這次寫RTSP Player demo程序的時候,eventbox不是add到Top level的GtkWindow的,而是add到了一個GtkVBox中,用的是gtk_box_pack_start函數(shù),我發(fā)現(xiàn)在調(diào)用了 gtk_box_pack_start之后,調(diào)用gtk_widget_realize在運(yùn)行時會發(fā)生一個斷言錯誤。

去掉這句代碼就好了,而且看起來也沒 有什么問題。這樣看來,是不是使用了gtk_box_pack_start函數(shù)的話,就不需要用gtk_widget_realize了呢?

二、GTK編程中如何準(zhǔn)確獲知當(dāng)前widget的size

1、用gtk_widget_get_request_size/gtk_widget_size_request取出來的都是當(dāng)初request的size,不是widget當(dāng)前的size

2、使用gdk_drawable_get_size函數(shù)可以取出當(dāng)前widget的size。注意,gdk_window_get_size函數(shù)有一樣的效果,不過這個函數(shù)已經(jīng)deprecated了。

還有一點(diǎn),這個widget必須有window,像label, progressbar這些widget,他們是沒有GdkWindow的(在Foundations of GTK+書中有描述,所以,像這樣的widget如果要捕捉事件的話,要在他們下面套一個EventBox),雖然有window這個成員變量 (window這個成員變量定義在GtkWidget中,所以他們都有),但是他們的window這個成員變量,其實(shí)是他們的parent的window 變量(參看GtkWidget class手冊中該成員變量的描述)。

OK,給出一段example代碼,這段代碼是一個eventbox,上面放了一個progressbar,取的是eventbox的size,其實(shí)也就是progressbar的size:

  1. // Get the size of eventbox   
  2. gint width, height;   
  3. gdk_drawable_get_size(GDK_DRAWABLE(eventbox->window), &width, &height); 

小結(jié):解析解析GTK Widget學(xué)習(xí)文檔及案例實(shí)現(xiàn)的內(nèi)容介紹完了,希望通過GTK Widget應(yīng)用內(nèi)容的學(xué)習(xí)能對你有所幫助!

責(zé)任編輯:zhaolei 來源: 博客園
相關(guān)推薦

2011-09-08 11:18:53

Widget

2011-09-09 19:39:57

GTK Widget

2011-09-01 10:27:42

jQuery Mobi

2011-09-09 20:02:19

GTK Widget

2011-09-09 16:38:51

Android Wid源碼

2011-09-09 19:23:52

Widget

2011-08-15 17:06:01

Objective-CNSLog

2011-08-31 10:37:06

MTK開發(fā)入門

2011-09-08 15:40:45

Android Wid組件

2011-08-17 15:23:37

iPhone開發(fā)Objective-CCocoa Touch

2011-08-18 10:17:21

Xcode4Xcode

2011-09-07 14:25:53

Android Wid設(shè)計(jì)

2011-08-04 16:46:03

Objective-C 聲明

2011-08-12 10:27:52

Objective-C對象

2011-09-08 16:07:13

Widget配置文件

2011-09-07 14:20:42

Android Wid組件

2011-08-22 15:31:35

Objective-C協(xié)議

2011-09-08 17:44:47

GTK Widget

2011-09-09 10:19:13

2011-09-09 17:59:26

QT Widget
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 91精品国产乱码麻豆白嫩 | 国产精品成人在线播放 | 91久久国产综合久久 | 国产一区二区三区在线免费 | 在线精品一区二区三区 | 欧美成人激情 | 精品国产伦一区二区三区观看方式 | 精品久久久久久久久久久下田 | 亚洲va欧美va天堂v国产综合 | 亚洲欧洲成人 | 国产精品视频一区二区三区不卡 | 亚洲天天干 | 日本国产精品视频 | 最新午夜综合福利视频 | 色婷婷亚洲国产女人的天堂 | 国产黄色大片在线免费观看 | 无毛av| 日本 欧美 三级 高清 视频 | 九九热在线精品视频 | 国产黄色在线 | 国产激情视频在线 | 在线成人精品视频 | 免费黄色片在线观看 | 99久久精品免费看国产免费软件 | 成人免费视频网站在线看 | 欧美日韩在线一区二区三区 | 蜜桃免费一区二区三区 | www.久| 欧美日韩在线一区二区三区 | 视频二区国产 | 国产精品国产三级国产aⅴ无密码 | 中文字幕a√ | 99综合| 最新av片| 亚洲欧美综合 | 国产一区二区三区色淫影院 | 大乳boobs巨大吃奶挤奶 | 欧美 视频| 欧美h视频 | 国产午夜精品理论片a大结局 | 男人天堂网站 |