A Gtk.HeaderBar
is same as the horizontal Gtk.Box
, it allows to place children at the start or the end and title to be displayed. GTK+ supports Client Side Decoration hence we can use a Gtk.HeaderBar
in place of the title bar. The title will be centered with respect to the width of the box. A Gtk.HeaderBar
is usually located across the top of a window and should contain commonly used controls which affect the content below. They also provide access to window controls, including the close window button and window menu.
Follow below steps:
- import GTK+ 3 module.
- Create main window.
- Create HeaderBar.
- Create Button.
- Create Box.
Example:
import gi # Since a system can have multiple versions # of GTK + installed, we want to make # sure that we are importing GTK + 3. gi.require_version( "Gtk" , "3.0" ) from gi.repository import Gtk, Gio class HeaderBarWindow(Gtk.Window): def __init__( self ): Gtk.Window.__init__( self , title = "GfG" ) self .set_border_width( 10 ) self .set_default_size( 400 , 400 ) # Create HeaderBar. hb = Gtk.HeaderBar() hb.set_show_close_button( True ) hb.props.title = "Geeks for Geeks" self .set_titlebar(hb) # Create Button button = Gtk.Button() icon = Gio.ThemedIcon(name = "mail-send-receive-symbolic" ) image = Gtk.Image.new_from_gicon(icon, Gtk.IconSize.BUTTON) button.add(image) hb.pack_end(button) # Create Box box = Gtk.Box(orientation = Gtk.Orientation.HORIZONTAL) Gtk.StyleContext.add_class(box.get_style_context(), "linked" ) button = Gtk.Button() button.add(Gtk.Arrow(Gtk.ArrowType.LEFT, Gtk.ShadowType.NONE)) box.add(button) hb.pack_start(box) self .add(Gtk.TextView()) win = HeaderBarWindow() win.connect( "destroy" , Gtk.main_quit) # Display the window. win.show_all() # Start the GTK + processing loop Gtk.main() |
Output :
Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.
To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.