青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆 - 16, 文章 - 0, 評論 - 55, 引用 - 0
數據加載中……

FLTK簡介

  FLTK,如同其名字所表達的:The Fast Light Tool Kit,一個輕量級的GUI開發庫。但這輕量級并不代表功能的羸弱,相反,FLTK在具有基本的GUI功能之外,還擁有一些特殊的功能,比如跨平臺、內置 OpenGL功能、速度更快、尺寸更小、協議寬松等。當然,缺點也是有的,比如對于復雜的界面構件支持不夠,資源支持的不足等。但一個工具如果使用的好, 取其長而去其短,自然可以飛花摘葉皆可傷人;P

   我選擇FLTK 的過程還是比較曲折的,當初做ARM下的GUI開發,選擇的GUI庫是MiniGUI,一個國內開發的界面庫。當時還支持類unix平臺,對 Windows的支持尚在開發中。由于需要尋找一些問題的解答,所以經常在其論壇上搜索,從而知道了還有microwindow、nano、 qtembedded等嵌入型GUI開發庫,但當時沒有太過注意。后來又開始轉向WINCE平臺的開發,這一擱就是2年。再后來終于要做跨平臺的開發,對 具有跨平臺的GUI開發庫開始注意起來。

  一開始的選擇是wxWidgets,但是研究了一段時間后發現不好解決的問題越來越多,終于 放棄。最頭疼的就是C++類的事件傳遞,wxWidgets內部使用的是一個類似MFC的方法,所有傳遞事件的類全部要從一個根類繼承,這樣就導致創建的 類和wxWidgets綁定過甚,復用性大大降低,同時由于wxWidgets的目標不僅僅是GUI,造成其包含功能過多,其內部結構非常復雜,雖然是 OpenSource,但要若要修改其代碼還是很困難的。綜上所述,wxWidgets并不符合我的要求,從而被排除在外。

  之后研究的QT,老牌的跨平臺GUI開發庫,工具很多,開發也很人性化,qtdesign很像Delphi的界面開發方式,代碼帶有強烈的linux風格,但是看看附帶的庫文件又實在讓人有些泄氣,尺寸大,發布麻煩。所以在試用了一段時間后還是放棄了。

   在此期間,其實也看到過一些對FLTK的介紹,但大多數對其評價不高,也就沒有注意。直到有一次偶然心血來潮,上http: //www.fltk.org看了一下,發現FLTK 似乎正對我的胃口,這才開始對其進行了深入的研究。經過一段時間的實際開發,個人覺得,對于跨平臺和代碼簡潔而言,FLTK是再適合不過了。

   FLTK的底層只提供一套完整的畫點、畫線功能,另外附帶了字體的顯示功能,但FLTK對字體的支持還很粗糙,尤其對于非英文字符集而言,后面我會詳細 說明。在基本的點、線功能基礎上,FLTK完全自己實現了一套界面,比如Button、Label、Edit、Tab等,全部都是由基本的點線畫出??吹? 這,可能你會覺得這實在是屬于自己造輪子,吃力不討好。誠然,如果你只針對一種平臺開發,這樣的做法不能帶來多少好處,還造成學習時間的拉長。但若要針對 多個平臺開發,這樣做的好處就很明顯了。首先是移植容易,只要針對目標平臺實現基本的點線功能就可以實現代碼的移植,這可能是所有跨平臺GUI庫中最方便 最直接的方案,目前FTLK支持MacOS、Windows、Linux(x-window)等平臺,針對WinCE(主要是unicode的問題)和 plam 的開發正在進行中。其次是保持了界面的一致性,雖然QT、GTK等開發庫也具有這種功能,但是他們都需要一套基本庫的支持,無法做到系統尺寸的優化,而對 于FLTK而言,這卻恰恰是他的優點和長項。最后是代碼層次清楚、結構簡單,由于大部分的工作就是基于底層的點線功能進行自繪,所有很多代碼都是簡潔明 了,很少費話。

  底層之上是一套以Fl_開頭的類,代表了各種GUI構件,比如Fl_Window、Fl_Button、 Fl_Input等,使用起來很是容易。同時由于上面所說的,所有的界面構件都是畫出來的,因此在熟悉了這種方式后,生成自己的構件也是很容易的,反正是 畫界面嘛,既然別人能做到,你也能做到,實在不行可以查閱源代碼進行學習。這些界面類的共同特點是輕量型、都擁有一個draw(),只要在draw()里 實現自己的繪畫動作即可。

  說到界面就不能不說其事件實現方式,對于FLTK而言,使用的是最直接的方法:while(1){}。這也 是很多人批評FLTK原始的一個原因。但仔細想想,其實這是最直接的辦法,不管是哪種平臺,最終的事件方案不外乎是死循環和中斷,中斷的確具有很多好處, 但只要while(1)能完成這部分的功能,那又有什么關系呢。每個界面類都有一個handle(int event),只要繼承這個成員函數,就可以在其中處理自己的事務。是不是很簡單?同時由于這樣的事件方式,造成FLTK的刷新速度很快,事件反應迅速, 也算是個附帶優點了?,F在大多數的開發庫都是采用OO方式的事件處理方式,但FLTK卻采用了最原始的函數指針方式,也算是一個異類,這可能和FLTK的 unix背景有關,無論如何,這種方式還是需要一定的適應時間的,而且這種方式的優缺點也是屬于各花入各眼了,不過我本人還是很喜歡這種方式的,誰叫我比 較原始呢#-_-

  FLTK產生于NeXT環境,發展于X-window環境,所以對圖形加速的支持必然是選擇OpenGL。FLTK 使用Fl_Gl_Window這個類將OpenGL的基本功能囊括其中,只要在Fl_Gl_Window的draw()里glbegin/glend即 可,基本的設置工作FLTK全都做好了,對于我現在的系統要求簡直是最適合不過了。

  FLTK基于LGPL,對使用者的要求非常寬松: Contrary to popular belief, it can be used in commercial software - even Bill Gates could use it! 所以開發者不需要擔心其項目的隱形問題。但是如果對FLTK進行了卓有成效的修正最好還是能回饋給開發組,所謂我為人人,人人為我嘛。

   說了一堆的好話,現在開始談談FLTK的缺點。首先一條就是對非英文字體特別是中文的支持比較差,甚至是非常差。在Windows平臺下還好一點,因為 在 Windows平臺下使用的是TextOut函數輸出字符串,但是在X-Window環境下就完蛋了,無法正確顯示中文,也不能調用輸入法進行輸入。從這 點來說,FLTK還是只適合一些封閉軟件的開發,對于通用軟件而言FLTK并非是一個好的選擇。但只能在Windows平臺下開發中文軟件也不是個辦法, 要解決中文的顯示問題也不難,目前FTLK的穩定版是1.1.7,開發版是2.0,有人針對1.xx版本修改了一個unicode版本,可以很平滑的支持 漢字的顯示,但很遺憾,我沒有編譯成功過,如果誰編譯成功了可以給我來個信。2.0已經對非英文的支持進行了專門的開發,但目前還沒有release,在 不久的將來應該可以完整的解決這個問題。目前,要么等待,要么就像我這樣,用點陣字庫瞞天過海。具體方法因為還不夠成熟,就不公布了。

  無論如何,FLTK的目標還是針對嵌入式和封閉軟件的開發,所以復雜的界面并非其長項,如果想做出花哨復雜的界面,還是用其他GUI庫比較好,FLTK并不適合。

  綜上所述,FLTK的優點和缺點都是非常的突出,如何取舍還是自己決定吧。



2006-04-16 22:02

posted on 2006-04-16 22:11 cyantree 閱讀(20615) 評論(20)  編輯 收藏 引用

評論

# re: FLTK簡介  回復  更多評論   

我也好中意FLTK的事件綁定
簡單明了,比一堆宏好多了
2006-04-20 22:56 | shephard

# re: FLTK簡介  回復  更多評論   

我現在正在用FLNX做一些開發,不知能否與你交流一下.
MSN:wytianyi@hotmail.com
2006-04-24 12:26 | wytianyi

# re: FLTK簡介  回復  更多評論   

我正在做fltk的開發,不知道是否可以交流一下
qizhijuncc@126.com
2006-04-24 18:48 | wunai

# re: FLTK簡介  回復  更多評論   

我現在用的是1.17的fltk,中文顯示基本正常。整體使用感覺相當不錯!
gastonfeng@126.com
2006-06-22 21:37 | 凱控科技

# re: FLTK簡介  回復  更多評論   

cyantree 能不能建立一個fltk的群呢,大家可以在一起討論呀
2006-07-02 14:46 | minifang

# re: FLTK簡介  回復  更多評論   

cyantree:你好!
看了你的很多文章,深受啟發
我現在遇到一個問題,想請教你
就是如何提高jffs2 的掛載速度
不知道你有沒有遇到過這個問題
我的qq是:34960149
msn:kuanrong0305@sina.com
2006-07-04 10:16 | minifang

# re: FLTK簡介  回復  更多評論   

只是中文支持還是比較重要的吧!
如果中文支持的不好至少通用還是個問題。
我們有個項目就是國際化都搞了好長時間!暈
2006-09-30 17:18 | sword.ch

# re: FLTK簡介  回復  更多評論   

這個callback作為windows事件綁定沒有什么新鮮的啊. 98年左右C++教材就有深入介紹. 不信查cohoon的文章或書
2006-12-25 12:56 | nothing new

# re: FLTK簡介  回復  更多評論   

希望能跟學習fltk的朋友交流。QQ33571922
2007-04-06 09:38 | fltk

# re: FLTK簡介  回復  更多評論   

兩年前我就是使用FLTK+nxlib+nano-X來實在手機界面. 我覺得沒有錢的前提下這是最好的套件!!!
2007-05-10 15:59 | wlsloi

# re: FLTK簡介  回復  更多評論   

@wlsloi
我現在也要用FLTK+nxlib+nano-X 來實現PDA界面,我剛開始做,wlsloi
, 能否把你的經驗共享,我的MSN:weifang210@hotmail.com
2007-07-02 16:08 | weifnag

# re: FLTK簡介  回復  更多評論   

我也是做fltk開發,有時間可以交流交流~ QQ:34026954
2007-08-10 16:52 | qlg

# re: FLTK簡介  回復  更多評論   

@wlsloi
您好,可以交流一下嗎?
skype:embedcenter
2007-11-12 08:48 | unitepower

# re: FLTK簡介  回復  更多評論   

可以請教一下嗎
skype:anngames
2008-03-26 11:13 | ANN

# re: FLTK簡介[未登錄]  回復  更多評論   

一直從事嵌入式的開發,對gui比較感興趣:

li_qing_song@hotmail.com

希望交流一下這方面的心得。
2008-06-02 22:09 | 李青松

# re: FLTK簡介  回復  更多評論   

既然fltk的底層都是畫點
那把漢字理解為圖片不就行了 自己做個函數來畫漢字就是了
點陣字庫如hzk16還是蠻有用的
但輸入就沒轍了 不過可以參考有人用js做的在線拼音輸入法
2008-08-14 16:47 | 山越野人

# re: FLTK簡介[未登錄]  回復  更多評論   

2.x對中文支持很好的。
源碼使用UTF-8,GCC編譯器,中文顯示正常,輸入也正常。
2009-05-26 20:24 | Loaden

# re: FLTK簡介  回復  更多評論   

不錯的文章!

分享我制作的免費FLTK電子書:
<a href="http://www.heronote.com/files/FLTK.htm">http://www.heronote.com/files/FLTK.htm</a>
2011-07-11 17:18 | heronote

# re: FLTK簡介  回復  更多評論   

您好,請教一下,就是我現在用fltk做界面開發遇到個很麻煩的問題,就是有幾個界面從一個界面到另一個界面頁面刷新有問題,控件顯示不出來,要用手在觸摸屏上不停的點點點才會慢慢出來,有的還出不來。
2012-07-16 11:36 | linna

# re: FLTK簡介  回復  更多評論   

我們建一個群吧,聊聊fltk.
加我qq 896757335
我們有個項目想找人做。fltk的

2016-08-02 10:15 |
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美日韩国产一区二区| 国产欧美一区二区三区另类精品| 欧美成人精品| 久久美女性网| 久久久精品一品道一区| 久久人人97超碰国产公开结果| 午夜在线视频一区二区区别| 亚洲欧美日韩精品久久久久| 欧美诱惑福利视频| 久久久久久久久伊人| 老**午夜毛片一区二区三区| 免费看亚洲片| 亚洲日本精品国产第一区| 久久午夜激情| 欧美高清自拍一区| 亚洲精品欧洲精品| 亚洲视频日本| 久久人人97超碰国产公开结果| 久久一区二区三区av| 欧美日韩国产成人精品| 国产日韩欧美在线观看| 尤物精品在线| 亚洲香蕉网站| 免费观看亚洲视频大全| 亚洲另类自拍| 久久久999| 欧美午夜精品久久久久久人妖| 国产亚洲人成网站在线观看| 亚洲精品一区二区三区在线观看| 午夜电影亚洲| 亚洲国产精品福利| 亚洲一区三区电影在线观看| 美女主播精品视频一二三四| 国产精品日韩欧美一区| 久久疯狂做爰流白浆xx| 欧美精品日韩综合在线| 国产亚洲成精品久久| 99视频精品全国免费| 麻豆国产va免费精品高清在线| 亚洲乱码视频| 免费久久99精品国产| 国产日韩欧美在线视频观看| 亚洲欧美日韩中文播放| 久久精品99国产精品| 亚洲国产欧美一区二区三区丁香婷| 亚洲一区二区三区免费视频| 欧美精品www在线观看| 亚洲第一福利在线观看| 欧美综合国产精品久久丁香| 99视频精品在线| 欧美精品1区2区3区| 亚洲国产精品精华液网站| 久久精品动漫| 欧美一区二区精品| 国产精品日韩一区| 亚洲伊人一本大道中文字幕| 亚洲理论在线| 欧美日韩国产一区精品一区| 日韩午夜激情av| 亚洲国产精品精华液2区45| 久久精品亚洲一区| 一区二区视频欧美| 麻豆91精品91久久久的内涵| 久久超碰97人人做人人爱| 国产亚洲一区精品| 欧美一级淫片aaaaaaa视频| 亚洲天堂av综合网| 欧美色道久久88综合亚洲精品| 亚洲精品黄网在线观看| 亚洲国产精品久久91精品| 欧美激情综合色| 中文精品99久久国产香蕉| 一本色道**综合亚洲精品蜜桃冫 | 国产欧美精品在线| 欧美在线视频一区二区| 久久www成人_看片免费不卡| 狠狠干综合网| 亚洲第一精品电影| 欧美成人精精品一区二区频| 99精品免费视频| 一区二区日韩伦理片| 国产精品露脸自拍| 久久综合伊人77777| 久久综合99re88久久爱| 亚洲精品国产日韩| 一二三四社区欧美黄| 国产视频一区三区| 欧美福利视频在线| 欧美视频在线观看免费| 久久激情视频| 麻豆91精品| 亚洲欧美自拍偷拍| 免费日韩成人| 亚洲欧美日韩成人| 久久综合给合| 欧美亚洲视频| 欧美成va人片在线观看| 欧美一区二区免费观在线| 久久夜色精品| 亚洲欧美中文日韩在线| 美女国内精品自产拍在线播放| 国产精品久久久久aaaa樱花| 国产精品国产三级国产| 久久久久欧美| 欧美日韩精品中文字幕| 久久精品一区二区三区四区| 欧美精品日韩一本| 久久久中精品2020中文| 欧美日韩精品免费观看| 六月婷婷一区| 国产伦精品一区二区三| 亚洲人体偷拍| 伊人男人综合视频网| 亚洲视频www| 日韩视频免费看| 久久久久久91香蕉国产| 91久久精品国产91久久| 香蕉久久夜色| 欧美一区二区三区视频在线观看| 欧美激情自拍| 亚洲国产精彩中文乱码av在线播放| 国产亚洲精品v| 亚洲欧美精品一区| 亚洲无线一线二线三线区别av| 久久综合色一综合色88| 久久精品国产亚洲高清剧情介绍| 欧美区视频在线观看| 欧美激情免费在线| 伊人久久亚洲热| 久久久久久久高潮| 久久久久久91香蕉国产| 国产亚洲a∨片在线观看| 亚洲一区二区三区四区五区午夜 | 亚洲欧美日韩精品久久亚洲区| 能在线观看的日韩av| 美女诱惑一区| 在线成人黄色| 久久在线免费观看| 欧美黑人国产人伦爽爽爽| 在线观看成人av| 玖玖综合伊人| 亚洲高清资源| 日韩亚洲精品电影| 欧美日韩国产另类不卡| 一区二区三区 在线观看视频| 亚洲一区二区在线看| 国产精品网站视频| 欧美在线首页| 亚洲电影在线看| 99精品视频网| 欧美视频专区一二在线观看| 亚洲色图自拍| 久久久久国产精品www| 激情婷婷欧美| 免费日韩av电影| 99精品欧美一区二区三区| 亚洲女人天堂成人av在线| 国产日韩一区| 久久亚洲一区| 一本到12不卡视频在线dvd| 午夜精品影院| 在线欧美日韩| 国产精品v欧美精品v日本精品动漫 | 日韩视频第一页| 亚洲天堂av综合网| 国产欧美日韩视频一区二区| 久久久久久穴| 欧美日韩国产成人高清视频| 亚洲久久成人| 久久精品国产一区二区三区免费看 | 亚洲日本一区二区| 亚洲午夜在线观看视频在线| 国产欧美日韩在线视频| 久久天天躁狠狠躁夜夜av| 亚洲国产婷婷香蕉久久久久久| 亚洲午夜视频在线| 亚洲第一黄色网| 国产精品欧美久久| 欧美~级网站不卡| 午夜亚洲性色福利视频| 亚洲高清视频在线观看| 欧美亚洲一级| 日韩视频在线永久播放| 国产在线日韩| 欧美色中文字幕| 久久久之久亚州精品露出| 9色精品在线| 欧美激情中文字幕乱码免费| 欧美在线免费| 一区二区三欧美| 在线观看中文字幕不卡| 国产日本欧美一区二区| 欧美女主播在线| 亚洲天堂av在线免费| 亚洲国产精品999| 美女主播视频一区| 久久久午夜电影| 久久精品国产一区二区电影| 性欧美1819sex性高清| 亚洲深夜福利网站|