Skip to content

Tutorials

vmagnin edited this page Jul 22, 2020 · 50 revisions

Tutorials for learning gtk-fortran

Having built and installed gtk-fortran following the wiki instructions, you know need tutorials to learn programming with gtk-fortran.

Our tutorials

Prerequisites

  • As you have built the gtk-fortran library, we can already suppose you have a quite "recent" Fortran compiler, i.e. implementing the ISO_C_BINDING module (Fortran 2003) and some Fortran 2008 functions. In those tutorials, we will use gfortran.
  • You need pkg-config (or pkgconf) because GTK is composed of many libraries. Such a tool will make easier writing the compilation command.
  • You need a text editor and a terminal.
  • You need to be familiar with Fortran basics. If you are not, the Fortran-lang community offers good tutorials: https://fortran-lang.org/learn/
  • Being familiar with the C language is not compulsory but having some knowledge of the C types and especially C pointers and functions prototypes will help you understanding the GTK documentation and the gtk-fortran programming.
  • Those tutorials are for GTK 3, but the GTK 4 modifications are also given.

Tutorials list

  • Tutorial 1: my first gtk-fortran application. You will learn to create a GtkApplication with a window, some widgets and how to draw a bitmap image in Fortran.

More resources for learning gtk-fortran

The gtk-fortran examples

You can begin by studying the examples available in the examples/ directory (gtk3 branch), beginning by gtkzero_gapp.f90 (just creates an empty GTK window) and gtkhello.f90 (a window with two buttons). Those simple examples are heavily commented in order to help you learn the GTK basics.

Note that in GTK 4, the recommended way to write a GTK program is using GtkApplication like in the gtkzero_gapp.f90 example: in the gtk3 branch, it's the only example using GtkApplication. Try to follow this example for your own programs in order to ease the porting to GTK 4.

If you want to draw progressively a picture pixel by pixel during a scientific computation, mandelbrot_pixbuf.f90 is a good starting point. You can even simply create a PNG file without creating any GUI, by using the GdkPixbuf library: see pixbuf_without_gui.f90.

Some external docs about gtk-fortran

GTK resources

GTK tutorials

Some good blogs to learn GTK:

Books

Books about GTK are rare. There is especially the Andrew Krause's book: the first one is about GTK 2 (excellent but now obsolete, oriented toward the C language), the second one is the GTK 3 edition but for Python:

GTK links

About ISO_C_BINDING (Fortran 2003)

You also need to have some knowledge about the Fortran 2003 ISO_C_BINDING module. The first of these link is a good short introduction to this subject:

Clone this wiki locally