GTK 4 tutorial for beginners
Find a file
2022-04-04 21:51:57 +09:30
gfm Update pre-build (Markdown) documentaiton 2022-04-04 21:51:57 +09:30
image Bug fixed (lib_gen_main_tex.rb). 2021-06-30 23:52:33 +09:00
lib Bug fixed (lib/lib_gen_main_tex.rb). 2022-01-08 21:21:00 +09:00
src Added new tutorial on creating a animated clock 2022-04-04 21:49:51 +09:30
test Change Rakefile, lib_src2md.rb and lib_src_file.rb. 2021-06-30 21:44:57 +09:00
.gitignore Modify section 19 and 20. 2021-06-23 18:36:45 +09:00
Rakefile Bug fixed (lib_gen_main_tex.rb). 2021-06-30 23:52:33 +09:00
Readme.md Update pre-build (Markdown) documentaiton 2022-04-04 21:51:57 +09:30
src2md.rb Add document about Gfile related objects. 2021-03-12 14:45:24 +09:00

Gtk4 Tutorial for beginners

Contents of this Repository

This tutorial illustrates how to write C programs with the Gtk4 library. It focuses on beginners so the contents are limited to the basics. The table of contents is at the end of this abstract.

  • Section 3 to 21 describes the basics, with the example of a simple editor tfe (Text File Editor).
  • Section 22 to 24 describes GtkDrawingArea.
  • Section 25 to 28 describes the list model and the list view (GtkListView, GtkGridView and GtkColumnView). It also describes GtkExpression.

The latest version of the tutorial is located at Gtk4-tutorial github repository. You can read it from there directly without having to download anything.

Gtk4 Documentation

Please refer to Gtk API Reference and Gnome Developer Documentation Website for further information.

These websites are newly opened lately (Aug/2021). The old documentation is located at Gtk Reference Manual and Gnome Developer Center. The new website is in progress at present, so you might need to refer to the old version.

If you want to know about GObject and the type system, please refer to GObject tutorial. The GObject details are easy to understand and also necessary to know when writing Gtk4 programs.

Contribution

This tutorial is under development and unstable. Even though the codes of the examples have been tested on Gtk4 version 4.0, bugs may still exist. If you find any bugs, errors or mistakes in the tutorial and C examples, please let me know. You can post it to github issues. You can also post corrected files as a commit to pull request. When you make corrections, correct the source files, which are under the 'src' directory, then run rake to create to create the output file. The GFM files under the 'gfm' directory are automatically updated.

If you have a question, feel free to post it as an issue. All questions are helpful and will make this tutorial get better.

How to get a HTML or PDF version

If you want to get a HTML or PDF version, you can make them with rake, which is a ruby version of make. Type rake html for HTML. Type rake pdf for PDF. There is a documentation "[How to build Gtk4 Tutorial](gfm/Readme_for_developers.md)" that describes how to make them.

Table of contents

  1. Prerequisite and License
  2. Installation of Gtk4 to Linux distributions
  3. GtkApplication and GtkApplicationWindow
  4. Widgets (1)
  5. Widgets (2)
  6. String and memory management
  7. Widgets (3)
  8. Defining a Child object
  9. The User Interface (UI) file and GtkBuilder
  10. Build system
  11. Initialization and destruction of instances
  12. Signals
  13. Functions in TfeTextView
  14. Functions in GtkNotebook
  15. tfeapplication.c
  16. tfe5 source files
  17. Menu and action
  18. Stateful action
  19. Ui file for menu and action entries
  20. GtkMenuButton, accelerators, font, pango and gsettings
  21. Template XML and composite widget
  22. GtkDrawingArea and Cairo
  23. Combine GtkDrawingArea and TfeTextView
  24. Tiny turtle graphics interpreter
  25. GtkListView
  26. GtkGridView and activate signal
  27. GtkExpression
  28. GtkColumnView
  29. Periodic Events