Difference between revisions of "GTK+ (简体中文)"

From ArchWiki
Jump to: navigation, search
m (typo GTK+ 3.x)
m (typo GTK+ 3.x)
Line 86: Line 86:
 
}}
 
}}
  
如果还是不起作用,那么删除旧的{{ic|{XDG_CONFIG_HOME}/gtk-3.0}}目录,并从主题路径复制新的{{ic|{gtk-3.0}}目录。例如:  
+
如果还是不起作用,那么删除旧的{{ic|{XDG_CONFIG_HOME}/gtk-3.0}}目录,并从主题路径复制新的{{ic|gtk-3.0}}目录。例如:  
 
  rm -r ~/.config/gtk-3.0/
 
  rm -r ~/.config/gtk-3.0/
 
  cp -r /usr/share/themes/Zukitwo/gtk-3.0/ ~/.config/   
 
  cp -r /usr/share/themes/Zukitwo/gtk-3.0/ ~/.config/   

Revision as of 04:56, 17 December 2011

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.


Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어


External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

Summary help replacing me
本文主题是GTK+程序的配置。GTK+(GIMP Toolkit)是一个跨平台的图形界面开发库。本文将介绍一些配置GTK+主题、样式、图标、字体等的工具,以及如何使用自定义配置。
相关页面
Uniform Look for QT and GTK Applications (简体中文)
Qt
GNU Project

摘自GTK+ 官方网站

GTK+,或称 GIMP Toolkit,是一个跨平台的图形界面开发库。该库提供各式各样的窗口部件,小到一次性使用的程序、大到大型应用,GTK+ 都能满足你的需求。

GTK+,或称 GIMP Toolkit,最初由GNU项目为图像编辑软件Gimp开发,但现在它已经被广泛地应用在各种语言的图形界面编程中。

配置工具

使用下列GUI(图形界面)程序,可以调整GTK+程序主题、字体等设置。其基本原理是修改~/.gtkrc-2.0文件。

安装,以gtk-theme-switch2为例:

# pacman -S gtk-theme-switch2

另见:为不同图形库分别设置外观

主题

GTK+ 1.x

古老的GTK+1程序(如xmms)默认主题很难看。改进方法:

  1. 下载并安装一些好看的主题
  2. 修改主题

AUR上有不错的主题:gtk-smooth-engineAUR

可以使用gtk-theme-switch2修改主题。

GTK+ 2.x

多数桌面环境都会提供配置GTK+主题、图标、字体的工具。此外,下面提到的这些工具也很不错。

建议同时安装一些好看的GTK+2主题,比如Clearlooks(包含在gtk-engines软件包):

# pacman -S gtk-engines

AUR上还有更多主题:

可以手动修改配置文件Template:Filename来配置GTK+。Gnome图书馆提供了各种设置的清单。下面给出了配置GTK+主题、图标、字体和字体大小的示范:

Template:File

例如: Template:File

注意: 使用上述配置,需要安装软件包ttf-dejavutango-icon-themegtk-engine-murrine以及AUR中的murrine-themes-collectionAUR

GTK+ 3.x

如果使用 GNOME 3,可以使用gnome-tweak-tool配置主题。安装:

# pacman -S gnome-tweak-tool

如果使用基于GTK+ 2.x的桌面环境,比如Xfce、LXDE,则不能使用这个工具(参见:FS#23633)。必须安装librsvg

# pacman -S librsvg

然后自己编辑{XDG_CONFIG_HOME}/gtk-3.0/settings.ini(通常为~/.config/gtk-3.0/settings.ini)设置主题。文件示例: Template:File

如果还是不起作用,那么删除旧的{XDG_CONFIG_HOME}/gtk-3.0目录,并从主题路径复制新的gtk-3.0目录。例如:

rm -r ~/.config/gtk-3.0/
cp -r /usr/share/themes/Zukitwo/gtk-3.0/ ~/.config/  

然后,你需要在桌面环境的外观配置工具中使用相同主题。只有少数几款主题同时提供了外观统一的GTK+3和GTK+2版本:

  1. Adwaita for GTK+ 3 and Advaicium for GTK+ 2
  2. Newlooks for GTK+ 3 and Clearlooks for GTK+ 2
  3. Zukitwo
  4. Elegant Brit
  5. Atolm
  6. Hope
注意: 未来可能还会有其他提供统一外观的跨GTK+版本主题,有些主题在AUR中可以找到。此外,其中某些主题在某些情况会出现问题,比如GTK+2面板(浅色底、浅色字),所以最好使用这里提供的面板背景。

GTK+ 与 QT

同时在系统上安装GTK+和QT(通常是KDE组件)程序的人都知道,两者的外观并不怎么协调。关于两者外观统一的问题,参见:协调QT和GTK+程序的外观

配置文件

注意: 参见GTK+编程手册中的GtkSettings设置部分,以了解所有GTK+配置选项。

本节介绍了许多GTK+设置,可用在~/.gtkrc-2.0文件中。

使用自定义键盘快捷键

有个秘密技巧:把鼠标放在某个菜单项,然后按下某个按键组合,即可修改该项目的快捷键。不过,该功能默认是关闭的。启用方法是使用以下配置:

gtk-can-change-accels = 1

加速 GNOME 菜单显示

鼠标指向菜单与菜单显示之间有一个延迟,以下设置就是该延迟时间(应该是以毫秒为单位):

gtk-menu-popup-delay = 0

缩小窗口部件

如果屏幕很小,不喜欢过大的图标和窗口部件,可以调整其尺寸。

工具栏仅显示图标:

gtk-toolbar-style = GTK_TOOLBAR_ICONS

显示小图标:

gtk-icon-sizes = "panel-menu=16,16:panel=16,16:gtk-menu=16,16:gtk-large-toolbar=16,16\
:gtk-small-toolbar=16,16:gtk-button=16,16"

按钮上不显示图标:

gtk-button-images = 0

菜单不显示图标:

gtk-menu-images = 0

更多gtkrc优化配置参见此文。此外,使用该主题即可搞定上面所有配置。

开发

使用gcc编译C语言的GTK+3程序时,需要添加一些CFLAGS(编译开关):

gcc -g -Wall `pkg-config --cflags --libs gtk+-3.0` -o base base.c

-g 和 -Wall 是可选的,程序调试时会用到。

官方提供了一个示范程序:Hello World

编写简单的对话框

通过GObject-Introspection或语言接口,可以轻松地使用各种语言编写GTK+3程序,甚至bash也可以。

下列示例程序会在屏幕上显示一个信息对话框,上面写有“Hello world”。

Bash

Template:File

C

  • 依赖:gtk3
  • 编译:gcc -o hello_world `pkg-config --cflags --libs gtk+-3.0` hello_world.c

Template:File

C++

  • 依赖:gtkmm3
  • 编译:g++ -o hello_world `pkg-config --cflags --libs gtkmm-3.0` hello_world.cc

Template:File

Genie

  • 依赖:gtk3
  • 编译时依赖:vala
  • 编译:valac --pkg gtk+-3.0 hello_world.gs

Template:File

JavaScript

Template:File

Python

Template:File

Vala

  • 依赖:gtk3
  • 编译时依赖:vala
  • 编译:valac --pkg gtk+-3.0 hello_world.vala

Template:File

相关资源