GTK+ offers a complete set of widgets and is suitable for projects ranging from small one-off projects to complete application suites.
GTK is inspired by multiple libraries developed by the GTK team.
Here are some key features of "GTK":
Features:
· Native look and feel
· Theme support
· Thread safe
· Object orientated approach
· Internationalization
· Localization
· Accessibility
· Bidirectional text support (LTR/RTL, Left To Right/Right To Left)
· UTF8 support
· Documentation
· Object and type system
· Main loop
· Dynamic loading of modules (i.e. plug-ins)
· Thread support
· Timer support
· Memory allocator
· Threaded Queues (synchronous and asynchronous)
· Lists (singly linked, doubly linked, double ended)
· Hash tables
· Arrays
· Trees (N-ary and binary balanced)
· String utilities and charset handling
· Lexical scanner and XML parser
· Base64 (encoding & decoding)
Widgets:
· Windows (normal window or dialog, about and assistant dialogs)
· Displays (label, image, progress bar, status bar)
· Buttons and toggles (check buttons, radio buttons, toggle buttons and link buttons)
· Numerical (horizontal or vertical scales and spin buttons) and text data entry (with or without completion)
· Multi-line text editor
· Tree, list and icon grid viewer (with customizable renderers and model/view separation)
· Combo box (with or without an entry)
· Menus (with images, radio buttons and check items)
· Toolbars (with radio buttons, toggle buttons and menu buttons)
· UI Manager (creating menus and toolbars from XML)
· Selectors (color selection, file chooser, font selection)
· Layouts (tabulated widget, table widget, expander widget, frames, separators and more)
· Status icon (notification area on Linux, tray icon on Windows)
· Printing widgets
· Recently used documents (menu, dialog and manager)