Open In App

Python – Create window button in GTK+ 3

Improve
Improve
Like Article
Like
Save
Share
Report

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: 
 

  1. import GTK+ 3 module
  2. Create the main window.
  3. 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: 
 

 



Last Updated : 30 Jun, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads