summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2023-02-13 08:37:37 -0500
committerMatthias Clasen <mclasen@redhat.com>2023-02-13 08:52:03 -0500
commit537c2f6c7a7b0ec32bc499fda02b6099a6282352 (patch)
treea3936f942f8bf0f11570e66a18a66a28efb615ab /docs
parentb60bd8a73d88a99431fed7c092c2f903e1dbefb4 (diff)
downloadgtk+-537c2f6c7a7b0ec32bc499fda02b6099a6282352.tar.gz
faq: Some updates
Miscellaneous tweaks and changes, after reading the whole thing.
Diffstat (limited to 'docs')
-rw-r--r--docs/reference/gtk/question_index.md34
1 files changed, 20 insertions, 14 deletions
diff --git a/docs/reference/gtk/question_index.md b/docs/reference/gtk/question_index.md
index aa0cbafff2..5a60581efa 100644
--- a/docs/reference/gtk/question_index.md
+++ b/docs/reference/gtk/question_index.md
@@ -11,8 +11,7 @@ the question you have, this list is a good place to start.
The GTK [website](https://www.gtk.org) offers some
[tutorials](https://www.gtk.org/documentation.php) and other documentation
- (most of it about GTK 2.x and 3.x, but still somewhat applicable). This
- reference manual also contains a introductory
+ This reference manual also contains a introductory
[Getting Started](#gtk-getting-started) part.
More documentation ranging from whitepapers to online books can be found at
@@ -25,9 +24,9 @@ the question you have, this list is a good place to start.
3. How do I port from one GTK version to another?
- See the [migration guide](#migrating). You may also find useful information in
- the documentation for specific widgets and functions. If you have a question not
- covered in the manual, feel free to ask, and please
+ Every major version of GTK comes with a [migration guide](#migrating). You may also
+ find useful information in the documentation for specific widgets and functions. If
+ you have a question not covered in the manual, feel free to ask, and please
[file a bug report](https://gitlab.gnome.org/GNOME/gtk/issues/new) against the
documentation.
@@ -38,6 +37,10 @@ the question you have, this list is a good place to start.
subclass of `GObject` so the same points apply, except that it has a "floating"
state (explained in its documentation).
+ In a widget tree, each container owns a reference to its children. The root
+ object (typically a `GtkWindow`) is owned by GTK. GTK will drop its reference
+ when you call [method@Gtk.Window.destroy].
+
For strings returned from functions, they will be declared "const" if they should
not be freed. Non-const strings should be freed with `g_free()`. Arrays follow the
same rule. If you find an undocumented exception to the rules, please
@@ -250,12 +253,16 @@ the question you have, this list is a good place to start.
11. How do I load an image or animation from a file?
To load an image file straight into a display widget, use
- [ctor@Gtk.Image.new_from_file]. To load an image for another purpose, use
- [ctor@Gdk.Texture.new_from_file]. To load a video from a file, use
- [ctor@Gtk.MediaFile.new_for_file].
+ [ctor@Gtk.Picture.new_for_file] or [ctor@GTk.Picture.new_for_filename].
+ To load an image for another purpose, use [ctor@Gdk.Texture.new_from_file].
+ To load a video from a file, use [ctor@Gtk.MediaFile.new_for_file].
12. How do I draw text?
+ If you just want to put text into your user interface somewhere, it is
+ usually easiest to just use one of ready-made widgets for this purpose,
+ such as [class@Gtk.Label].
+
To draw a piece of text onto a cairo surface, use a Pango layout and
[func@PangoCairo.show_layout].
@@ -349,10 +356,7 @@ the question you have, this list is a good place to start.
19. ...for presenting a set of mutually-exclusive choices, where Windows
would use a combo box?
- With GTK, a [class@Gtk.ComboBox] is the recommended widget to use for this use case.
- If you need an editable text entry, use the [property@Gtk.ComboBox:has-entry] property.
-
- A newer alternative is [class@Gtk.DropDown].
+ With GTK, a [class@Gtk.DropDown] is the recommended widget to use for this use case.
## Questions about GtkWidget
@@ -537,8 +541,10 @@ the question you have, this list is a good place to start.
31. How do I use cairo to draw in GTK applications?
- Use [method@Gtk.Snapshot.append_cairo] in your [vfunc@Gtk.Widget.snapshot] vfunc
- to obtain a cairo context and draw with that.
+ [class@Gtk.DrawingArea] is a ready-made widget for drawing with cairo.
+
+ If you implement a custom widget, use [method@Gtk.Snapshot.append_cairo]
+ in your [vfunc@Gtk.Widget.snapshot] vfunc to obtain a cairo context and draw with that.
32. Can I improve the performance of my application by using another backend
of cairo (such as GL)?