<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Fltk 1.3 系列教程(1)

      原創,轉載請注明出處。Copyright (c) 2011 DingMaotu (http://blog.163.com/dingmaotu@126/)

      1. 簡介

      Fltk是一個輕量級的C++界面庫,庫如其名,全稱是Fast Light Toolkit。Fltk的特點和優勢當然是輕快:體積小,靜態連接,僅提供圖形界面功能。但是它的Widget(或者稱Control,都是指按鈕、文本框等,我這里通稱為“控件”)很豐富,從簡單的按鈕(Button)、輸入框(Fl_Input)一直到集成OpenGL的Fl_Gl_Window,類型頗多。而且自帶Fluid圖形界面設計器,有點像超輕量級的VB6,很方便做小程序。

      Fltk的基本思想是通過抽象一個平臺的最基本圖形繪制函數(例如畫點、線、像素Blt等),來實現跨平臺,所有其他的圖形元素都通過這些基本函數自己繪制。因此類似Fltk,Qt、Gtk+等跨平臺界面庫也是如此,都是和現在DirectUI的理念相同的。如果有好的設計師,很容易使用Fltk實現漂亮的界面,但Fltk本身的Widgets是比較難看的,呵呵。

      Fltk由于體積小且設計簡單,很多嵌入式開發者都使用這個庫。在這個系列中,我主要講桌面開發(自己沒有搞嵌入式的經驗)。

      2. 設計與版本

      Fltk的設計并不良好,使用了大量全局變量,命名也難看,但是總體上很實用,而且設計簡單,容易學習。Fltk總共有好幾個版本,其中1.1版是最穩定的,已停止開發,但不支持unicode和國際化,因此處理中文有點困難。1.3是當前開發最積極的,通過utf-8支持了unicode,而且最新版本有專門支持cp936的選項(莫非中國用戶很多?)。前兩天出來了rc7,過幾天就會發布最終版。目前1.3是推薦使用的。2.x版是為了改進原有的設計而設計的,使用了namespace,命名舒服多了,但是相對1.3缺乏很多特性,開發相對不積極,因為1.3后,Fltk3就要開始開發了,要把1和2系列的綜合起來,設計一個新的架構,并且源代碼兼容1和2(Amazing, Huh?)。

      3. 評價

      Fltk是理想的C++純界面庫,簡單易學,可以在入門C++的時候,學習怎么用C++寫圖形程序。如果是大型程序,我建議還是用Qt好,Qt不僅僅是個界面庫,它包含了各個方面(并行、數據庫、網絡等),而且很專業,完全可以當作一個跨平臺的通用C++庫,就像Java語言有Java平臺支持,C++有Qt支持。Qt除了大一點,那方面都很完美。但是奈何C++標準的編程風格偏向泛型,和Java系有很大不同,所以現在學習的話,還是學習標準庫,使用Boost。Boost不僅體積龐大,而且功能沒有Qt全面,但是前景很好。現在就缺乏一個Boost.UI,我感覺如果Fltk重新設計,符合泛型風格的話,很適合充當boost::ui這個角色。

      4. 下載與安裝

      在Linux下安裝什么很方便,大多數情況下都有人已經打包好了。即使下載源碼自己編譯,也比較方便,使用通用的configure,make,make install就行了。在Windows下需要自己編譯。如果用Visual Studio,在ide目錄下提供了VC6,VC2008,VC2010的工程文件,打開編譯就行了。但是我使用的是MSYS+MinGW的環境,因此編譯方法和Linux一樣。在源碼包內有詳細的各平臺下載和安裝說明,這里只針對我的環境大概說明一下。

      在此建議學習C++不要一開始就使用VC等,而要多熟悉一下命令行。在Windows下,使用MSYS+MinGW是個很好的選擇,建議到nuwen.net下載最新的MinGW編譯器和MSYS環境。那個發行版自帶了很多有用的庫,包括Boost,很適合初學者。這個編譯器的安裝和配置在此不說,請自行解決(或許今后我會寫個相關的教程)。

      另外還要選一款好的編輯器,Notepad++是Windows下較好的選擇,否則看很多文本文件都不方便(例如README很多都是Unix格式,普通編輯器不能識別,就不能顯示換行,一團糟)。另外有精力的人可選擇Vim或Emacs,集成到msys里很方便。我這里使用Emacs 24測試版。

      首先下載源碼包,解壓到一個目錄里面(我成為FLTK_SRC),然后切換到該目錄:

      configure --help

      查看選項,例如什么功能要啟用,什么功能要禁止,注意有個支持cp936的選項是默認禁止的,需要的打開,但一般utf-8就足夠了,只要源代碼保存成utf-8格式。然后就是--prefix=安裝目錄,默認是/usr/local/,在msys中就是msys根目錄的local文件夾,因此默認的就挺好了。一般所有自己編譯安裝的都放到這個里面,刪除也容易,千萬不要把這些庫直接裝到MinGW編譯器的根目錄里,混合起來。因為默認的選項就足夠了,所以直接

      configure

      等執行完畢,那么

      make && make install

      就會編譯并把必要的文件安裝的/usr/local/,其中/usr/local/bin里有fluid.exe(界面設計器)和fltk-config(編譯時為編譯器提供選項),/usr/local/include/Fl/里是頭文件,/usr/local/lib里是相關的靜態連接庫(Fltk很小,不必要專門編譯成dll),/usr/local/share/doc/examples里是一些示例的源碼。

      其實在源碼目錄的test和examples中,都有一些額值得借鑒的例子源碼,其中test中的程序都編譯了,你可以打開test/demo.exe這個程序,看看Fltk程序長什么樣子。

      posted @ 2011-10-15 17:09  Leading  閱讀(6175)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 日本一区二区a√成人片| 亚洲av色香蕉一区二区| 国产视频一区二区| 亚洲国产精品综合久久网各| 美女自卫慰黄网站| 欧美成本人视频免费播放| 麻豆一区二区三区精品视频| 偷柏自拍亚洲综合在线| 亚洲曰韩欧美在线看片| 久久婷婷成人综合色综合| 亚洲人成亚洲人成在线观看| 国产真实露脸乱子伦原著| 十八禁国产一区二区三区| 亚洲日本精品一区二区| 女人的天堂A国产在线观看| 男女啪啪高清无遮挡免费| 亚洲第一国产综合| 亚洲国产精品成人无码区| 一区二区中文字幕av| 一本久道久久综合狠狠躁av| 国产亚欧女人天堂AV在线| 一亚洲一区二区中文字幕| 久久精品国产99久久久古代| 久久精品国产亚洲夜色av| 深夜精品免费在线观看| 亚洲综合无码AV在线观看| 国产在热线精品视频99公交| 亚洲欧洲一区二区免费| 国产亚洲精品第一综合麻豆 | 国产尤物精品自在拍视频首页| 欧美精品国产综合久久| 高清无码18| 色综合色综合久久综合频道88 | 久久精品亚洲精品国产色婷| 国产欧美丝袜在线二区| 国产中文字幕在线精品| 国产欧美va欧美va在线| 国产一级毛片高清完整视频版| 亚洲成人av在线系列| 视频一区二区三区高清在线| 国产欧美精品区一区二区三区|