GTK+ウィジェットはウィジェット名(widget name)とウィジェットクラス(widget class)により指定されます。ウィジェット名は特定のウィジェット(たとえば‘emacs-menuitem’)を参照し、ウィジェットクラスは似通ったウィジェット(たとえば‘GtkMenuItem’)のコレクションを参照します。ウィジェットは常にクラスをもちますが、名前をもつ必要はありません。
絶対名(absolute
names)とは、一連のウィジェット名またはウィジェットクラスで、他のウィジェットに埋め込まれたウィジェットの階層に対応します。たとえば、top
という名前のGtkWindow
が、box
という名前のGtkVBox
を含み、それがさらにmenubar
という名前のGtkMenuBar
を含む場合、メニューバーウィジェットの完全クラス名はGtkWindow.GtkVBox.GtkMenuBar
で、完全ウィジェット名はtop.box.menubar
になります。
GTK+リソースファイルには、ウィジェットの外観を指定する2種類のコマンドを含めることができます:
widget
クラス名または単にクラスにもとづいてウィジェットのスタイルを指定します。
widget_class
クラス名にもとづいてウィジェットのスタイルを指定します。
widget
コマンドを使用する例は、前のセクションを参照してください。widget_class
コマンドも同じように使用されます。ウィジェット名/ウィジェットクラスとスタイルはダブルクォートで囲わなければならないこと、そしてこれらのコマンドはGTK+リソースファイルのトップレベルに記述しなければならないことに注意してください。
前に記したように、ウィジェット名とウィジェットクラスはシェルのワイルドカード構文で指定することができます。‘*’は0文字以上にマッチし、‘?’は1文字にマッチします。以下はすべてのウィジェットにスタイルを割り当てる例です:
widget "*" style "my_style"