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:
- gtk-rs project overview
- General
GLibfamily types and object system overview - GTK documentation
- GTK Visual Index
§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
initor on a non-main thread. -
Any
&stror&Pathparameter 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
gtkfunction 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
- The Rust API Stable/Development
- Book Stable/Development
- Examples
- The C API
- GTK Installation Instructions
§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
| Feature | Description |
|---|---|
v4_18 | Enable the new APIs part of GTK 4.18 |
v4_16 | Enable the new APIs part of GTK 4.16 |
v4_14 | Enable the new APIs part of GTK 4.14 |
v4_12 | Enable the new APIs part of GTK 4.12 |
v4_10 | Enable the new APIs part of GTK 4.10 |
v4_8 | Enable the new APIs part of GTK 4.8 |
v4_6 | Enable the new APIs part of GTK 4.6 |
v4_4 | Enable the new APIs part of GTK 4.4 |
v4_2 | Enable the new APIs part of GTK 4.2 |
gnome_47 | Enable all version feature flags of this crate and its dependencies to match the GNOME 47 SDK |
gnome_46 | Enable all version feature flags of this crate and its dependencies to match the GNOME 46 SDK |
gnome_45 | Enable all version feature flags of this crate and its dependencies to match the GNOME 45 SDK |
gnome_44 | Enable all version feature flags of this crate and its dependencies to match the GNOME 44 SDK |
gnome_43 | Enable all version feature flags of this crate and its dependencies to match the GNOME 43 SDK |
gnome_42 | Enable all version feature flags of this crate and its dependencies to match the GNOME 42 SDK |
unsafe-assume-initialized | Disable checks that gtk is initialized, for use in C ABI libraries |
xml_validation | Enable xml_validation feature of gtk4-macros |
blueprint | Enable 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
ATContextis an abstract class provided by GTK to communicate to platform-specific assistive technologies API.- About
Dialog - A simple way to display information about a program.
- Accessible
- An interface for describing UI elements for Assistive Technologies.
- Accessible
List v4_14 - A boxed type which wraps a list of references to GtkAccessible objects.
- Accessible
Range v4_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.
- Accessible
Text v4_14 - An interface for accessible objects containing formatted text.
- Accessible
Text Range v4_14 - A range inside the text of an accessible object.
- Action
Bar - Designed to present contextual actions.
- Actionable
- The
Actionableinterface provides a convenient way of associating widgets with actions. - Activate
Action - A
ShortcutActionthat calls gtk_widget_activate(). - Adjustment
- A model for a numeric value.
- Alert
Dialog v4_10 - Collects the arguments that are needed to present a message to the user.
- Alternative
Trigger - A
ShortcutTriggerthat combines two triggers. - AnyFilter
- Matches an item when at least one of its filters matches.
- AppChooser
Deprecated - The application selection widgets should be
implemented according to the design of each platform and/or
application requiring them.
AppChooseris an interface for widgets which allow the user to choose an application. - AppChooser
Button Deprecated - The application selection widgets should be
implemented according to the design of each platform and/or
application requiring them.
The
AppChooserButtonlets the user select an application. - AppChooser
Dialog Deprecated - The application selection widgets should be
implemented according to the design of each platform and/or
application requiring them.
AppChooserDialogshows aAppChooserWidgetinside aDialog. - AppChooser
Widget Deprecated - The application selection widgets should be
implemented according to the design of each platform and/or
application requiring them.
AppChooserWidgetis a widget for selecting applications. - Application
- A high-level API for writing applications.
- Application
Inhibit Flags - Types of user actions that may be blocked by
Application. - Application
Window - A
Windowsubclass that integrates withApplication. - Aspect
Frame AspectFramepreserves the aspect ratio of its child.- Assistant
Deprecated - This widget will be removed in GTK 5
Assistantis used to represent a complex as a series of steps. - Assistant
Page Deprecated - This object will be removed in GTK 5
AssistantPageis an auxiliary object used byAssistant. - BinLayout
BinLayoutis aLayoutManagersubclass useful for create “bins” of widgets.- Bitset
- A
Bitsetrepresents a set of unsigned integers. - Bitset
Iter - An opaque, stack-allocated struct for iterating
over the elements of a
Bitset. - Bookmark
List BookmarkListis a list model that wrapsGBookmarkFile.- Bool
Filter - 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
BoxLayoutis a layout manager that arranges children in a single row or column.- Buildable
Buildableallows objects to extend and customize their deserialization from ui files.- Builder
- A
Builderreads XML descriptions of a user interface and instantiates the described objects. - BuilderC
Scope - GLib type: GObject with reference counted clone semantics.
- Builder
Closure Flags - The list of flags that can be passed to gtk_builder_create_closure().
- Builder
List Item Factory BuilderListItemFactoryis aListItemFactorythat creates widgets by instantiatingBuilderUI templates.- Builder
Rust Scope - An implementation of
BuilderScopethat can bind Rust callbacks. - Builder
Scope BuilderScopeis an interface to provide language binding support toBuilder.- Button
- The
Buttonwidget is generally used to trigger a callback function that is called when the button is pressed. - Calendar
Calendaris a widget that displays a Gregorian calendar, one month at a time.- Callback
Action - A
ShortcutActionthat invokes a callback. - Cell
Area Deprecated - List views use widgets for displaying their
contents
An abstract class for laying out
CellRenderers - Cell
Area Box Deprecated - List views use widgets for displaying their contents A cell area that renders GtkCellRenderers into a row or a column
- Cell
Area Context Deprecated - This object will be removed in GTK 5 Stores geometrical information for a series of rows in a GtkCellArea
- Cell
Editable Deprecated - List views use widgets for displaying their
contents. See
Editablefor editable text widgets Interface for widgets that can be used for editing cells - Cell
Layout Deprecated - List views use widgets to display their contents.
See
LayoutManagerfor layout manager delegate objects An interface for packing cells - Cell
Renderer Deprecated - List views use widgets for displaying their contents An object for rendering a single cell
- Cell
Renderer Accel Deprecated - Applications editing keyboard accelerators should provide their own implementation according to platform design guidelines Renders a keyboard accelerator in a cell
- Cell
Renderer Combo Deprecated - List views use widgets to display their contents. You
should use
DropDowninstead Renders a combobox in a cell - Cell
Renderer Pixbuf Deprecated - List views use widgets to display their contents. You
should use
Imagefor icons, andPicturefor images Renders a pixbuf in a cell - Cell
Renderer Progress Deprecated - List views use widgets to display their contents.
You should use
ProgressBarinstead Renders numbers as progress bars - Cell
Renderer Spin Deprecated - List views use widgets to display their contents.
You should use
SpinButtoninstead Renders a spin button in a cell - Cell
Renderer Spinner Deprecated - List views use widgets to display their contents.
You should use
Spinnerinstead Renders a spinning animation in a cell - Cell
Renderer State - Tells how a cell is to be rendered.
- Cell
Renderer Text Deprecated - List views use widgets to display their contents.
You should use
InscriptionorLabelinstead Renders text in a cell - Cell
Renderer Toggle Deprecated - List views use widgets to display their contents.
You should use
ToggleButtoninstead Renders a toggle button in a cell - Cell
View Deprecated - List views use widgets to display their contents.
You can use
Boxinstead A widget displaying a single row of a GtkTreeModel - Center
Box - Arranges three children in a row, keeping the middle child centered as well as possible.
- Center
Layout CenterLayoutis a layout manager that manages up to three children.- Check
Button - A
CheckButtonplaces a label next to an indicator. - Closure
Expression - An expression using a custom
GClosureto compute the value from its parameters. - Color
Button Deprecated - Use
ColorDialogButtoninstead TheColorButtonallows to open a color chooser dialog to change the color. - Color
Chooser Deprecated - Use
ColorDialogandColorDialogButtoninstead of widgets implementingColorChooserColorChooseris an interface that is implemented by widgets for choosing colors. - Color
Chooser Dialog Deprecated - Use
ColorDialoginstead A dialog for choosing a color. - Color
Chooser Widget Deprecated - Direct use of
ColorChooserWidgetis deprecated. TheColorChooserWidgetwidget lets the user select a color. - Color
Dialog v4_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.
- Color
Dialog Button v4_10 - The
ColorDialogButtonis a wrapped around aColorDialogand allows to open a color chooser dialog to change the color. - Column
View ColumnViewpresents a large dynamic list of items using multiple columns with headers.- Column
View Cell v4_12 ColumnViewCellis used byColumnViewColumnto represent items in a cell inColumnView.- Column
View Column ColumnViewColumnrepresents the columns being added to aColumnView.- Column
View Row v4_12 ColumnViewRowis used byColumnViewto allow configuring how rows are displayed.- Column
View Sorter v4_10 ColumnViewSorteris a sorter implementation that is geared towards the needs ofColumnView.- Combo
Box Deprecated - Use
DropDowninstead AComboBoxis a widget that allows the user to choose from a list of valid choices. - Combo
BoxText Deprecated - Use
DropDownwith aStringListinstead AComboBoxTextis a simple variant ofComboBoxfor text-only use cases. - Constant
Expression - A constant value in a
Expression. - Constraint
Constraintdescribes a constraint between attributes of two widgets, expressed as a linear equation.- Constraint
Guide - A
ConstraintGuideis an invisible layout element in aConstraintLayout. - Constraint
Layout - A layout manager using constraints to describe relations between widgets.
- Constraint
Layout Child LayoutChildsubclass for children in aConstraintLayout.- Constraint
Target - The
ConstraintTargetinterface is implemented by objects that can be used as source or target inConstraints. - CssLocation
- A description of a location inside a CSS stream.
- CssProvider
CssProvideris an object implementing theStyleProviderinterface for CSS.- CssSection
- Defines a part of a CSS document.
- Custom
Filter - Determines whether to include items with a callback.
- Custom
Sorter CustomSorteris aSorterimplementation that sorts via a callback function.- Debug
Flags - Flags to use with gtk_set_debug_flags().
- Dialog
Deprecated - Use
Windowinstead Dialogs are a convenient way to prompt the user for a small amount of input. - Dialog
Flags - Flags used to influence dialog construction.
- Directory
List DirectoryListis a list model that wraps g_file_enumerate_children_async().- Drag
Icon DragIconis aRootimplementation for drag icons.- Drag
Source DragSourceis an event controller to initiate Drag-And-Drop operations.- Drawing
Area DrawingAreais a widget that allows drawing with cairo.- Drop
Controller Motion DropControllerMotionis an event controller tracking the pointer during Drag-and-Drop operations.- Drop
Down DropDownis a widget that allows the user to choose an item from a list of options.- Drop
Target DropTargetis an event controller to receive Drag-and-Drop operations.- Drop
Target Async DropTargetAsyncis an event controller to receive Drag-and-Drop operations, asynchronously.- Editable
Editableis an interface for text editing widgets.- Editable
Label - A
EditableLabelis a label that allows users to edit the text by switching to an “edit mode”. - Emoji
Chooser - The
EmojiChooseris used by text widgets such asEntryorTextViewto let users insert Emoji characters. - Entry
Entryis a single line text entry widget.- Entry
Buffer - A
EntryBufferhold the text displayed in aTextwidget. - Entry
Completion Deprecated EntryCompletionis an auxiliary object to provide completion functionality forEntry.- Event
Controller EventControlleris the base class for event controllers.- Event
Controller Focus EventControllerFocusis an event controller to keep track of keyboard focus.- Event
Controller Key EventControllerKeyis an event controller that provides access to key events.- Event
Controller Legacy EventControllerLegacyis an event controller that provides raw access to the event stream.- Event
Controller Motion EventControllerMotionis an event controller tracking the pointer position.- Event
Controller Scroll EventControllerScrollis an event controller that handles scroll events.- Event
Controller Scroll Flags - Describes the behavior of a
EventControllerScroll. - Every
Filter - Matches an item when each of its filters matches.
- Expander
Expanderallows the user to reveal its child by clicking on an expander triangle.- Expression
Expressionprovides a way to describe references to values.- Expression
Watch - An opaque structure representing a watched
Expression. - File
Chooser Deprecated - Use
FileDialoginsteadFileChooseris an interface that can be implemented by file selection widgets. - File
Chooser Dialog Deprecated - Use
FileDialoginsteadFileChooserDialogis a dialog suitable for use with “File Open” or “File Save” commands. - File
Chooser Native Deprecated - Use
FileDialoginsteadFileChooserNativeis an abstraction of a dialog suitable for use with “File Open” or “File Save as” commands. - File
Chooser Widget Deprecated - Direct use of
FileChooserWidgetis deprecatedFileChooserWidgetis a widget for choosing files. - File
Dialog v4_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.
- File
Filter - Filters files by name or mime type.
- File
Launcher v4_10 - Collects the arguments that are needed to open a file with an application.
- Filter
- Describes the filtering to be performed by a
FilterListModel. - Filter
List Model FilterListModelis a list model that filters the elements of the underlying model according to aFilter.- Fixed
Fixedplaces its child widgets at fixed positions and with fixed sizes.- Fixed
Layout FixedLayoutis a layout manager which can place child widgets at fixed positions.- Fixed
Layout Child LayoutChildsubclass for children in aFixedLayout.- Flatten
List Model FlattenListModelis a list model that concatenates other list models.- FlowBox
- A
FlowBoxputs child widgets in reflowing grid. - Flow
BoxChild FlowBoxChildis the kind of widget that can be added to aFlowBox.- Font
Button Deprecated - Use
FontDialogButtoninstead TheFontButtonallows to open a font chooser dialog to change the font. - Font
Chooser Deprecated - Use
FontDialogandFontDialogButtoninsteadFontChooseris an interface that can be implemented by widgets for choosing fonts. - Font
Chooser Dialog Deprecated - Use
FontDialoginstead TheFontChooserDialogwidget is a dialog for selecting a font. - Font
Chooser Level - Specifies the granularity of font selection
that is desired in a
FontChooser. - Font
Chooser Widget Deprecated - Direct use of
FontChooserWidgetis deprecated. TheFontChooserWidgetwidget lets the user select a font. - Font
Dialog v4_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.
- Font
Dialog Button v4_10 - The
FontDialogButtonis wrapped around aFontDialogand allows to open a font chooser dialog to change the font. - Frame
Frameis a widget that surrounds its child with a decorative frame and an optional label.- GLArea
GLAreais a widget that allows drawing with OpenGL.- Gesture
Gestureis the base class for gesture recognition.- Gesture
Click GestureClickis aGestureimplementation for clicks.- Gesture
Drag GestureDragis aGestureimplementation for drags.- Gesture
Long Press GestureLongPressis aGesturefor long presses.- Gesture
Pan GesturePanis aGesturefor pan gestures.- Gesture
Rotate GestureRotateis aGesturefor 2-finger rotations.- Gesture
Single GestureSingleis aGtkGesturessubclass optimized for singe-touch and mouse gestures.- Gesture
Stylus GestureStylusis aGesturespecific to stylus input.- Gesture
Swipe GestureSwipeis aGesturefor swipe gestures.- Gesture
Zoom GestureZoomis aGesturefor 2-finger pinch/zoom gestures.- Graphics
Offload v4_14 - A widget that allows to bypass gsk rendering for its child by passing the content directly to the compositor.
- Grid
Gridis a container which arranges its child widgets in rows and columns.- Grid
Layout GridLayoutis a layout manager which arranges child widgets in rows and columns.- Grid
Layout Child LayoutChildsubclass for children in aGridLayout.- Grid
View GridViewpresents a large dynamic grid of items.- Header
Bar - A widget for creating custom title bars for windows.
- IMContext
IMContextdefines the interface for GTK input methods.- IMContext
Simple IMContextSimpleis an input method supporting table-based input methods.- IMMulticontext
IMMulticontextis an input method context supporting multiple, switchable input methods.- Icon
Lookup Flags - Used to specify options for gtk_icon_theme_lookup_icon().
- Icon
Paintable - Contains information found when looking up an icon in
IconTheme. - Icon
Theme IconThemeprovides a facility for loading themed icons.- Icon
View Deprecated - Use
GridViewinsteadIconViewis a widget which displays data in a grid of icons. - Image
- The
Imagewidget displays an image. - InfoBar
Deprecated - There is no replacement in GTK for an “info bar” widget;
you can use
Revealerwith aBoxcontaining aLabeland an optionalButton, according to your application’s design.InfoBarcan be used to show messages to the user without a dialog. - Input
Hints - Describes hints that might be taken into account by input methods or applications.
- Inscription
v4_8 Inscriptionis a widget to show text in a predefined area.- Keyval
Trigger - A
ShortcutTriggerthat triggers when a specific keyval and modifiers are pressed. - Label
- Displays a small amount of text.
- Layout
Child LayoutChildis the base class for objects that are meant to hold layout properties.- Layout
Manager - Layout managers are delegate classes that handle the preferred size and the allocation of a widget.
- Level
Bar LevelBaris a widget that can be used as a level indicator.- Link
Button - A
LinkButtonis a button with a hyperlink. - List
Base ListBaseis the abstract base class for GTK’s list widgets.- ListBox
ListBoxis a vertical list.- List
BoxRow ListBoxRowis the kind of widget that can be added to aListBox.- List
Header v4_12 ListHeaderis used by list widgets to represent the headers they display.- List
Item ListItemis used by list widgets to represent items in agio::ListModel.- List
Item Factory - A
ListItemFactorycreates widgets for the items taken from aGListModel. - List
Scroll Flags v4_12 - List of actions to perform when scrolling to items in a list widget.
- List
Store Deprecated - Use
Gio::ListStoreinstead A list-like data structure that can be used with theTreeView. - List
View ListViewpresents a large dynamic list of items.- Lock
Button Deprecated - This widget will be removed in GTK 5
LockButtonis a widget to obtain and revoke authorizations needed to operate the controls. - MapList
Model - A
MapListModelmaps the items in a list model to different items. - Media
Controls MediaControlsis a widget to show controls for a video.- Media
File MediaFileimplementsMediaStreamfor files.- Media
Stream MediaStreamis the integration point for media playback inside GTK.- Menu
Button - The
MenuButtonwidget is used to display a popup when clicked. - Message
Dialog Deprecated - Use
AlertDialoginsteadMessageDialogpresents a dialog with some message text. - Mnemonic
Action - A
ShortcutActionthat calls gtk_widget_mnemonic_activate(). - Mnemonic
Trigger - A
ShortcutTriggerthat triggers when a specific mnemonic is pressed. - Mount
Operation MountOperationis an implementation ofGMountOperation.- Multi
Filter - Base class for filters that combine multiple filters.
- Multi
Selection MultiSelectionis aSelectionModelthat allows selecting multiple elements.- Multi
Sorter MultiSortercombines multiple sorters by trying them in turn.- Named
Action - A
ShortcutActionthat activates an action by name. - Native
Nativeis the interface implemented by all widgets that have their owngdk::Surface.- Native
Dialog - Native dialogs are platform dialogs that don’t use
Dialog. - Never
Trigger - A
ShortcutTriggerthat never triggers. - NoSelection
NoSelectionis aSelectionModelthat does not allow selecting anything.- Notebook
Notebookis a container whose children are pages switched between using tabs.- Notebook
Page NotebookPageis an auxiliary object used byNotebook.- Nothing
Action - A
ShortcutActionthat does nothing. - Numeric
Sorter NumericSorteris aSorterthat compares numbers.- Object
Expression - A
GObjectvalue in aExpression. - Orientable
- The
Orientableinterface is implemented by all widgets that can be oriented horizontally or vertically. - Overlay
Overlayis a container which contains a single main child, on top of which it can place “overlay” widgets.- Overlay
Layout OverlayLayoutis the layout manager used byOverlay.- Overlay
Layout Child LayoutChildsubclass for children in aOverlayLayout.- PadAction
Entry - Struct defining a pad action entry.
- PadController
PadControlleris an event controller for the pads found in drawing tablets.- Page
Range - A range of pages to print.
- Page
Setup - A
PageSetupobject stores the page size, orientation and margins. - Page
Setup Unix Dialog Linux PageSetupUnixDialogimplements 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.
- Paper
Size PaperSizehandles paper sizes.- Param
Spec Expression - A
GParamSpecfor properties holding aExpression. - Password
Entry PasswordEntryis an entry that has been tailored for entering secrets.- Password
Entry Buffer v4_4 - A
EntryBufferthat locks the underlying memory to prevent it from being swapped to disk. - Pick
Flags - Flags that influence the behavior of
WidgetExt::pick(). - Picture
- The
Picturewidget displays agdk::Paintable. - Popover
Popoveris a bubble-like context popup.- Popover
Menu PopoverMenuis a subclass ofPopoverthat implements menu behavior.- Popover
Menu Bar PopoverMenuBarpresents a horizontal bar of items that pop up popover menus when clicked.- Popover
Menu Flags - Flags that affect how
PopoverMenuwidgets built from agio::MenuModelare created and displayed. - Print
Capabilities Linux - Specifies which features the print dialog should offer.
- Print
Context - A
PrintContextencapsulates context information that is required when drawing pages for printing. - Print
Dialog v4_14 - A
PrintDialogobject 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. - Print
Job Linux - A
PrintJobobject represents a job that is sent to a printer. - Print
Operation PrintOperationis the high-level, portable printing API.- Print
Operation Preview PrintOperationPreviewis the interface that is used to implement print preview.- Print
Settings - A
PrintSettingsobject represents the settings of a print dialog in a system-independent way. - Print
Setup v4_14 - A
PrintSetupis an auxiliary object for printing that allows decoupling the setup from the printing. - Print
Unix Dialog Linux PrintUnixDialogimplements a print dialog for platforms which don’t provide a native print dialog, like Unix.- Printer
Linux - A
Printerobject represents a printer. - Progress
Bar ProgressBaris typically used to display the progress of a long running operation.- Property
Expression - A
GObjectproperty value in aExpression. - Range
Rangeis the common base class for widgets which visualize an adjustment.- Recent
Data - Meta-data to be passed to gtk_recent_manager_add_full() when registering a recently used resource.
- Recent
Info RecentInfocontains the metadata associated with an item in the recently used files list.- Recent
Manager RecentManagermanages and looks up recently used files.- Requisition
- Represents the desired size of a widget.
- Revealer
- A
Revealeranimates the transition of its child from invisible to visible. - Root
Rootis the interface implemented by all widgets that can act as a toplevel widget.- Scale
- A
Scaleis a slider control used to select a numeric value. - Scale
Button ScaleButtonprovides a button which pops up a scale widget.- Scroll
Info v4_12 - The
ScrollInfocan be used to provide more accurate data on how a scroll operation should be performed. - Scrollable
Scrollableis an interface for widgets with native scrolling ability.- Scrollbar
- The
Scrollbarwidget is a horizontal or vertical scrollbar. - Scrolled
Window ScrolledWindowis a container that makes its child scrollable.- Search
Bar SearchBaris a container made to have a search entry.- Search
Entry SearchEntryis an entry widget that has been tailored for use as a search entry.- Section
Model v4_12 SectionModelis an interface that adds support for sections to list models.- Selection
Filter Model SelectionFilterModelis a list model that presents the selection from aSelectionModel.- Selection
Model SelectionModelis an interface that add support for selection to list models.- Separator
Separatoris a horizontal or vertical separator widget.- Settings
Settingsprovides a mechanism to share global settings between applications.- Shortcut
- A
Shortcutdescribes a keyboard shortcut. - Shortcut
Action ShortcutActionencodes an action that can be triggered by a keyboard shortcut.- Shortcut
Action Flags - List of flags that can be passed to action activation.
- Shortcut
Controller ShortcutControlleris an event controller that manages shortcuts.- Shortcut
Label Deprecated - This widget will be removed in GTK 5
ShortcutLabeldisplays a single keyboard shortcut or gesture. - Shortcut
Manager - The
ShortcutManagerinterface is used to implement shortcut scopes. - Shortcut
Trigger ShortcutTriggertracks how aShortcutshould be activated.- Shortcuts
Group Deprecated - This widget will be removed in GTK 5
A
ShortcutsGrouprepresents a group of related keyboard shortcuts or gestures. - Shortcuts
Section Deprecated - This widget will be removed in GTK 5
A
ShortcutsSectioncollects all the keyboard shortcuts and gestures for a major application mode. - Shortcuts
Shortcut Deprecated - This widget will be removed in GTK 5
A
ShortcutsShortcutrepresents a single keyboard shortcut or gesture with a short text. - Shortcuts
Window Deprecated - This widget will be removed in GTK 5
A
ShortcutsWindowshows information about the keyboard shortcuts and gestures of an application. - Signal
Action - A
ShortcutAction that emits a signal. - Signal
List Item Factory SignalListItemFactoryis aListItemFactorythat emits signals to manage listitems.- Single
Selection SingleSelectionis aSelectionModelthat allows selecting a single item.- Size
Group SizeGroupgroups widgets together so they all request the same size.- Slice
List Model SliceListModelis a list model that presents a slice of another model.- Snapshot
Snapshotassists in creatinggsk::RenderNodes for widgets.- Sort
List Model - A
GListModelthat sorts the elements of an underlying model according to aSorter. - Sorter
Sorteris an object to describe sorting criteria.- Spin
Button - A
SpinButtonis an ideal way to allow the user to set the value of some attribute. - Spinner
- A
Spinnerwidget displays an icon-size spinning animation. - Stack
Stackis a container which only shows one of its children at a time.- Stack
Page StackPageis an auxiliary class used byStack.- Stack
Sidebar - A
StackSidebaruses a sidebar to switch betweenStackpages. - Stack
Switcher - The
StackSwitchershows a row of buttons to switch betweenStackpages. - State
Flags - Describes a widget state.
- Statusbar
Deprecated - This widget will be removed in GTK 5
A
Statusbarwidget is usually placed along the bottom of an application’s mainWindow. - String
Filter - Determines whether to include items by comparing strings to a fixed search term.
- String
List StringListis a list model that wraps an array of strings.- String
Object StringObjectis the type of items in aStringList.- String
Sorter StringSorteris aSorterthat compares strings.- Style
Context Deprecated - The relevant API has been moved to
Widgetwhere applicable; otherwise, there is no replacement for querying the style machinery. Stylable UI elements should use widgets.StyleContextstores styling information affecting a widget. - Style
Context Print Flags - Flags that modify the behavior of gtk_style_context_to_string().
- Style
Provider StyleProvideris an interface for style information used byStyleContext.- Switch
Switchis a “light switch” that has two states: on or off.- Symbolic
Paintable v4_6 SymbolicPaintableis an interface that support symbolic colors in paintables.- Text
- A single-line text entry.
- Text
Buffer - Stores text and attributes for display in a
TextView. - Text
Buffer Notify Flags v4_16 - Values for `callback::Gtk::TextBufferCommitNotify to denote the point of the notification.
- Text
Child Anchor - A
TextChildAnchoris a spot in aTextBufferwhere child widgets can be “anchored”. - Text
Iter - An iterator for the contents of a
TextBuffer. - Text
Mark - A
TextMarkis a position in aGtkTextbufferthat is preserved across modifications. - Text
Search Flags - Flags affecting how a search is done.
- TextTag
- A tag that can be applied to text contained in a
TextBuffer. - Text
TagTable - The collection of tags in a
TextBuffer - Text
View - A widget that displays the contents of a
TextBuffer. - Tick
Callback Id - Toggle
Button - A
ToggleButtonis a button which remains “pressed-in” when clicked. - Tooltip
Tooltipis an object representing a widget tooltip.- Tree
Drag Dest Deprecated - List views use widgets to display their contents.
You can use
DropTargetto implement a drop destination Interface for Drag-and-Drop destinations inTreeView. - Tree
Drag Source Deprecated - List views use widgets to display their contents.
You can use
DragSourceto implement a drag source Interface for Drag-and-Drop destinations inTreeView. - Tree
Expander TreeExpanderis a widget that provides an expander for a list.- Tree
Iter - The
TreeIteris the primary structure for accessing aTreeModel. Models are expected to put a unique integer in the @stamp member, and put model-specific data in the three @user_data members. - Tree
List Model TreeListModelis a list model that can create child models on demand.- Tree
List Row TreeListRowis used byTreeListModelto represent items.- Tree
List RowSorter TreeListRowSorteris a special-purpose sorter that will apply a given sorter to the levels in a tree.- Tree
Model Deprecated - Use
gio::ListModelinstead The tree interface used by GtkTreeView - Tree
Model Filter Deprecated - Use
FilterListModelinstead. ATreeModelwhich hides parts of an underlying tree model - Tree
Model Flags Deprecated - These flags indicate various properties of a
TreeModel. - Tree
Model Sort Deprecated - Use
SortListModelinstead A GtkTreeModel which makes an underlying tree model sortable - Tree
Path - An opaque structure representing a path to a row in a model.
- Tree
RowReference - A GtkTreeRowReference tracks model changes so that it always refers to the
same row (a
TreePathrefers to a position, not a fixed row). Create a new GtkTreeRowReference with gtk_tree_row_reference_new(). - Tree
Selection Deprecated - Use
SelectionModelinstead The selection object for GtkTreeView - Tree
Sortable Deprecated - There is no replacement for this interface. You should
use
SortListModelto wrap your list model instead The interface for sortable models used by GtkTreeView - Tree
Store Deprecated - Use
TreeListModelinstead A tree-like data structure that can be used with theTreeView. - Tree
View Deprecated - Use
ListViewfor lists, andColumnViewfor tabular lists A widget for displaying both trees and lists - Tree
View Column Deprecated - Use
ColumnViewandColumnViewColumninstead ofTreeViewto show a tabular list A visible column in aTreeViewwidget - UriLauncher
v4_10 - Collects the arguments that are needed to open a uri with an application.
- Video
Videois a widget to show aMediaStreamwith media controls.- Viewport
Viewportimplements scrollability for widgets that lack their own scrolling capabilities.- Volume
Button Deprecated - This widget will be removed in GTK 5
VolumeButtonis aScaleButtonsubclass tailored for volume control. - Widget
- The base class for all widgets.
- Widget
Paintable WidgetPaintableis agdk::Paintablethat displays the contents of a widget.- Window
- A toplevel window which can contain other widgets.
- Window
Controls - A widget that shows window frame controls.
- Window
Group WindowGroupmakes group of windows behave like separate applications.- Window
Handle WindowHandleis a titlebar area widget.
Enums§
- Accessible
Announcement Priority v4_14 - The priority of an accessibility announcement.
- Accessible
Autocomplete - The possible values for the
AccessibleProperty::Autocompleteaccessible property. - Accessible
Invalid State - The possible values for the
AccessibleState::Invalidaccessible state. - Accessible
Platform State v4_10 - The various platform states which can be queried
using
AccessibleExt::platform_state(). - Accessible
Property - The possible accessible properties of a
Accessible. - Accessible
Relation - The possible accessible relations of a
Accessible. - Accessible
Role - The accessible role for a
Accessibleimplementation. - Accessible
Sort - The possible values for the
AccessibleProperty::Sortaccessible property. - Accessible
State - The possible accessible states of a
Accessible. - Accessible
Text Content Change v4_14 - The type of contents change operation.
- Accessible
Text Granularity v4_14 - The granularity for queries about the text contents of a
AccessibleTextimplementation. - Accessible
Tristate - The possible values for the
AccessibleState::Pressedaccessible state. - Align
- Controls how a widget deals with extra space in a single dimension.
- Arrow
Type - Used to indicate the direction in which an arrow should point.
- Assistant
Page Type - Determines the page role inside a
Assistant. - Baseline
Position - Baseline position in a row of widgets.
- Border
Style - Describes how the border of a UI element should be rendered.
- Builder
Error - Error codes that identify various errors that can occur while using
Builder. - Buttons
Type - Prebuilt sets of buttons for
Dialog. - Cell
Renderer Accel Mode - The available modes for
accel-mode. - Cell
Renderer Mode - Identifies how the user can interact with a particular cell.
- Collation
v4_10 - Describes how a
StringSorterturns strings into sort keys to compare them. - Constraint
Attribute - The widget attributes that can be used when creating a
Constraint. - Constraint
Relation - The relation between two terms of a constraint.
- Constraint
Strength - The strength of a constraint, expressed as a symbolic constant.
- Constraint
VflParser Error - Domain for VFL parsing errors.
- Content
Fit v4_8 - Controls how a content should be made to fit inside an allocation.
- Corner
Type - Specifies which corner a child widget should be placed in when packed into
a
ScrolledWindow - CssParser
Error - Errors that can occur while parsing CSS.
- CssParser
Warning - Warnings that can occur while parsing CSS.
- Delete
Type - Passed to various keybinding signals for deleting text.
- Dialog
Error v4_10 - Error codes in the
GTK_DIALOG_ERRORdomain that can be returned by async dialog functions. - Direction
Type - Focus movement types.
- Editable
Properties - The identifiers for
Editableproperties. - Entry
Icon Position - Specifies the side of the entry at which an icon is placed.
- Event
Sequence State - Describes the state of a
gdk::EventSequencein aGesture. - File
Chooser Action - Describes whether a
FileChooseris being used to open existing files or to save to a possibly new file. - File
Chooser Error - These identify the various errors that can occur while calling
FileChooserfunctions. - Filter
Change - Describes changes in a filter in more detail and allows objects using the filter to optimize refiltering items.
- Filter
Match - Describes the known strictness of a filter.
- Font
Level v4_10 - The level of granularity for the font selection.
- Font
Rendering v4_16 - Values for the
gtk-font-renderingsetting that influence how GTK renders fonts. - Graphics
Offload Enabled v4_14 - Represents the state of graphics offloading.
- Icon
Size - Built-in icon sizes.
- Icon
Theme Error - Error codes for
IconThemeoperations. - Icon
View Drop Position - An enum for determining where a dropped item goes.
- Image
Type - Describes the image data representation used by a
Image. - Input
Purpose - Describes primary purpose of the input widget.
- Inscription
Overflow v4_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
Labelwidget. - Level
BarMode - Describes how
LevelBarcontents should be rendered. - License
- The type of license for an application.
- List
TabBehavior v4_12 - Used to configure the focus behavior in the
GTK_DIR_TAB_FORWARDandGTK_DIR_TAB_BACKWARDdirection, like the Tab key in aListView. - Message
Type - The type of message being displayed in a
MessageDialog. - Movement
Step - Passed as argument to various keybinding signals for moving the cursor position.
- Natural
Wrap Mode v4_6 - Options for selecting a different wrap mode for natural size requests.
- Notebook
Tab - The parameter used in the action signals of
Notebook. - Number
UpLayout - 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.
- Pack
Type - Represents the packing location of a children in its parent.
- PadAction
Type - The type of a pad action.
- Page
Orientation - See also gtk_print_settings_set_orientation().
- PageSet
- See also gtk_print_job_set_page_set().
- PanDirection
- Describes the panning direction of a
GesturePan. - Policy
Type - Determines how the size should be computed to achieve the one of the visibility mode for the scrollbars.
- Position
Type - Describes which edge of a widget a certain feature is positioned at.
- Print
Duplex - See also gtk_print_settings_set_duplex().
- Print
Error - Error codes that identify various errors that can occur while using the GTK printing support.
- Print
Operation Action - Determines what action the print operation should perform.
- Print
Operation Result - The result of a print operation.
- Print
Pages - See also gtk_print_job_set_pages()
- Print
Quality - See also gtk_print_settings_set_quality().
- Print
Status - The status gives a rough indication of the completion of a running print operation.
- Propagation
Limit - Describes limits of a
EventControllerfor handling events targeting other widgets. - Propagation
Phase - Describes the stage at which events are fed into a
EventController. - Recent
Manager Error - Error codes for
RecentManageroperations - Response
Type - Predefined values for use as response ids in gtk_dialog_add_button().
- Revealer
Transition Type - These enumeration values describe the possible transitions
when the child of a
Revealerwidget is shown or hidden. - Scroll
Step - Passed as argument to various keybinding signals.
- Scroll
Type - Scrolling types.
- Scrollable
Policy - Defines the policy to be used in a scrollable widget when updating the scrolled window adjustments in a given orientation.
- Selection
Mode - Used to control what selections users are allowed to make.
- Sensitivity
Type - Determines how GTK handles the sensitivity of various controls, such as combo box buttons.
- Shortcut
Scope - Describes where
Shortcuts added to aShortcutControllerget handled. - Shortcut
Type - GtkShortcutType specifies the kind of shortcut that is being described.
- Size
Group Mode - The mode of the size group determines the directions in which the size group affects the requested sizes of its component widgets.
- Size
Request Mode - Specifies a preference for height-for-width or width-for-height geometry management.
- Sort
Column Deprecated - Sort
Type - Determines the direction of a sort.
- Sorter
Change - Describes changes in a sorter in more detail and allows users to optimize resorting.
- Sorter
Order - Describes the type of order that a
Sortermay produce. - Spin
Button Update Policy - Determines whether the spin button displays values outside the adjustment bounds.
- Spin
Type - The values of the GtkSpinType enumeration are used to specify the change to make in gtk_spin_button_spin().
- Stack
Transition Type - Possible transitions between pages in a
Stackwidget. - String
Filter Match Mode - Specifies how search strings are matched inside text.
- Symbolic
Color v4_6 - The indexes of colors passed to symbolic color rendering, such as
vfunc::Gtk::SymbolicPaintable::snapshot_symbolic. - System
Setting - Values that can be passed to the
WidgetImpl::system_setting_changed()vfunc. - Text
Direction - Reading directions for text.
- Text
Extend Selection - Granularity types that extend the text selection. Use the
GtkTextView::extend-selectionsignal to customize the selection. - Text
View Layer - Used to reference the layers of
TextViewfor the purpose of customized drawing with the ::snapshot_layer vfunc. - Text
Window Type - Used to reference the parts of
TextView. - Tree
View Column Sizing - The sizing method the column uses to determine its width. Please note
that
Autosizeare inefficient for large views, and can make columns appear choppy. - Tree
View Drop Position - An enum for determining where a dropped row goes.
- Tree
View Grid Lines - Used to indicate which grid lines to draw in a tree view.
- Unit
- See also gtk_print_settings_set_paper_width().
- Wrap
Mode - 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
StyleProviderfor 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_ BACKGROUND v4_14 - An attribute for the background color, expressed as an RGB value
encoded in a string using the format:
{r8},{g8},{b8}. - ACCESSIBLE_
ATTRIBUTE_ FAMILY v4_14 - An attribute for the font family name.
- ACCESSIBLE_
ATTRIBUTE_ FOREGROUND v4_14 - An attribute for the foreground color, expressed as an RGB value
encoded in a string using the format:
{r8},{g8},{b8}. - ACCESSIBLE_
ATTRIBUTE_ OVERLINE v4_14 - An attribute for the overline style.
- ACCESSIBLE_
ATTRIBUTE_ OVERLINE_ NONE v4_14 - The “none” overline value for
Gtk::ACCESSIBLE_ATTRIBUTE_OVERLINE. - ACCESSIBLE_
ATTRIBUTE_ OVERLINE_ SINGLE v4_14 - The “single” overline value for
Gtk::ACCESSIBLE_ATTRIBUTE_OVERLINE. - ACCESSIBLE_
ATTRIBUTE_ SIZE v4_14 - An attribute for the font size, expressed in points.
- ACCESSIBLE_
ATTRIBUTE_ STRETCH v4_14 - An attribute for the font stretch type.
- ACCESSIBLE_
ATTRIBUTE_ STRETCH_ CONDENSED v4_14 - The “condensed” stretch value for
Gtk::ACCESSIBLE_ATTRIBUTE_STRETCH. - ACCESSIBLE_
ATTRIBUTE_ STRETCH_ EXPANDED v4_14 - The “expanded” stretch value for
Gtk::ACCESSIBLE_ATTRIBUTE_STRETCH. - ACCESSIBLE_
ATTRIBUTE_ STRETCH_ EXTRA_ CONDENSED v4_14 - The “extra condensed” stretch value for
Gtk::ACCESSIBLE_ATTRIBUTE_STRETCH. - ACCESSIBLE_
ATTRIBUTE_ STRETCH_ EXTRA_ EXPANDED v4_14 - The “extra expanded” stretch value for
Gtk::ACCESSIBLE_ATTRIBUTE_STRETCH. - ACCESSIBLE_
ATTRIBUTE_ STRETCH_ NORMAL v4_14 - The “normal” stretch value for
Gtk::ACCESSIBLE_ATTRIBUTE_STRETCH. - ACCESSIBLE_
ATTRIBUTE_ STRETCH_ SEMI_ CONDENSED v4_14 - The “semi condensed” stretch value for
Gtk::ACCESSIBLE_ATTRIBUTE_STRETCH. - ACCESSIBLE_
ATTRIBUTE_ STRETCH_ SEMI_ EXPANDED v4_14 - The “semi expanded” stretch value for
Gtk::ACCESSIBLE_ATTRIBUTE_STRETCH. - ACCESSIBLE_
ATTRIBUTE_ STRETCH_ ULTRA_ CONDENSED v4_14 - The “ultra condensed” stretch value for
Gtk::ACCESSIBLE_ATTRIBUTE_STRETCH. - ACCESSIBLE_
ATTRIBUTE_ STRETCH_ ULTRA_ EXPANDED v4_14 - The “ultra expanded” stretch value for
Gtk::ACCESSIBLE_ATTRIBUTE_STRETCH. - ACCESSIBLE_
ATTRIBUTE_ STRIKETHROUGH v4_14 - An attribute for strikethrough text.
- ACCESSIBLE_
ATTRIBUTE_ STYLE v4_14 - An attribute for the font style.
- ACCESSIBLE_
ATTRIBUTE_ STYLE_ ITALIC v4_14 - The “italic” style value for
Gtk::ACCESSIBLE_ATTRIBUTE_STYLE. - ACCESSIBLE_
ATTRIBUTE_ STYLE_ NORMAL v4_14 - The “normal” style value for
Gtk::ACCESSIBLE_ATTRIBUTE_STYLE. - ACCESSIBLE_
ATTRIBUTE_ STYLE_ OBLIQUE v4_14 - The “oblique” style value for
Gtk::ACCESSIBLE_ATTRIBUTE_STYLE. - ACCESSIBLE_
ATTRIBUTE_ UNDERLINE v4_14 - An attribute for the underline style.
- ACCESSIBLE_
ATTRIBUTE_ UNDERLINE_ DOUBLE v4_14 - The “double” underline value for
Gtk::ACCESSIBLE_ATTRIBUTE_UNDERLINE. - ACCESSIBLE_
ATTRIBUTE_ UNDERLINE_ ERROR v4_14 - The “error” underline value for
Gtk::ACCESSIBLE_ATTRIBUTE_UNDERLINE. - ACCESSIBLE_
ATTRIBUTE_ UNDERLINE_ NONE v4_14 - The “none” underline value for
Gtk::ACCESSIBLE_ATTRIBUTE_UNDERLINE. - ACCESSIBLE_
ATTRIBUTE_ UNDERLINE_ SINGLE v4_14 - The “single” underline value for
Gtk::ACCESSIBLE_ATTRIBUTE_UNDERLINE. - ACCESSIBLE_
ATTRIBUTE_ VARIANT v4_14 - An attribute for the font variant.
- ACCESSIBLE_
ATTRIBUTE_ VARIANT_ ALL_ PETITE_ CAPS v4_14 - The “all petite caps” variant value for
Gtk::ACCESSIBLE_ATTRIBUTE_VARIANT. - ACCESSIBLE_
ATTRIBUTE_ VARIANT_ ALL_ SMALL_ CAPS v4_14 - The “all small caps” variant value for
Gtk::ACCESSIBLE_ATTRIBUTE_VARIANT. - ACCESSIBLE_
ATTRIBUTE_ VARIANT_ PETITE_ CAPS v4_14 - The “petite caps” variant value for
Gtk::ACCESSIBLE_ATTRIBUTE_VARIANT. - ACCESSIBLE_
ATTRIBUTE_ VARIANT_ SMALL_ CAPS v4_14 - The “small caps” variant value for
Gtk::ACCESSIBLE_ATTRIBUTE_VARIANT. - ACCESSIBLE_
ATTRIBUTE_ VARIANT_ TITLE_ CAPS v4_14 - The “title caps” variant value for
Gtk::ACCESSIBLE_ATTRIBUTE_VARIANT. - ACCESSIBLE_
ATTRIBUTE_ VARIANT_ UNICASE v4_14 - The “unicase” variant value for
Gtk::ACCESSIBLE_ATTRIBUTE_VARIANT. - ACCESSIBLE_
ATTRIBUTE_ WEIGHT v4_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::Languagefor the default language currently in effect. - disable_
portals v4_18 - Prevents GTK from using portals.
- disable_
setlocale - Prevents
init()andinit_check()from automatically callingsetlocale (LC_ALL, ""). - enumerate_
printers Linux - 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
trueif GTK has been initialized. - is_
initialized_ main_ thread - Returns
trueif 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
PageSetupis 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_
activity Deprecated - Renders an activity indicator (such as in
Spinner). The stateStateFlags::CHECKEDdetermines whether there is activity going on. - render_
arrow Deprecated - Renders an arrow pointing to @angle.
- render_
background Deprecated - Renders the background of an element.
- render_
check Deprecated - Renders a checkmark (as in a
CheckButton). - render_
expander Deprecated - Renders an expander (as used in
TreeViewandExpander) in the area defined by @x, @y, @width, @height. The stateStateFlags::CHECKEDdetermines whether the expander is collapsed or expanded. - render_
focus Deprecated - Renders a focus indicator on the rectangle determined by @x, @y, @width, @height.
- render_
frame Deprecated - Renders a frame around the rectangle defined by @x, @y, @width, @height.
- render_
handle Deprecated - Renders a handle (as in
PanedandWindow’s resize grip), in the rectangle determined by @x, @y, @width, @height. - render_
icon Deprecated - Renders the icon in @texture at the specified @x and @y coordinates.
- render_
layout Deprecated - Renders @layout on the coordinates @x, @y
- render_
line Deprecated - Renders a line from (x0, y0) to (x1, y1).
- render_
option Deprecated - Renders an option mark (as in a radio button), the
StateFlags::CHECKEDstate will determine whether the option is on or off, andStateFlags::INCONSISTENTwhether 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_
uri Deprecated - This function launches the default application for showing a given uri, or shows an error dialog if that fails.
- show_
uri_ full Deprecated - This function launches the default application for showing a given uri.
- show_
uri_ full_ future Deprecated - 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
Accessiblehas @property set. - test_
accessible_ has_ relation - Checks whether the
Accessiblehas @relation set. - test_
accessible_ has_ role - Checks whether the
GtkAccessible:accessible-roleof the accessible is @role. - test_
accessible_ has_ state - Checks whether the
Accessiblehas @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_ content Deprecated - Creates a content provider for dragging @path from @tree_model.
- tree_
get_ row_ drag_ data Deprecated - Obtains a @tree_model and @path from value of target type
GTK_TYPE_TREE_ROW_DATA.