GUI Programming in C using GTK Read it later

1/5 - (1 vote)

Graphical User Interfaces (GUIs) have become an essential part of modern computing, enabling users to interact with software in a visual way that is more intuitive and user-friendly than command line interfaces. There are many programming languages and libraries available for developing GUI applications, but C is still a popular choice for its performance and low-level control. One of the most widely used GUI libraries for C is the GTK toolkit. In this blog post, we will introduce GTK and show you how to get started with GUI programming in C using GTK.

What is GTK?

GTK (GIMP Toolkit) is a free and open-source toolkit for creating graphical user interfaces. Originally created for the GIMP image editor, GTK is now used in a wide range of applications, from the GNOME desktop environment to popular media players like VLC and Totem. GTK is written in C, but provides bindings for many other languages, including Python, Ruby, and C++.

GTK provides a rich set of widgets (user interface components) that can be used to create windows, dialogs, buttons, labels, text boxes, and many other types of UI elements. It also provides support for styling and theming, so you can customize the appearance of your application to fit your brand or design aesthetic.

Pre-requisite to GUI Programming in C

This is more of a development area and thus basics of C Language will do the work for you. But, you should have knowledge about pointers in C Language and how to implement them.

Why C for GUI?

The C Language is a low-level language and closer to the hardware, this helps us build powerful software and manage memory.

A low-level language doesn’t restrict the developer and gets the whole control over the hardware and memory management.

Versions of GTK

There are two versions of the GTK Library, primarily GTK 2 and GTK 3. The latest stable version of GTK is v3.24.23.

In this blog, we will focus on the latest version of GTK i.e GTK 3.

Let’s create our first GTK GUI Program.

GUI Programming in C Using GTK

Let’s take a quick look at how the GUI programming looks like in C language using the GTK library.

#include <gtk/gtk.h>
static void activate (GtkApplication* app, gpointe user_data)
  GtkWidget *window;
  window = gtk_application_window_new (app);
  gtk_window_set_title (GTK_WINDOW (window), "Window");
  gtk_window_set_default_size (GTK_WINDOW (window), 200, 200);
  gtk_widget_show_all (window);
int main (int argc, char **argv)
  GtkApplication *app;
  int status;
  app = gtk_application_new ("org.gtk.example", G_APPLICATION_FLAGS_NONE);
  g_signal_connect (app, "activate", G_CALLBACK (activate), NULL);
  status = g_application_run (G_APPLICATION (app), argc, argv);
  g_object_unref (app);
  return status;

The above code is to create a window using GTK in C language.


GUI Programming in C using GTK
A simple Window using GTK in C language

In the next blog, we will learn how we can set up the GTK Library to use in the C library.

Hope you like it!

Learn More:

  1. Python
  2. Embedded Programming
  3. Adobe Illustrator
Was This Article Helpful?


  1. typo : gpointe -> gpointer
    if you name the window “Window” it won’t be “CodeBlock.exe” 😀

    Have fun

Leave a Reply

Your email address will not be published. Required fields are marked *