跳轉到內容

GTK+ 例項教程/主題

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

本頁旨在為在 Linux 和 Windows 上為 GTK+ 建立和修改主題提供指南。

自定義 GTK+ 應用程式的外觀涉及修改 RC 檔案,通常稱為 gtkrc

GTKs rc 檔案的解釋。

[編輯 | 編輯原始碼]

一些 Gtk 應用程式可能有很多 rc 檔案。這些是初始化檔案,通常從應用程式的首選項對話方塊修改。GTKRC 檔案是純文字檔案,儲存為 "gtkrc",沒有副檔名。有關 GTK+ rc 檔案格式的更多資訊,請訪問 http://library.gnome.org/devel/gtk-tutorial/stable/c2111.html 本指南將集中討論用於調整應用程式外觀和感覺的一個檔案。

GTK+ rc 檔案可以包含 4 個主要部分

  • 風格宣告 - 專案如何在螢幕上繪製,
  • 類宣告 - 將風格分配給類,
  • 小部件宣告 - 將風格分配給小部件,
  • Widget_class 宣告 - 透過類名將風格分配給特定小部件。


所有 GTK+ 程式都由小部件組成,每個小部件都有幾個屬性或標誌可以設定

  • fg - 修改小部件的前景,
  • bg - 修改小部件的背景,
  • base - 小部件的可編輯、樹或列表背景,
  • bg_pixmap - 將影像分配給小部件的背景,
  • font - 更改字型屬性。


並且這些中的每一個都可能有多個狀態

  • [NORMAL] - 小部件的正常狀態,
  • [PRELIGHT] - 當滑鼠游標懸停在小部件上時(按鈕及其子類使用此方法),
  • [ACTIVE] - 對於活動的小部件,例如選定的選項卡和捲軸,
  • [INSENSITIVE] - 停用的小部件,
  • [SELECTED] - 小部件中突出顯示的物件,例如文字。


可以使用 3 種不同的方法之一設定這些顏色

  1. GTK+ 字串 - 這是一個介於 0 和 1 之間的數字,
  2. 十六進位制 - 與某些網站相同,值以這種方式設定 - #000000,可以是 00 到 ff 之間的任何值,
  3. RGB - 這是一個介於 0 和 256 之間的任何數字,例如 256 256 256,

要調整小部件的屬性,您需要先定義一個風格。

風格宣告可能看起來像這樣:-

style "default"
{
    font = "-*-helvetica-medium-r-normal--*-120-*-*-*-*-*-*"
    fg[NORMAL] = "#000000"
    fg[PRELIGHT] = "#000000"
    fg[ACTIVE] = "#000000"
    fg[SELECTED] = "#000000"
    fg[INSENSITIVE] = "#999999"
}

第一行是風格宣告,此行定義了一個新的風格並將其稱為預設(當然,它可以被呼叫為任何您想要的名字)。以下幾行是實際的風格。但是,為了應用它,它需要被分配給一個 GTK+ 小部件。

Gtk 小部件

[編輯 | 編輯原始碼]

GTK 系統中有很多小部件,但為了便於本教程,我們將定位最頂層的父小部件,稱為 - widget_class "GtkWindow",所有其他小部件都將從它獲取風格。要將風格分配給小部件,可以使用

widget_class "GtkWindow" style "window"

這指示名為 "GtkWindow" 的小部件使用 "window" 風格。

當上面的程式碼被複制到 gtkrc 檔案中,並與

widget_class "GtkWindow" style "default"

一起儲存到 "theme" 資料夾中時,下次啟動或重新啟動 GTKApplication 時應該會注意到差異。

擴充套件到包含影像

[編輯 | 編輯原始碼]

要在主題中包含影像,您需要建立這些影像並將其儲存在與先前建立的 gtkrc 檔案相同的資料夾中。儲存好之後,您需要編輯該檔案來使用影像。

style "Button"
{
    bg_pixmap[NORMAL] = "warning.xpm"
}

這是一個使用影像的示例(請注意,您需要在 GIMP 中建立 warning.xpm 才能使其生效)。

華夏公益教科書