首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP-GTK 介紹與桌面應用開發指南

     編輯:PHP 相關知識

1. 什麼是 PHP-GTK

  • PHP 擴展模組,允許編寫**客戶端獨立 GUI 程式**(非瀏覽器執行)。
  • 基於 GTK+(GIMP Toolkit),跨平台:Linux, Windows, BeOS。
  • 不支援在瀏覽器顯示 GTK 介面。

2. 核心概念

Widget(元件)

  • GUI 基本單位:GtkWindow, GtkButton, GtkLabel, GtkEntry, GtkTextView...
  • 皆繼承自抽象基類 GtkWidget。
  • 生命週期:建立 → 放入容器 → 連接信號 → 顯示 → 銷毀。

Container(容器)

  • 可包含其他 Widget 的 Widget:GtkWindow, GtkBox, GtkTable, GtkFixed。
  • 繼承 GtkContainer → GtkWidget,本身也是 Widget。

Signal(信號)與 Callback(回呼)

  • 使用者動作(點擊、按鍵)觸發 Widget 發出 Signal。
  • Signal 連接到 Callback 函式執行回應邏輯。
  • $widget->connect("signal_name", "callback_func")
  • connect_object() 可跨物件呼叫方法、傳遞額外參數。

Event(事件)

  • 特殊 Signal,可動態加入任何 Widget(add_events())。
  • 攜帶豐富資訊(如按鍵碼、滑鼠座標),Callback 參數通常為 ($widget, $event)。

3. 範例:最小視窗與按鈕

<?php
$window = new GtkWindow();
$window->connect("destroy", "shutdown");

$button = new GtkButton("按我");
$button->connect("clicked", "you_clicked");

$window->add($button);
$window->show_all();

gtk::main(); // 進入主迴圈

function shutdown() { gtk::main_quit(); }
function you_clicked() { echo "被點擊了!\n"; }
?>

4. Windows 安裝步驟

  1. 下載 php-gtk--win32.zip(官網 gtk.php.net)。
  2. 解壓 php4/ 內容到 PHP 安裝目錄(如 C:\php)。
  3. 複製 winnt/ 內容到 C:\Windows(或 C:\WinNT),含 php.ini。
  4. 複製 winnt\system32/ 內容到 C:\Windows\System32(GTK DLLs)。
  5. (選擇性)複製 test/ 範例腳本到執行目錄。

5. 執行方式

php -q script.php        # 不送 HTTP Header,保留主控台視窗
php -q -c php.ini script.php
php script.php           # 送 HTTP Header
php_win script.php       # 無主控台獨立執行,輸出任何字元即終止

6. Linux 安裝提要

  • 需 PHP 4.1.0+ (CGI/CLI 版)、GTK+ 1.2.6+、GLib、Pango、ATK 開發套件。
  • 下載原始碼 ./configure --with-php-config=... --with-gtk=... → make && make install。
  • Debian 可直接 apt-get install php-gtk。

7. 學習資源

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved