跳轉到內容

使用 Gtk2-Perl 程式設計/簡介

來自華夏公益教科書,開放書籍,開放世界

這本書適合誰?

[編輯 | 編輯原始碼]

這本書的目標讀者是至少有一些 Perl 程式設計經驗的人。不會討論一般的程式設計主題和 Perl 程式語言的語義。重點將放在使用 Gtk2-Perl API 建立圖形應用程式。如果您是程式設計或 Perl 新手 - 在繼續之前,您應該進行一些自我反省

什麼是 Gtk+?

[編輯 | 編輯原始碼]

Gtk 是一個用於建立圖形使用者介面的庫。Gtk 代表 GIMP 工具包 - 以此命名是因為它是在GNU 影像處理程式中開發的。Gtk 是免費的開源軟體。它是在 LGPL 許可下發布的,這意味著您可以在不支付許可費的情況下使用它開發免費/開源軟體或商業軟體。

Gtk+ 庫是用 C 程式語言編寫的,但可以從多種其他語言中使用,例如 Perl、Python、Ruby、PHP、Java 等。可以在http://www.gtk.org/language-bindings.php找到支援的語言繫結完整列表。

Gtk2 建立在四個主要元件之上。

Gdk 和 gdk-pixbuf

[編輯 | 編輯原始碼]

GIMP 繪圖工具包和 gdk-pixbuf 是用於視窗處理和影像操作的底層函式。這兩個庫的 Perl 模組可以在 Gtk2 名稱空間中找到,作為 Gtk2::Gdk 和 Gtk2::Gdk::Pixbuf。

Glib 用它自己的版本替換了一些本地 *nix 呼叫,以增加功能或提高 Gtk 的可移植性。Glib 還提供了 Gtk 類層次結構背後的底層型別系統,Gtk 中使用的訊號系統,一個執行緒 API,以及一個模組載入工具。Glib 庫繫結在 Glib 名稱空間下。

Pango 是一個用於處理(國際化)文字輸出的庫。Pango 在 Gtk2 名稱空間下繫結,作為 Gtk2::Pango。

獲取 Gtk2-Perl

[編輯 | 編輯原始碼]

Gtk2-Perl 是指一組用於 Gtk+ 及相關庫的 Perl 繫結。使用 Gtk2-Perl 需要在您的系統上安裝以下內容

  • Perl
  • Gtk+ 二進位制檔案和依賴項
  • Gtk2-Perl 模組和依賴項

Perl 很可能已安裝在您的計算機上。如果它沒有安裝 - 從這裡獲取它。

Gtk+ 也可能已安裝在您的系統上。如果沒有,您應該在網際網路上查詢專門針對您的作業系統的預構建二進位制檔案。一個簡單的 Google 搜尋很可能會產生您要查詢的結果。如果您的作業系統沒有提供二進位制檔案,您可以自己編譯 Gtk+

在您的系統上安裝了 Gtk+ 和 Perl 後,您需要安裝 Perl 語言繫結。與大多數優秀的 perl 事物一樣,您可以透過 CPAN 安裝 gtk-perl 庫。在提示符下輸入以下命令以自動安裝。

perl -MCPAN -e 'install Gtk2'

如果您在從 CPAN 實用程式安裝時遇到問題,您可以下載該模組並手動安裝它。下載並解壓縮存檔後,從解壓縮的資料夾的根目錄發出這些命令。

perl Makefile.pl
make
make test
make install

由於 Windows 沒有附帶所有必要的實用程式來編譯它(以及許多其他出色的開源軟體),因此在 Windows 上執行 Gtk2 和 Gtk2-Perl 有其注意事項。以下是您的三個選擇。

簡單方法

[編輯 | 編輯原始碼]

1. 從這裡安裝最新版本的 ActiveState perl

2. 在 PPM 中新增 sisyphusion 倉庫(從 PPM GUI 中選擇它 -> 編輯 -> 首選項 -> 倉庫 -> 建議)

3. 從sisyphusion 倉庫安裝 Glib、Gtk2、Cairo 和 Pango 模組。

以及推薦的方法。下載並安裝camelbox。bam - 你完成了。缺點是像 libexpat 和 libgd 這樣的 ActiveState ppm 倉庫中可用的東西在 camelbox 中不可用。編譯這些庫可能比從原始碼編譯自己的 Gtk+ 更難。一般來說,camelbox 應該足以滿足大多數使用者的需求,並且擁有安裝大量有用模組和實用程式的選項和工具。

舊的簡單方法

[編輯 | 編輯原始碼]

按照http://lostmind.de/gtk2-perl/中的說明操作。該網站詳細介紹了使用 ActiveState Perl 5.8.8 build 819 使 Gtk2-perl 正常工作所需的一切。缺點:它已經過時。它是 Perl 的舊版本,更重要的是 Gtk+ 的舊版本。在 Gtk+ 和 Perl 語言繫結中都實現了很多當時不存在的功能。

困難方法

[編輯 | 編輯原始碼]

這適合高階使用者。從原始碼構建您的系統上的 Gtk+。針對您的 Gtk+ 和 Perl 構建構建 gtk2-perl 庫。有關如何執行此操作的說明超出了本書的範圍。

主要作者

[編輯 | 編輯原始碼]
  • Peter Mattis petm@xcf.berkeley.edu
  • Spencer Kimball spencer@xcf.berkeley.edu
  • 喬希·麥克唐納 jmacd@xcf.berkeley.edu

當前維護者

[編輯 | 編輯原始碼]
  • 歐文·泰勒 otaylor@redhat.com
  • 蒂姆·亞尼克 timj@gtk.org

Gtk2-Perl

[編輯 | 編輯原始碼]
  • 木偶人 scott@asofyet.org
  • 羅斯·麥克法蘭 rwmcfa1@neces.com
  • 托爾斯滕·肖恩菲爾德 kaffeetisch@web.de
  • 馬克·萊曼 pcg@goof.com
  • 戈蘭·提尼 goran@kirra.net
  • 約恩·雷德 joern@zyn.de
  • 查斯·歐文斯 alas@wilma.widomaker.com
  • 吉約姆·科騰索 gc@mandrakesoft.com
華夏公益教科書