Skip to content
Related Articles

Related Articles

Python – HeaderBar in GTK+ 3
  • Last Updated : 03 Jun, 2020
GeeksforGeeks - Summer Carnival Banner

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:

  1. import GTK+ 3 module.
  2. Create main window.
  3. Create HeaderBar.
  4. Create Button.
  5. 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.




My Personal Notes arrow_drop_up
Recommended Articles
Page :