Here's a review of the key features of "Hello, World":
The Inti::Gtk module must be initialized before use by calling Gtk::init(). Initialization sets up the module, and parses certain command line arguments.
A widget is an object derived from the Gtk::Widget base class, which represents an area of the display.
Inti provides a facility called the main loop, which allows programs to sleep most of the time, but wake up when something interesting happens.
Some widgets, namely those that are subclasses of Gtk::Container, can contain child widgets. In this case, the Gtk::Window widget contains a button widget.
Inti provides a smart pointer class, ptrlt;T>, that holds a reference to an object. It's good practice to use this smart pointer class to store pointers to widgets.
A useful application programming tool is the custom widget, such as HelloWindow. HelloWindow customizes the built-in Gtk::Window class; it adds a "Hello, World" button to the window and takes care of exiting the application when the window is closed.
Built-in objects have virtual methods that are invoked to notify you of events. For example, when a Gtk::Object is destroyed, it calls the method on_destroy. By overriding this method, HelloWindow quits the application.
If you want to be notified of these same events, but aren't subclassing an object, you can use signals. Connecting to a signal registers a method to be invoked when the signal is emitted. Objects emit signals when something interesting happens to them; for example, Gtk::Button emits a signal called clicked when the user clicks the button.