Crate gtk4

Source
Expand description

§Rust GTK 4 bindings

The project website is here.

Rust bindings of GTK 4, part of gtk4-rs.

This library contains safe Rust bindings for GTK 4, a multi-platform GUI toolkit. It is a part of gtk-rs.

Most of this documentation is generated from the C API. Until all parts of the documentation have been reviewed there will be incongruities with the actual Rust API.

For a gentle introduction to gtk-rs we recommend the online book GUI development with Rust and GTK 4.

See also:

§Minimum supported Rust version

Currently, the minimum supported Rust version is 1.70.

§“Hello, World!” example program

GTK needs to be initialized before use by calling init. Creating an Application will call init for you.

The gtk4 crate is usually renamed to gtk. You can find an example in the features section for how to do this globally in your Cargo.toml.

use gtk4 as gtk;
use gtk::prelude::*;
use gtk::{glib, Application, ApplicationWindow};

fn main() -> glib::ExitCode {
    let app = Application::builder()
        .application_id("org.example.HelloWorld")
        .build();

    app.connect_activate(|app| {
        // We create the main window.
        let window = ApplicationWindow::builder()
            .application(app)
            .default_width(320)
            .default_height(200)
            .title("Hello, World!")
            .build();

        // Show the window.
        window.present();
    });

    app.run()
}

§The main loop

In a typical GTK application you set up the UI, assign signal handlers and run the main event loop.

use gtk4 as gtk;
use gtk::prelude::*;
use gtk::{glib, Application, ApplicationWindow, Button};

fn main() -> glib::ExitCode {
    let application = Application::builder()
        .application_id("com.example.FirstGtkApp")
        .build();

    application.connect_activate(|app| {
        let window = ApplicationWindow::builder()
            .application(app)
            .title("First GTK Program")
            .default_width(350)
            .default_height(70)
            .build();

        let button = Button::with_label("Click me!");
        button.connect_clicked(|_| {
            eprintln!("Clicked!");
        });
        window.set_child(Some(&button));

        window.present();
    });

    application.run()
}

§Threads

GTK is not thread-safe. Accordingly, none of this crate’s structs implement Send or Sync.

The thread where init was called is considered the main thread. OS X has its own notion of the main thread and init must be called on that thread. After successful initialization, calling any gtk or gdk functions (including init) from other threads will panic.

Any thread can schedule a closure to be run by the main loop on the main thread via glib::idle_add or glib::timeout_add. While working with GTK you might need the glib::idle_add_local or glib::timeout_add_local version without the Send bound. Those may only be called from the main thread.

§Panics

The gtk and gdk crates have some run-time safety and contract checks.

  • Any constructor or free function will panic if called before init or on a non-main thread.

  • Any &str or &Path parameter with an interior null (\0) character will cause a panic.

  • Some functions will panic if supplied out-of-range integer parameters. All such cases will be documented individually but they are not yet.

  • A panic in a closure that handles signals or in any other closure passed to a gtk function will abort the process.

§Features

§Library versions

By default this crate provides only GTK 4.0 APIs. You can access additional functionality by selecting one of the v4_2, v4_4, etc. features.

Cargo.toml example:

[dependencies.gtk]
package = "gtk4"
version = "0.x.y"
features = ["v4_2"]

Take care when choosing the version to target: some of your users might not have easy access to the latest ones. The higher the version, the fewer users will have it installed.

§Documentation

§Using

We recommend using crates from crates.io, as demonstrated here.

If you want to track the bleeding edge, use the git dependency instead:

[dependencies]
gtk = { git = "https://github.com/gtk-rs/gtk4-rs.git", package = "gtk4" }

Avoid mixing versioned and git crates like this:

# This will not compile
[dependencies]
gdk = {version = "0.1", package = "gdk4"}
gtk = { git = "https://github.com/gtk-rs/gtk4-rs.git", package = "gtk4" }

§Features

FeatureDescription
v4_18Enable the new APIs part of GTK 4.18
v4_16Enable the new APIs part of GTK 4.16
v4_14Enable the new APIs part of GTK 4.14
v4_12Enable the new APIs part of GTK 4.12
v4_10Enable the new APIs part of GTK 4.10
v4_8Enable the new APIs part of GTK 4.8
v4_6Enable the new APIs part of GTK 4.6
v4_4Enable the new APIs part of GTK 4.4
v4_2Enable the new APIs part of GTK 4.2
gnome_47Enable all version feature flags of this crate and its dependencies to match the GNOME 47 SDK
gnome_46Enable all version feature flags of this crate and its dependencies to match the GNOME 46 SDK
gnome_45Enable all version feature flags of this crate and its dependencies to match the GNOME 45 SDK
gnome_44Enable all version feature flags of this crate and its dependencies to match the GNOME 44 SDK
gnome_43Enable all version feature flags of this crate and its dependencies to match the GNOME 43 SDK
gnome_42Enable all version feature flags of this crate and its dependencies to match the GNOME 42 SDK
unsafe-assume-initializedDisable checks that gtk is initialized, for use in C ABI libraries
xml_validationEnable xml_validation feature of gtk4-macros
blueprintEnable blueprint feature of gtk4-macros

§See Also

§License

The Rust bindings of gtk4 are available under the MIT License, please refer to it.

Re-exports§

pub use subclass::widget::TemplateChild;
pub use cairo;
pub use gdk;
pub use gdk_pixbuf;
pub use gio;
pub use glib;
pub use graphene;
pub use gsk;
pub use gtk4_sys as ffi;
pub use pango;

Modules§

accessible
builders
Builder pattern types.
prelude
Traits intended for blanket imports.
subclass
Traits intended for creating custom types.

Structs§

ATContext
ATContext is an abstract class provided by GTK to communicate to platform-specific assistive technologies API.
AboutDialog
A simple way to display information about a program.
Accessible
An interface for describing UI elements for Assistive Technologies.
AccessibleListv4_14
A boxed type which wraps a list of references to GtkAccessible objects.
AccessibleRangev4_10
This interface describes ranged controls, e.g. controls which have a single value within an allowed range and that can optionally be changed by the user.
AccessibleTextv4_14
An interface for accessible objects containing formatted text.
AccessibleTextRangev4_14
A range inside the text of an accessible object.
ActionBar
Designed to present contextual actions.
Actionable
The Actionable interface provides a convenient way of associating widgets with actions.
ActivateAction
A ShortcutAction that calls gtk_widget_activate().
Adjustment
A model for a numeric value.
AlertDialogv4_10
Collects the arguments that are needed to present a message to the user.
AlternativeTrigger
A ShortcutTrigger that combines two triggers.
AnyFilter
Matches an item when at least one of its filters matches.
AppChooserDeprecated
The application selection widgets should be implemented according to the design of each platform and/or application requiring them. AppChooser is an interface for widgets which allow the user to choose an application.
AppChooserButtonDeprecated
The application selection widgets should be implemented according to the design of each platform and/or application requiring them. The AppChooserButton lets the user select an application.
AppChooserDialogDeprecated
The application selection widgets should be implemented according to the design of each platform and/or application requiring them. AppChooserDialog shows a AppChooserWidget inside a Dialog.
AppChooserWidgetDeprecated
The application selection widgets should be implemented according to the design of each platform and/or application requiring them. AppChooserWidget is a widget for selecting applications.
Application
A high-level API for writing applications.
ApplicationInhibitFlags
Types of user actions that may be blocked by Application.
ApplicationWindow
A Window subclass that integrates with Application.
AspectFrame
AspectFrame preserves the aspect ratio of its child.
AssistantDeprecated
This widget will be removed in GTK 5 Assistant is used to represent a complex as a series of steps.
AssistantPageDeprecated
This object will be removed in GTK 5 AssistantPage is an auxiliary object used by Assistant.
BinLayout
BinLayout is a LayoutManager subclass useful for create “bins” of widgets.
Bitset
A Bitset represents a set of unsigned integers.
BitsetIter
An opaque, stack-allocated struct for iterating over the elements of a Bitset.
BookmarkList
BookmarkList is a list model that wraps GBookmarkFile.
BoolFilter
Evaluates a boolean expression to determine whether to include items.
Border
A struct that specifies a border around a rectangular area.
Box
Arranges child widgets into a single row or column.
BoxLayout
BoxLayout is a layout manager that arranges children in a single row or column.
Buildable
Buildable allows objects to extend and customize their deserialization from ui files.
Builder
A Builder reads XML descriptions of a user interface and instantiates the described objects.
BuilderCScope
GLib type: GObject with reference counted clone semantics.
BuilderClosureFlags
The list of flags that can be passed to gtk_builder_create_closure().
BuilderListItemFactory
BuilderListItemFactory is a ListItemFactory that creates widgets by instantiating Builder UI templates.
BuilderRustScope
An implementation of BuilderScope that can bind Rust callbacks.
BuilderScope
BuilderScope is an interface to provide language binding support to Builder.
Button
The Button widget is generally used to trigger a callback function that is called when the button is pressed.
Calendar
Calendar is a widget that displays a Gregorian calendar, one month at a time.
CallbackAction
A ShortcutAction that invokes a callback.
CellAreaDeprecated
List views use widgets for displaying their contents An abstract class for laying out CellRenderers
CellAreaBoxDeprecated
List views use widgets for displaying their contents A cell area that renders GtkCellRenderers into a row or a column
CellAreaContextDeprecated
This object will be removed in GTK 5 Stores geometrical information for a series of rows in a GtkCellArea
CellEditableDeprecated
List views use widgets for displaying their contents. See Editable for editable text widgets Interface for widgets that can be used for editing cells
CellLayoutDeprecated
List views use widgets to display their contents. See LayoutManager for layout manager delegate objects An interface for packing cells
CellRendererDeprecated
List views use widgets for displaying their contents An object for rendering a single cell
CellRendererAccelDeprecated
Applications editing keyboard accelerators should provide their own implementation according to platform design guidelines Renders a keyboard accelerator in a cell
CellRendererComboDeprecated
List views use widgets to display their contents. You should use DropDown instead Renders a combobox in a cell
CellRendererPixbufDeprecated
List views use widgets to display their contents. You should use Image for icons, and Picture for images Renders a pixbuf in a cell
CellRendererProgressDeprecated
List views use widgets to display their contents. You should use ProgressBar instead Renders numbers as progress bars
CellRendererSpinDeprecated
List views use widgets to display their contents. You should use SpinButton instead Renders a spin button in a cell
CellRendererSpinnerDeprecated
List views use widgets to display their contents. You should use Spinner instead Renders a spinning animation in a cell
CellRendererState
Tells how a cell is to be rendered.
CellRendererTextDeprecated
List views use widgets to display their contents. You should use Inscription or Label instead Renders text in a cell
CellRendererToggleDeprecated
List views use widgets to display their contents. You should use ToggleButton instead Renders a toggle button in a cell
CellViewDeprecated
List views use widgets to display their contents. You can use Box instead A widget displaying a single row of a GtkTreeModel
CenterBox
Arranges three children in a row, keeping the middle child centered as well as possible.
CenterLayout
CenterLayout is a layout manager that manages up to three children.
CheckButton
A CheckButton places a label next to an indicator.
ClosureExpression
An expression using a custom GClosure to compute the value from its parameters.
ColorButtonDeprecated
Use ColorDialogButton instead The ColorButton allows to open a color chooser dialog to change the color.
ColorChooserDeprecated
Use ColorDialog and ColorDialogButton instead of widgets implementing ColorChooser ColorChooser is an interface that is implemented by widgets for choosing colors.
ColorChooserDialogDeprecated
Use ColorDialog instead A dialog for choosing a color.
ColorChooserWidgetDeprecated
Direct use of ColorChooserWidget is deprecated. The ColorChooserWidget widget lets the user select a color.
ColorDialogv4_10
Collects the arguments that are needed to present a color chooser dialog to the user, such as a title for the dialog and whether it should be modal.
ColorDialogButtonv4_10
The ColorDialogButton is a wrapped around a ColorDialog and allows to open a color chooser dialog to change the color.
ColumnView
ColumnView presents a large dynamic list of items using multiple columns with headers.
ColumnViewCellv4_12
ColumnViewCell is used by ColumnViewColumn to represent items in a cell in ColumnView.
ColumnViewColumn
ColumnViewColumn represents the columns being added to a ColumnView.
ColumnViewRowv4_12
ColumnViewRow is used by ColumnView to allow configuring how rows are displayed.
ColumnViewSorterv4_10
ColumnViewSorter is a sorter implementation that is geared towards the needs of ColumnView.
ComboBoxDeprecated
Use DropDown instead A ComboBox is a widget that allows the user to choose from a list of valid choices.
ComboBoxTextDeprecated
Use DropDown with a StringList instead A ComboBoxText is a simple variant of ComboBox for text-only use cases.
ConstantExpression
A constant value in a Expression.
Constraint
Constraint describes a constraint between attributes of two widgets, expressed as a linear equation.
ConstraintGuide
A ConstraintGuide is an invisible layout element in a ConstraintLayout.
ConstraintLayout
A layout manager using constraints to describe relations between widgets.
ConstraintLayoutChild
LayoutChild subclass for children in a ConstraintLayout.
ConstraintTarget
The ConstraintTarget interface is implemented by objects that can be used as source or target in Constraints.
CssLocation
A description of a location inside a CSS stream.
CssProvider
CssProvider is an object implementing the StyleProvider interface for CSS.
CssSection
Defines a part of a CSS document.
CustomFilter
Determines whether to include items with a callback.
CustomSorter
CustomSorter is a Sorter implementation that sorts via a callback function.
DebugFlags
Flags to use with gtk_set_debug_flags().
DialogDeprecated
Use Window instead Dialogs are a convenient way to prompt the user for a small amount of input.
DialogFlags
Flags used to influence dialog construction.
DirectoryList
DirectoryList is a list model that wraps g_file_enumerate_children_async().
DragIcon
DragIcon is a Root implementation for drag icons.
DragSource
DragSource is an event controller to initiate Drag-And-Drop operations.
DrawingArea
DrawingArea is a widget that allows drawing with cairo.
DropControllerMotion
DropControllerMotion is an event controller tracking the pointer during Drag-and-Drop operations.
DropDown
DropDown is a widget that allows the user to choose an item from a list of options.
DropTarget
DropTarget is an event controller to receive Drag-and-Drop operations.
DropTargetAsync
DropTargetAsync is an event controller to receive Drag-and-Drop operations, asynchronously.
Editable
Editable is an interface for text editing widgets.
EditableLabel
A EditableLabel is a label that allows users to edit the text by switching to an “edit mode”.
EmojiChooser
The EmojiChooser is used by text widgets such as Entry or TextView to let users insert Emoji characters.
Entry
Entry is a single line text entry widget.
EntryBuffer
A EntryBuffer hold the text displayed in a Text widget.
EntryCompletionDeprecated
EntryCompletion is an auxiliary object to provide completion functionality for Entry.
EventController
EventController is the base class for event controllers.
EventControllerFocus
EventControllerFocus is an event controller to keep track of keyboard focus.
EventControllerKey
EventControllerKey is an event controller that provides access to key events.
EventControllerLegacy
EventControllerLegacy is an event controller that provides raw access to the event stream.
EventControllerMotion
EventControllerMotion is an event controller tracking the pointer position.
EventControllerScroll
EventControllerScroll is an event controller that handles scroll events.
EventControllerScrollFlags
Describes the behavior of a EventControllerScroll.
EveryFilter
Matches an item when each of its filters matches.
Expander
Expander allows the user to reveal its child by clicking on an expander triangle.
Expression
Expression provides a way to describe references to values.
ExpressionWatch
An opaque structure representing a watched Expression.
FileChooserDeprecated
Use FileDialog instead FileChooser is an interface that can be implemented by file selection widgets.
FileChooserDialogDeprecated
Use FileDialog instead FileChooserDialog is a dialog suitable for use with “File Open” or “File Save” commands.
FileChooserNativeDeprecated
Use FileDialog instead FileChooserNative is an abstraction of a dialog suitable for use with “File Open” or “File Save as” commands.
FileChooserWidgetDeprecated
Direct use of FileChooserWidget is deprecated FileChooserWidget is a widget for choosing files.
FileDialogv4_10
Collects the arguments that are needed to present a file chooser dialog to the user, such as a title for the dialog and whether it should be modal.
FileFilter
Filters files by name or mime type.
FileLauncherv4_10
Collects the arguments that are needed to open a file with an application.
Filter
Describes the filtering to be performed by a FilterListModel.
FilterListModel
FilterListModel is a list model that filters the elements of the underlying model according to a Filter.
Fixed
Fixed places its child widgets at fixed positions and with fixed sizes.
FixedLayout
FixedLayout is a layout manager which can place child widgets at fixed positions.
FixedLayoutChild
LayoutChild subclass for children in a FixedLayout.
FlattenListModel
FlattenListModel is a list model that concatenates other list models.
FlowBox
A FlowBox puts child widgets in reflowing grid.
FlowBoxChild
FlowBoxChild is the kind of widget that can be added to a FlowBox.
FontButtonDeprecated
Use FontDialogButton instead The FontButton allows to open a font chooser dialog to change the font.
FontChooserDeprecated
Use FontDialog and FontDialogButton instead FontChooser is an interface that can be implemented by widgets for choosing fonts.
FontChooserDialogDeprecated
Use FontDialog instead The FontChooserDialog widget is a dialog for selecting a font.
FontChooserLevel
Specifies the granularity of font selection that is desired in a FontChooser.
FontChooserWidgetDeprecated
Direct use of FontChooserWidget is deprecated. The FontChooserWidget widget lets the user select a font.
FontDialogv4_10
Collects the arguments that are needed to present a font chooser dialog to the user, such as a title for the dialog and whether it should be modal.
FontDialogButtonv4_10
The FontDialogButton is wrapped around a FontDialog and allows to open a font chooser dialog to change the font.
Frame
Frame is a widget that surrounds its child with a decorative frame and an optional label.
GLArea
GLArea is a widget that allows drawing with OpenGL.
Gesture
Gesture is the base class for gesture recognition.
GestureClick
GestureClick is a Gesture implementation for clicks.
GestureDrag
GestureDrag is a Gesture implementation for drags.
GestureLongPress
GestureLongPress is a Gesture for long presses.
GesturePan
GesturePan is a Gesture for pan gestures.
GestureRotate
GestureRotate is a Gesture for 2-finger rotations.
GestureSingle
GestureSingle is a GtkGestures subclass optimized for singe-touch and mouse gestures.
GestureStylus
GestureStylus is a Gesture specific to stylus input.
GestureSwipe
GestureSwipe is a Gesture for swipe gestures.
GestureZoom
GestureZoom is a Gesture for 2-finger pinch/zoom gestures.
GraphicsOffloadv4_14
A widget that allows to bypass gsk rendering for its child by passing the content directly to the compositor.
Grid
Grid is a container which arranges its child widgets in rows and columns.
GridLayout
GridLayout is a layout manager which arranges child widgets in rows and columns.
GridLayoutChild
LayoutChild subclass for children in a GridLayout.
GridView
GridView presents a large dynamic grid of items.
HeaderBar
A widget for creating custom title bars for windows.
IMContext
IMContext defines the interface for GTK input methods.
IMContextSimple
IMContextSimple is an input method supporting table-based input methods.
IMMulticontext
IMMulticontext is an input method context supporting multiple, switchable input methods.
IconLookupFlags
Used to specify options for gtk_icon_theme_lookup_icon().
IconPaintable
Contains information found when looking up an icon in IconTheme.
IconTheme
IconTheme provides a facility for loading themed icons.
IconViewDeprecated
Use GridView instead IconView is a widget which displays data in a grid of icons.
Image
The Image widget displays an image.
InfoBarDeprecated
There is no replacement in GTK for an “info bar” widget; you can use Revealer with a Box containing a Label and an optional Button, according to your application’s design. InfoBar can be used to show messages to the user without a dialog.
InputHints
Describes hints that might be taken into account by input methods or applications.
Inscriptionv4_8
Inscription is a widget to show text in a predefined area.
KeyvalTrigger
A ShortcutTrigger that triggers when a specific keyval and modifiers are pressed.
Label
Displays a small amount of text.
LayoutChild
LayoutChild is the base class for objects that are meant to hold layout properties.
LayoutManager
Layout managers are delegate classes that handle the preferred size and the allocation of a widget.
LevelBar
LevelBar is a widget that can be used as a level indicator.
LinkButton
A LinkButton is a button with a hyperlink.
ListBase
ListBase is the abstract base class for GTK’s list widgets.
ListBox
ListBox is a vertical list.
ListBoxRow
ListBoxRow is the kind of widget that can be added to a ListBox.
ListHeaderv4_12
ListHeader is used by list widgets to represent the headers they display.
ListItem
ListItem is used by list widgets to represent items in a gio::ListModel.
ListItemFactory
A ListItemFactory creates widgets for the items taken from a GListModel.
ListScrollFlagsv4_12
List of actions to perform when scrolling to items in a list widget.
ListStoreDeprecated
Use Gio::ListStore instead A list-like data structure that can be used with the TreeView.
ListView
ListView presents a large dynamic list of items.
LockButtonDeprecated
This widget will be removed in GTK 5 LockButton is a widget to obtain and revoke authorizations needed to operate the controls.
MapListModel
A MapListModel maps the items in a list model to different items.
MediaControls
MediaControls is a widget to show controls for a video.
MediaFile
MediaFile implements MediaStream for files.
MediaStream
MediaStream is the integration point for media playback inside GTK.
MenuButton
The MenuButton widget is used to display a popup when clicked.
MessageDialogDeprecated
Use AlertDialog instead MessageDialog presents a dialog with some message text.
MnemonicAction
A ShortcutAction that calls gtk_widget_mnemonic_activate().
MnemonicTrigger
A ShortcutTrigger that triggers when a specific mnemonic is pressed.
MountOperation
MountOperation is an implementation of GMountOperation.
MultiFilter
Base class for filters that combine multiple filters.
MultiSelection
MultiSelection is a SelectionModel that allows selecting multiple elements.
MultiSorter
MultiSorter combines multiple sorters by trying them in turn.
NamedAction
A ShortcutAction that activates an action by name.
Native
Native is the interface implemented by all widgets that have their own gdk::Surface.
NativeDialog
Native dialogs are platform dialogs that don’t use Dialog.
NeverTrigger
A ShortcutTrigger that never triggers.
NoSelection
NoSelection is a SelectionModel that does not allow selecting anything.
Notebook
Notebook is a container whose children are pages switched between using tabs.
NotebookPage
NotebookPage is an auxiliary object used by Notebook.
NothingAction
A ShortcutAction that does nothing.
NumericSorter
NumericSorter is a Sorter that compares numbers.
ObjectExpression
A GObject value in a Expression.
Orientable
The Orientable interface is implemented by all widgets that can be oriented horizontally or vertically.
Overlay
Overlay is a container which contains a single main child, on top of which it can place “overlay” widgets.
OverlayLayout
OverlayLayout is the layout manager used by Overlay.
OverlayLayoutChild
LayoutChild subclass for children in a OverlayLayout.
PadActionEntry
Struct defining a pad action entry.
PadController
PadController is an event controller for the pads found in drawing tablets.
PageRange
A range of pages to print.
PageSetup
A PageSetup object stores the page size, orientation and margins.
PageSetupUnixDialogLinux
PageSetupUnixDialog implements a page setup dialog for platforms which don’t provide a native page setup dialog, like Unix.
Paned
A widget with two panes, arranged either horizontally or vertically.
PaperSize
PaperSize handles paper sizes.
ParamSpecExpression
A GParamSpec for properties holding a Expression.
PasswordEntry
PasswordEntry is an entry that has been tailored for entering secrets.
PasswordEntryBufferv4_4
A EntryBuffer that locks the underlying memory to prevent it from being swapped to disk.
PickFlags
Flags that influence the behavior of WidgetExt::pick().
Picture
The Picture widget displays a gdk::Paintable.
Popover
Popover is a bubble-like context popup.
PopoverMenu
PopoverMenu is a subclass of Popover that implements menu behavior.
PopoverMenuBar
PopoverMenuBar presents a horizontal bar of items that pop up popover menus when clicked.
PopoverMenuFlags
Flags that affect how PopoverMenu widgets built from a gio::MenuModel are created and displayed.
PrintCapabilitiesLinux
Specifies which features the print dialog should offer.
PrintContext
A PrintContext encapsulates context information that is required when drawing pages for printing.
PrintDialogv4_14
A PrintDialog object collects the arguments that are needed to present a print dialog to the user, such as a title for the dialog and whether it should be modal.
PrintJobLinux
A PrintJob object represents a job that is sent to a printer.
PrintOperation
PrintOperation is the high-level, portable printing API.
PrintOperationPreview
PrintOperationPreview is the interface that is used to implement print preview.
PrintSettings
A PrintSettings object represents the settings of a print dialog in a system-independent way.
PrintSetupv4_14
A PrintSetup is an auxiliary object for printing that allows decoupling the setup from the printing.
PrintUnixDialogLinux
PrintUnixDialog implements a print dialog for platforms which don’t provide a native print dialog, like Unix.
PrinterLinux
A Printer object represents a printer.
ProgressBar
ProgressBar is typically used to display the progress of a long running operation.
PropertyExpression
A GObject property value in a Expression.
Range
Range is the common base class for widgets which visualize an adjustment.
RecentData
Meta-data to be passed to gtk_recent_manager_add_full() when registering a recently used resource.
RecentInfo
RecentInfo contains the metadata associated with an item in the recently used files list.
RecentManager
RecentManager manages and looks up recently used files.
Requisition
Represents the desired size of a widget.
Revealer
A Revealer animates the transition of its child from invisible to visible.
Root
Root is the interface implemented by all widgets that can act as a toplevel widget.
Scale
A Scale is a slider control used to select a numeric value.
ScaleButton
ScaleButton provides a button which pops up a scale widget.
ScrollInfov4_12
The ScrollInfo can be used to provide more accurate data on how a scroll operation should be performed.
Scrollable
Scrollable is an interface for widgets with native scrolling ability.
Scrollbar
The Scrollbar widget is a horizontal or vertical scrollbar.
ScrolledWindow
ScrolledWindow is a container that makes its child scrollable.
SearchBar
SearchBar is a container made to have a search entry.
SearchEntry
SearchEntry is an entry widget that has been tailored for use as a search entry.
SectionModelv4_12
SectionModel is an interface that adds support for sections to list models.
SelectionFilterModel
SelectionFilterModel is a list model that presents the selection from a SelectionModel.
SelectionModel
SelectionModel is an interface that add support for selection to list models.
Separator
Separator is a horizontal or vertical separator widget.
Settings
Settings provides a mechanism to share global settings between applications.
Shortcut
A Shortcut describes a keyboard shortcut.
ShortcutAction
ShortcutAction encodes an action that can be triggered by a keyboard shortcut.
ShortcutActionFlags
List of flags that can be passed to action activation.
ShortcutController
ShortcutController is an event controller that manages shortcuts.
ShortcutLabelDeprecated
This widget will be removed in GTK 5 ShortcutLabel displays a single keyboard shortcut or gesture.
ShortcutManager
The ShortcutManager interface is used to implement shortcut scopes.
ShortcutTrigger
ShortcutTrigger tracks how a Shortcut should be activated.
ShortcutsGroupDeprecated
This widget will be removed in GTK 5 A ShortcutsGroup represents a group of related keyboard shortcuts or gestures.
ShortcutsSectionDeprecated
This widget will be removed in GTK 5 A ShortcutsSection collects all the keyboard shortcuts and gestures for a major application mode.
ShortcutsShortcutDeprecated
This widget will be removed in GTK 5 A ShortcutsShortcut represents a single keyboard shortcut or gesture with a short text.
ShortcutsWindowDeprecated
This widget will be removed in GTK 5 A ShortcutsWindow shows information about the keyboard shortcuts and gestures of an application.
SignalAction
A ShortcutAction that emits a signal.
SignalListItemFactory
SignalListItemFactory is a ListItemFactory that emits signals to manage listitems.
SingleSelection
SingleSelection is a SelectionModel that allows selecting a single item.
SizeGroup
SizeGroup groups widgets together so they all request the same size.
SliceListModel
SliceListModel is a list model that presents a slice of another model.
Snapshot
Snapshot assists in creating gsk::RenderNodes for widgets.
SortListModel
A GListModel that sorts the elements of an underlying model according to a Sorter.
Sorter
Sorter is an object to describe sorting criteria.
SpinButton
A SpinButton is an ideal way to allow the user to set the value of some attribute.
Spinner
A Spinner widget displays an icon-size spinning animation.
Stack
Stack is a container which only shows one of its children at a time.
StackPage
StackPage is an auxiliary class used by Stack.
StackSidebar
A StackSidebar uses a sidebar to switch between Stack pages.
StackSwitcher
The StackSwitcher shows a row of buttons to switch between Stack pages.
StateFlags
Describes a widget state.
StatusbarDeprecated
This widget will be removed in GTK 5 A Statusbar widget is usually placed along the bottom of an application’s main Window.
StringFilter
Determines whether to include items by comparing strings to a fixed search term.
StringList
StringList is a list model that wraps an array of strings.
StringObject
StringObject is the type of items in a StringList.
StringSorter
StringSorter is a Sorter that compares strings.
StyleContextDeprecated
The relevant API has been moved to Widget where applicable; otherwise, there is no replacement for querying the style machinery. Stylable UI elements should use widgets. StyleContext stores styling information affecting a widget.
StyleContextPrintFlags
Flags that modify the behavior of gtk_style_context_to_string().
StyleProvider
StyleProvider is an interface for style information used by StyleContext.
Switch
Switch is a “light switch” that has two states: on or off.
SymbolicPaintablev4_6
SymbolicPaintable is an interface that support symbolic colors in paintables.
Text
A single-line text entry.
TextBuffer
Stores text and attributes for display in a TextView.
TextBufferNotifyFlagsv4_16
Values for `callback::Gtk::TextBufferCommitNotify to denote the point of the notification.
TextChildAnchor
A TextChildAnchor is a spot in a TextBuffer where child widgets can be “anchored”.
TextIter
An iterator for the contents of a TextBuffer.
TextMark
A TextMark is a position in a GtkTextbuffer that is preserved across modifications.
TextSearchFlags
Flags affecting how a search is done.
TextTag
A tag that can be applied to text contained in a TextBuffer.
TextTagTable
The collection of tags in a TextBuffer
TextView
A widget that displays the contents of a TextBuffer.
TickCallbackId
ToggleButton
A ToggleButton is a button which remains “pressed-in” when clicked.
Tooltip
Tooltip is an object representing a widget tooltip.
TreeDragDestDeprecated
List views use widgets to display their contents. You can use DropTarget to implement a drop destination Interface for Drag-and-Drop destinations in TreeView.
TreeDragSourceDeprecated
List views use widgets to display their contents. You can use DragSource to implement a drag source Interface for Drag-and-Drop destinations in TreeView.
TreeExpander
TreeExpander is a widget that provides an expander for a list.
TreeIter
The TreeIter is the primary structure for accessing a TreeModel. Models are expected to put a unique integer in the @stamp member, and put model-specific data in the three @user_data members.
TreeListModel
TreeListModel is a list model that can create child models on demand.
TreeListRow
TreeListRow is used by TreeListModel to represent items.
TreeListRowSorter
TreeListRowSorter is a special-purpose sorter that will apply a given sorter to the levels in a tree.
TreeModelDeprecated
Use gio::ListModel instead The tree interface used by GtkTreeView
TreeModelFilterDeprecated
Use FilterListModel instead. A TreeModel which hides parts of an underlying tree model
TreeModelFlagsDeprecated
These flags indicate various properties of a TreeModel.
TreeModelSortDeprecated
Use SortListModel instead A GtkTreeModel which makes an underlying tree model sortable
TreePath
An opaque structure representing a path to a row in a model.
TreeRowReference
A GtkTreeRowReference tracks model changes so that it always refers to the same row (a TreePath refers to a position, not a fixed row). Create a new GtkTreeRowReference with gtk_tree_row_reference_new().
TreeSelectionDeprecated
Use SelectionModel instead The selection object for GtkTreeView
TreeSortableDeprecated
There is no replacement for this interface. You should use SortListModel to wrap your list model instead The interface for sortable models used by GtkTreeView
TreeStoreDeprecated
Use TreeListModel instead A tree-like data structure that can be used with the TreeView.
TreeViewDeprecated
Use ListView for lists, and ColumnView for tabular lists A widget for displaying both trees and lists
TreeViewColumnDeprecated
Use ColumnView and ColumnViewColumn instead of TreeView to show a tabular list A visible column in a TreeView widget
UriLauncherv4_10
Collects the arguments that are needed to open a uri with an application.
Video
Video is a widget to show a MediaStream with media controls.
Viewport
Viewport implements scrollability for widgets that lack their own scrolling capabilities.
VolumeButtonDeprecated
This widget will be removed in GTK 5 VolumeButton is a ScaleButton subclass tailored for volume control.
Widget
The base class for all widgets.
WidgetPaintable
WidgetPaintable is a gdk::Paintable that displays the contents of a widget.
Window
A toplevel window which can contain other widgets.
WindowControls
A widget that shows window frame controls.
WindowGroup
WindowGroup makes group of windows behave like separate applications.
WindowHandle
WindowHandle is a titlebar area widget.

Enums§

AccessibleAnnouncementPriorityv4_14
The priority of an accessibility announcement.
AccessibleAutocomplete
The possible values for the AccessibleProperty::Autocomplete accessible property.
AccessibleInvalidState
The possible values for the AccessibleState::Invalid accessible state.
AccessiblePlatformStatev4_10
The various platform states which can be queried using AccessibleExt::platform_state().
AccessibleProperty
The possible accessible properties of a Accessible.
AccessibleRelation
The possible accessible relations of a Accessible.
AccessibleRole
The accessible role for a Accessible implementation.
AccessibleSort
The possible values for the AccessibleProperty::Sort accessible property.
AccessibleState
The possible accessible states of a Accessible.
AccessibleTextContentChangev4_14
The type of contents change operation.
AccessibleTextGranularityv4_14
The granularity for queries about the text contents of a AccessibleText implementation.
AccessibleTristate
The possible values for the AccessibleState::Pressed accessible state.
Align
Controls how a widget deals with extra space in a single dimension.
ArrowType
Used to indicate the direction in which an arrow should point.
AssistantPageType
Determines the page role inside a Assistant.
BaselinePosition
Baseline position in a row of widgets.
BorderStyle
Describes how the border of a UI element should be rendered.
BuilderError
Error codes that identify various errors that can occur while using Builder.
ButtonsType
Prebuilt sets of buttons for Dialog.
CellRendererAccelMode
The available modes for accel-mode.
CellRendererMode
Identifies how the user can interact with a particular cell.
Collationv4_10
Describes how a StringSorter turns strings into sort keys to compare them.
ConstraintAttribute
The widget attributes that can be used when creating a Constraint.
ConstraintRelation
The relation between two terms of a constraint.
ConstraintStrength
The strength of a constraint, expressed as a symbolic constant.
ConstraintVflParserError
Domain for VFL parsing errors.
ContentFitv4_8
Controls how a content should be made to fit inside an allocation.
CornerType
Specifies which corner a child widget should be placed in when packed into a ScrolledWindow
CssParserError
Errors that can occur while parsing CSS.
CssParserWarning
Warnings that can occur while parsing CSS.
DeleteType
Passed to various keybinding signals for deleting text.
DialogErrorv4_10
Error codes in the GTK_DIALOG_ERROR domain that can be returned by async dialog functions.
DirectionType
Focus movement types.
EditableProperties
The identifiers for Editable properties.
EntryIconPosition
Specifies the side of the entry at which an icon is placed.
EventSequenceState
Describes the state of a gdk::EventSequence in a Gesture.
FileChooserAction
Describes whether a FileChooser is being used to open existing files or to save to a possibly new file.
FileChooserError
These identify the various errors that can occur while calling FileChooser functions.
FilterChange
Describes changes in a filter in more detail and allows objects using the filter to optimize refiltering items.
FilterMatch
Describes the known strictness of a filter.
FontLevelv4_10
The level of granularity for the font selection.
FontRenderingv4_16
Values for the gtk-font-rendering setting that influence how GTK renders fonts.
GraphicsOffloadEnabledv4_14
Represents the state of graphics offloading.
IconSize
Built-in icon sizes.
IconThemeError
Error codes for IconTheme operations.
IconViewDropPosition
An enum for determining where a dropped item goes.
ImageType
Describes the image data representation used by a Image.
InputPurpose
Describes primary purpose of the input widget.
InscriptionOverflowv4_8
The different methods to handle text in #GtkInscription when it doesn’t fit the available space.
Justification
Used for justifying the text inside a Label widget.
LevelBarMode
Describes how LevelBar contents should be rendered.
License
The type of license for an application.
ListTabBehaviorv4_12
Used to configure the focus behavior in the GTK_DIR_TAB_FORWARD and GTK_DIR_TAB_BACKWARD direction, like the Tab key in a ListView.
MessageType
The type of message being displayed in a MessageDialog.
MovementStep
Passed as argument to various keybinding signals for moving the cursor position.
NaturalWrapModev4_6
Options for selecting a different wrap mode for natural size requests.
NotebookTab
The parameter used in the action signals of Notebook.
NumberUpLayout
Used to determine the layout of pages on a sheet when printing multiple pages per sheet.
Ordering
Describes the way two values can be compared.
Orientation
Represents the orientation of widgets and other objects.
Overflow
Defines how content overflowing a given area should be handled.
PackType
Represents the packing location of a children in its parent.
PadActionType
The type of a pad action.
PageOrientation
See also gtk_print_settings_set_orientation().
PageSet
See also gtk_print_job_set_page_set().
PanDirection
Describes the panning direction of a GesturePan.
PolicyType
Determines how the size should be computed to achieve the one of the visibility mode for the scrollbars.
PositionType
Describes which edge of a widget a certain feature is positioned at.
PrintDuplex
See also gtk_print_settings_set_duplex().
PrintError
Error codes that identify various errors that can occur while using the GTK printing support.
PrintOperationAction
Determines what action the print operation should perform.
PrintOperationResult
The result of a print operation.
PrintPages
See also gtk_print_job_set_pages()
PrintQuality
See also gtk_print_settings_set_quality().
PrintStatus
The status gives a rough indication of the completion of a running print operation.
PropagationLimit
Describes limits of a EventController for handling events targeting other widgets.
PropagationPhase
Describes the stage at which events are fed into a EventController.
RecentManagerError
Error codes for RecentManager operations
ResponseType
Predefined values for use as response ids in gtk_dialog_add_button().
RevealerTransitionType
These enumeration values describe the possible transitions when the child of a Revealer widget is shown or hidden.
ScrollStep
Passed as argument to various keybinding signals.
ScrollType
Scrolling types.
ScrollablePolicy
Defines the policy to be used in a scrollable widget when updating the scrolled window adjustments in a given orientation.
SelectionMode
Used to control what selections users are allowed to make.
SensitivityType
Determines how GTK handles the sensitivity of various controls, such as combo box buttons.
ShortcutScope
Describes where Shortcuts added to a ShortcutController get handled.
ShortcutType
GtkShortcutType specifies the kind of shortcut that is being described.
SizeGroupMode
The mode of the size group determines the directions in which the size group affects the requested sizes of its component widgets.
SizeRequestMode
Specifies a preference for height-for-width or width-for-height geometry management.
SortColumnDeprecated
SortType
Determines the direction of a sort.
SorterChange
Describes changes in a sorter in more detail and allows users to optimize resorting.
SorterOrder
Describes the type of order that a Sorter may produce.
SpinButtonUpdatePolicy
Determines whether the spin button displays values outside the adjustment bounds.
SpinType
The values of the GtkSpinType enumeration are used to specify the change to make in gtk_spin_button_spin().
StackTransitionType
Possible transitions between pages in a Stack widget.
StringFilterMatchMode
Specifies how search strings are matched inside text.
SymbolicColorv4_6
The indexes of colors passed to symbolic color rendering, such as vfunc::Gtk::SymbolicPaintable::snapshot_symbolic.
SystemSetting
Values that can be passed to the WidgetImpl::system_setting_changed() vfunc.
TextDirection
Reading directions for text.
TextExtendSelection
Granularity types that extend the text selection. Use the GtkTextView::extend-selection signal to customize the selection.
TextViewLayer
Used to reference the layers of TextView for the purpose of customized drawing with the ::snapshot_layer vfunc.
TextWindowType
Used to reference the parts of TextView.
TreeViewColumnSizing
The sizing method the column uses to determine its width. Please note that Autosize are inefficient for large views, and can make columns appear choppy.
TreeViewDropPosition
An enum for determining where a dropped row goes.
TreeViewGridLines
Used to indicate which grid lines to draw in a tree view.
Unit
See also gtk_print_settings_set_paper_width().
WrapMode
Describes a type of line wrapping.

Constants§

ACCESSIBLE_VALUE_UNDEFINED
An undefined value. The accessible attribute is either unset, or its value is undefined.
INVALID_LIST_POSITION
The value used to refer to a guaranteed invalid position in a GListModel.
PRIORITY_RESIZE
Use this priority for functionality related to size allocation.
STYLE_PROVIDER_PRIORITY_APPLICATION
A priority that can be used when adding a StyleProvider for application-specific style information.
STYLE_PROVIDER_PRIORITY_FALLBACK
The priority used for default style information that is used in the absence of themes.
STYLE_PROVIDER_PRIORITY_SETTINGS
The priority used for style information provided via Settings.
STYLE_PROVIDER_PRIORITY_THEME
The priority used for style information provided by themes.
STYLE_PROVIDER_PRIORITY_USER
The priority used for the style information from $XDG_CONFIG_HOME/gtk-4.0/gtk.css.
TEXT_VIEW_PRIORITY_VALIDATE
The priority at which the text view validates onscreen lines in an idle job in the background.

Statics§

ACCESSIBLE_ATTRIBUTE_BACKGROUNDv4_14
An attribute for the background color, expressed as an RGB value encoded in a string using the format: {r8},{g8},{b8}.
ACCESSIBLE_ATTRIBUTE_FAMILYv4_14
An attribute for the font family name.
ACCESSIBLE_ATTRIBUTE_FOREGROUNDv4_14
An attribute for the foreground color, expressed as an RGB value encoded in a string using the format: {r8},{g8},{b8}.
ACCESSIBLE_ATTRIBUTE_OVERLINEv4_14
An attribute for the overline style.
ACCESSIBLE_ATTRIBUTE_OVERLINE_NONEv4_14
The “none” overline value for Gtk::ACCESSIBLE_ATTRIBUTE_OVERLINE.
ACCESSIBLE_ATTRIBUTE_OVERLINE_SINGLEv4_14
The “single” overline value for Gtk::ACCESSIBLE_ATTRIBUTE_OVERLINE.
ACCESSIBLE_ATTRIBUTE_SIZEv4_14
An attribute for the font size, expressed in points.
ACCESSIBLE_ATTRIBUTE_STRETCHv4_14
An attribute for the font stretch type.
ACCESSIBLE_ATTRIBUTE_STRETCH_CONDENSEDv4_14
The “condensed” stretch value for Gtk::ACCESSIBLE_ATTRIBUTE_STRETCH.
ACCESSIBLE_ATTRIBUTE_STRETCH_EXPANDEDv4_14
The “expanded” stretch value for Gtk::ACCESSIBLE_ATTRIBUTE_STRETCH.
ACCESSIBLE_ATTRIBUTE_STRETCH_EXTRA_CONDENSEDv4_14
The “extra condensed” stretch value for Gtk::ACCESSIBLE_ATTRIBUTE_STRETCH.
ACCESSIBLE_ATTRIBUTE_STRETCH_EXTRA_EXPANDEDv4_14
The “extra expanded” stretch value for Gtk::ACCESSIBLE_ATTRIBUTE_STRETCH.
ACCESSIBLE_ATTRIBUTE_STRETCH_NORMALv4_14
The “normal” stretch value for Gtk::ACCESSIBLE_ATTRIBUTE_STRETCH.
ACCESSIBLE_ATTRIBUTE_STRETCH_SEMI_CONDENSEDv4_14
The “semi condensed” stretch value for Gtk::ACCESSIBLE_ATTRIBUTE_STRETCH.
ACCESSIBLE_ATTRIBUTE_STRETCH_SEMI_EXPANDEDv4_14
The “semi expanded” stretch value for Gtk::ACCESSIBLE_ATTRIBUTE_STRETCH.
ACCESSIBLE_ATTRIBUTE_STRETCH_ULTRA_CONDENSEDv4_14
The “ultra condensed” stretch value for Gtk::ACCESSIBLE_ATTRIBUTE_STRETCH.
ACCESSIBLE_ATTRIBUTE_STRETCH_ULTRA_EXPANDEDv4_14
The “ultra expanded” stretch value for Gtk::ACCESSIBLE_ATTRIBUTE_STRETCH.
ACCESSIBLE_ATTRIBUTE_STRIKETHROUGHv4_14
An attribute for strikethrough text.
ACCESSIBLE_ATTRIBUTE_STYLEv4_14
An attribute for the font style.
ACCESSIBLE_ATTRIBUTE_STYLE_ITALICv4_14
The “italic” style value for Gtk::ACCESSIBLE_ATTRIBUTE_STYLE.
ACCESSIBLE_ATTRIBUTE_STYLE_NORMALv4_14
The “normal” style value for Gtk::ACCESSIBLE_ATTRIBUTE_STYLE.
ACCESSIBLE_ATTRIBUTE_STYLE_OBLIQUEv4_14
The “oblique” style value for Gtk::ACCESSIBLE_ATTRIBUTE_STYLE.
ACCESSIBLE_ATTRIBUTE_UNDERLINEv4_14
An attribute for the underline style.
ACCESSIBLE_ATTRIBUTE_UNDERLINE_DOUBLEv4_14
The “double” underline value for Gtk::ACCESSIBLE_ATTRIBUTE_UNDERLINE.
ACCESSIBLE_ATTRIBUTE_UNDERLINE_ERRORv4_14
The “error” underline value for Gtk::ACCESSIBLE_ATTRIBUTE_UNDERLINE.
ACCESSIBLE_ATTRIBUTE_UNDERLINE_NONEv4_14
The “none” underline value for Gtk::ACCESSIBLE_ATTRIBUTE_UNDERLINE.
ACCESSIBLE_ATTRIBUTE_UNDERLINE_SINGLEv4_14
The “single” underline value for Gtk::ACCESSIBLE_ATTRIBUTE_UNDERLINE.
ACCESSIBLE_ATTRIBUTE_VARIANTv4_14
An attribute for the font variant.
ACCESSIBLE_ATTRIBUTE_VARIANT_ALL_PETITE_CAPSv4_14
The “all petite caps” variant value for Gtk::ACCESSIBLE_ATTRIBUTE_VARIANT.
ACCESSIBLE_ATTRIBUTE_VARIANT_ALL_SMALL_CAPSv4_14
The “all small caps” variant value for Gtk::ACCESSIBLE_ATTRIBUTE_VARIANT.
ACCESSIBLE_ATTRIBUTE_VARIANT_PETITE_CAPSv4_14
The “petite caps” variant value for Gtk::ACCESSIBLE_ATTRIBUTE_VARIANT.
ACCESSIBLE_ATTRIBUTE_VARIANT_SMALL_CAPSv4_14
The “small caps” variant value for Gtk::ACCESSIBLE_ATTRIBUTE_VARIANT.
ACCESSIBLE_ATTRIBUTE_VARIANT_TITLE_CAPSv4_14
The “title caps” variant value for Gtk::ACCESSIBLE_ATTRIBUTE_VARIANT.
ACCESSIBLE_ATTRIBUTE_VARIANT_UNICASEv4_14
The “unicase” variant value for Gtk::ACCESSIBLE_ATTRIBUTE_VARIANT.
ACCESSIBLE_ATTRIBUTE_WEIGHTv4_14
An attribute for the font weight.
IM_MODULE_EXTENSION_POINT_NAME
The default name of the extension point.
LEVEL_BAR_OFFSET_FULL
The name used for the stock full offset included by LevelBar.
LEVEL_BAR_OFFSET_HIGH
The name used for the stock high offset included by LevelBar.
LEVEL_BAR_OFFSET_LOW
The name used for the stock low offset included by LevelBar.
MEDIA_FILE_EXTENSION_POINT_NAME
The default extension point name for media file.
PAPER_NAME_A3
Name for the A3 paper size.
PAPER_NAME_A4
Name for the A4 paper size.
PAPER_NAME_A5
Name for the A5 paper size.
PAPER_NAME_B5
Name for the B5 paper size.
PAPER_NAME_EXECUTIVE
Name for the Executive paper size.
PAPER_NAME_LEGAL
Name for the Legal paper size.
PAPER_NAME_LETTER
Name for the Letter paper size.
PRINT_SETTINGS_COLLATE
The key used by the “Print to file” printer to store whether to collate the printed pages.
PRINT_SETTINGS_DEFAULT_SOURCE
The key used by the “Print to file” printer to store the default source.
PRINT_SETTINGS_DITHER
The key used by the “Print to file” printer to store the dither used.
PRINT_SETTINGS_DUPLEX
The key used by the “Print to file” printer to store whether to print the output in duplex.
PRINT_SETTINGS_FINISHINGS
The key used by the “Print to file” printer to store the finishings.
PRINT_SETTINGS_MEDIA_TYPE
The key used by the “Print to file” printer to store the media type.
PRINT_SETTINGS_NUMBER_UP
The key used by the “Print to file” printer to store the number of pages per sheet.
PRINT_SETTINGS_NUMBER_UP_LAYOUT
The key used by the “Print to file” printer to store the number of pages per sheet in number-up mode.
PRINT_SETTINGS_N_COPIES
The key used by the “Print to file” printer to store the number of copies.
PRINT_SETTINGS_ORIENTATION
The key used by the “Print to file” printer to store the orientation.
PRINT_SETTINGS_OUTPUT_BASENAME
The key used by the “Print to file” printer to store the file name of the output without the path to the directory and the file extension.
PRINT_SETTINGS_OUTPUT_BIN
The key used by the “Print to file” printer to store the output bin.
PRINT_SETTINGS_OUTPUT_DIR
The key used by the “Print to file” printer to store the directory to which the output should be written.
PRINT_SETTINGS_OUTPUT_FILE_FORMAT
The key used by the “Print to file” printer to store the format of the output. The supported values are “PS” and “PDF”.
PRINT_SETTINGS_OUTPUT_URI
The key used by the “Print to file” printer to store the URI to which the output should be written. GTK itself supports only “file://” URIs.
PRINT_SETTINGS_PAGE_RANGES
The key used by the “Print to file” printer to store the array of page ranges to print.
PRINT_SETTINGS_PAGE_SET
The key used by the “Print to file” printer to store the set of pages to print.
PRINT_SETTINGS_PAPER_FORMAT
The key used by the “Print to file” printer to store the page format.
PRINT_SETTINGS_PAPER_HEIGHT
The key used by the “Print to file” printer to store the page height.
PRINT_SETTINGS_PAPER_WIDTH
The key used by the “Print to file” printer to store the paper width.
PRINT_SETTINGS_PRINTER
The key used by the “Print to file” printer to store the printer name.
PRINT_SETTINGS_PRINTER_LPI
The key used by the “Print to file” printer to store the resolution in lines per inch.
PRINT_SETTINGS_PRINT_PAGES
The key used by the “Print to file” printer to store which pages to print.
PRINT_SETTINGS_QUALITY
The key used by the “Print to file” printer to store the printing quality.
PRINT_SETTINGS_RESOLUTION
The key used by the “Print to file” printer to store the resolution in DPI.
PRINT_SETTINGS_RESOLUTION_X
The key used by the “Print to file” printer to store the horizontal resolution in DPI.
PRINT_SETTINGS_RESOLUTION_Y
The key used by the “Print to file” printer to store the vertical resolution in DPI.
PRINT_SETTINGS_REVERSE
The key used by the “Print to file” printer to store whether to reverse the order of the printed pages.
PRINT_SETTINGS_SCALE
The key used by the “Print to file” printer to store the scale.
PRINT_SETTINGS_USE_COLOR
The key used by the “Print to file” printer to store whether to print with colors.
PRINT_SETTINGS_WIN32_DRIVER_EXTRA
The key used by the “Print to file” printer to store 32-bit Windows extra driver.
PRINT_SETTINGS_WIN32_DRIVER_VERSION
The key used by the “Print to file” printer to store the 32-bit Windows driver version.

Functions§

accelerator_get_default_mod_mask
Gets the modifier mask.
accelerator_get_label
Converts an accelerator keyval and modifier mask into a string which can be used to represent the accelerator to the user.
accelerator_get_label_with_keycode
Converts an accelerator keyval and modifier mask into a string that can be displayed to the user.
accelerator_name
Converts an accelerator keyval and modifier mask into a string parseable by gtk_accelerator_parse().
accelerator_name_with_keycode
Converts an accelerator keyval and modifier mask into a string parseable by gtk_accelerator_parse_with_keycode().
accelerator_parse
Parses a string representing an accelerator.
accelerator_parse_with_keycode
Parses a string representing an accelerator.
accelerator_valid
Determines whether a given keyval and modifier mask constitute a valid keyboard accelerator.
binary_age
Returns the binary age as passed to libtool.
check_version
Checks that the GTK library in use is compatible with the given version.
debug_flags
Returns the GTK debug flags that are currently active.
default_language
Returns the pango::Language for the default language currently in effect.
disable_portalsv4_18
Prevents GTK from using portals.
disable_setlocale
Prevents init() and init_check() from automatically calling setlocale (LC_ALL, "").
enumerate_printersLinux
Calls a function for all Printers.
hsv_to_rgb
Converts a color from HSV space to RGB.
init
Tries to initialize GTK.
interface_age
Returns the interface age as passed to libtool.
is_initialized
Returns true if GTK has been initialized.
is_initialized_main_thread
Returns true if GTK has been initialized and this is the main thread.
locale_direction
Get the direction of the current locale. This is the expected reading direction for text and UI.
major_version
Returns the major version number of the GTK library.
micro_version
Returns the micro version number of the GTK library.
minor_version
Returns the minor version number of the GTK library.
print_run_page_setup_dialog
Runs a page setup dialog, letting the user modify the values from @page_setup. If the user cancels the dialog, the returned PageSetup is identical to the passed in @page_setup, otherwise it contains the modifications done in the dialog.
print_run_page_setup_dialog_async
Runs a page setup dialog, letting the user modify the values from @page_setup.
render_activityDeprecated
Renders an activity indicator (such as in Spinner). The state StateFlags::CHECKED determines whether there is activity going on.
render_arrowDeprecated
Renders an arrow pointing to @angle.
render_backgroundDeprecated
Renders the background of an element.
render_checkDeprecated
Renders a checkmark (as in a CheckButton).
render_expanderDeprecated
Renders an expander (as used in TreeView and Expander) in the area defined by @x, @y, @width, @height. The state StateFlags::CHECKED determines whether the expander is collapsed or expanded.
render_focusDeprecated
Renders a focus indicator on the rectangle determined by @x, @y, @width, @height.
render_frameDeprecated
Renders a frame around the rectangle defined by @x, @y, @width, @height.
render_handleDeprecated
Renders a handle (as in Paned and Window’s resize grip), in the rectangle determined by @x, @y, @width, @height.
render_iconDeprecated
Renders the icon in @texture at the specified @x and @y coordinates.
render_layoutDeprecated
Renders @layout on the coordinates @x, @y
render_lineDeprecated
Renders a line from (x0, y0) to (x1, y1).
render_optionDeprecated
Renders an option mark (as in a radio button), the StateFlags::CHECKED state will determine whether the option is on or off, and StateFlags::INCONSISTENT whether it should be marked as undefined.
rgb_to_hsv
Converts a color from RGB space to HSV.
set_debug_flags
Sets the GTK debug flags.
set_initialized
Informs this crate that GTK has been initialized and the current thread is the main one.
show_about_dialog
A convenience function for showing an application’s about dialog.
show_uriDeprecated
This function launches the default application for showing a given uri, or shows an error dialog if that fails.
show_uri_fullDeprecated
This function launches the default application for showing a given uri.
show_uri_full_futureDeprecated
style_context_add_provider_for_display
style_context_remove_provider_for_display
test_accessible_assertion_message_role
Prints an assertion message for gtk_test_accessible_assert_role().
test_accessible_has_property
Checks whether the Accessible has @property set.
test_accessible_has_relation
Checks whether the Accessible has @relation set.
test_accessible_has_role
Checks whether the GtkAccessible:accessible-role of the accessible is @role.
test_accessible_has_state
Checks whether the Accessible has @state set.
test_list_all_types
Return the type ids that have been registered after calling gtk_test_register_all_types().
test_register_all_types
Force registration of all core GTK object types.
test_widget_wait_for_draw
Enters the main loop and waits for @widget to be “drawn”.
tree_create_row_drag_contentDeprecated
Creates a content provider for dragging @path from @tree_model.
tree_get_row_drag_dataDeprecated
Obtains a @tree_model and @path from value of target type GTK_TYPE_TREE_ROW_DATA.

Type Aliases§

Allocation