GTK+ 3 is a free and open-source cross-platform widget toolkit for creating graphical user interfaces (GUIs). It is licensed under the terms of the GNU Lesser General Public License. Along with Qt, it is one of the most popular toolkits for the Wayland and X11 windowing systems. Let’s see how to create a window and a button using GTK+ 3.
Follow the below steps:
- import GTK+ 3 module
- Create the main window.
- Create Button.
We have to import the Gtk module to be able to access GTK+’s classes and functions.
Note: In IDEs like Pycharm we can install a package named PyGObject in order to use GTK+ 3.
Code #1: Create an empty 200 x 200-pixel window.
Python3
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 # Creates an empty window. window = Gtk.Window() # Connecting to the window’s delete event # to ensure that the application is terminated # whenever we click close button window.connect( "destroy" , Gtk.main_quit) # Display the window. window.show_all() Gtk.main() |
Output:
Code #2: Create a button
Python3
import gi gi.require_version( "Gtk" , "3.0" ) from gi.repository import Gtk # Define our own newWindow class. class newWindow(Gtk.Window): def __init__( self ): # Call the constructor of the super class. # Set the value of the property title to Geeks for Geeks. Gtk.Window.__init__( self , title = "Geeks for Geeks" ) # Create a button widget, connect to its clicked signal # and add it as child to the top-level window. self .button = Gtk.Button(label = "Click Here" ) self .button.connect( "clicked" , self .on_button_clicked) self .add( self .button) # When we click on the button this method # will be called def on_button_clicked( self , widget): print ( "Geeks for Geeks" ) win = newWindow() win.connect( "destroy" , Gtk.main_quit) win.show_all() Gtk.main() |
Output: