Entry
open class Entry : Widget, EntryProtocol
GtkEntry is a single line text entry widget.

A fairly large set of key bindings are supported by default. If the entered text is longer than the allocation of the widget, the widget will scroll so that the cursor position is visible.
When using an entry for passwords and other sensitive information, it
can be put into “password mode” using [methodGtk.Entry.set_visibility].
In this mode, entered text is displayed using a “invisible” character.
By default, GTK picks the best invisible character that is available
in the current font, but it can be changed with
[methodGtk.Entry.set_invisible_char].
GtkEntry has the ability to display progress or activity
information behind the text. To make an entry display such information,
use [methodGtk.Entry.set_progress_fraction] or
[methodGtk.Entry.set_progress_pulse_step].
Additionally, GtkEntry can show icons at either side of the entry.
These icons can be activatable by clicking, can be set up as drag source
and can have tooltips. To add an icon, use
[methodGtk.Entry.set_icon_from_gicon] or one of the various other functions
that set an icon from an icon name or a paintable. To trigger an action when
the user clicks an icon, connect to the [signalGtk.Entry::icon-press] signal.
To allow DND operations from an icon, use
[methodGtk.Entry.set_icon_drag_source]. To set a tooltip on an icon, use
[methodGtk.Entry.set_icon_tooltip_text] or the corresponding function
for markup.
Note that functionality or information that is only available by clicking on an icon in an entry may not be accessible at all to users which are not able to use a mouse or other pointing device. It is therefore recommended that any such functionality should also be available by other means, e.g. via the context menu of the entry.
CSS nodes
entry[.flat][.warning][.error]
├── text[.readonly]
├── image.left
├── image.right
╰── [progress[.pulse]]
GtkEntry has a main node with the name entry. Depending on the properties
of the entry, the style classes .read-only and .flat may appear. The style
classes .warning and .error may also be used with entries.
When the entry shows icons, it adds subnodes with the name image and the style class .left or .right, depending on where the icon appears.
When the entry shows progress, it adds a subnode with the name progress. The node has the style class .pulse when the shown progress is pulsing.
For all the subnodes added to the text node in various situations,
see [classGtk.Text].
GtkEntry as GtkBuildable
The GtkEntry implementation of the GtkBuildable interface supports a
custom <attributes> element, which supports any number of <attribute>
elements. The <attribute> element has attributes named “name“, “value“,
“start“ and “end“ and allows you to specify PangoAttribute values for
this label.
An example of a UI definition fragment specifying Pango attributes:
<object class="GtkEntry">
<attributes>
<attribute name="weight" value="PANGO_WEIGHT_BOLD"/>
<attribute name="background" value="red" start="5" end="10"/>
</attributes>
</object>
The start and end attributes specify the range of characters to which the Pango attribute applies. If start and end are not specified, the attribute is applied to the whole text. Note that specifying ranges does not make much sense with translatable attributes. Use markup embedded in the translatable content instead.
Accessibility
GtkEntry uses the GTK_ACCESSIBLE_ROLE_TEXT_BOX role.
The Entry type acts as a reference-counted owner of an underlying GtkEntry instance.
It provides the methods that can operate on this data type through EntryProtocol conformance.
Use Entry as a strong reference or owner of a GtkEntry instance.
-
Designated initialiser from the underlying `C` data type.This creates an instance without performing an unbalanced retain i.e., ownership is transferred to the
Entryinstance.Declaration
Swift
@inlinable public init(_ op: UnsafeMutablePointer<GtkEntry>)Parameters
oppointer to the underlying object
-
Designated initialiser from a constant pointer to the underlying
Cdata type. This creates an instance without performing an unbalanced retain i.e., ownership is transferred to theEntryinstance.Declaration
Swift
@inlinable public init(_ op: UnsafePointer<GtkEntry>)Parameters
oppointer to the underlying object
-
Optional initialiser from a non-mutating
gpointerto the underlyingCdata type. This creates an instance without performing an unbalanced retain i.e., ownership is transferred to theEntryinstance.Declaration
Swift
@inlinable override public init!(gpointer op: gpointer?)Parameters
opgpointer to the underlying object
-
Optional initialiser from a non-mutating
gconstpointerto the underlyingCdata type. This creates an instance without performing an unbalanced retain i.e., ownership is transferred to theEntryinstance.Declaration
Swift
@inlinable override public init!(gconstpointer op: gconstpointer?)Parameters
oppointer to the underlying object
-
Optional initialiser from a constant pointer to the underlying
Cdata type. This creates an instance without performing an unbalanced retain i.e., ownership is transferred to theEntryinstance.Declaration
Swift
@inlinable public init!(_ op: UnsafePointer<GtkEntry>?)Parameters
oppointer to the underlying object
-
Optional initialiser from the underlying
Cdata type. This creates an instance without performing an unbalanced retain i.e., ownership is transferred to theEntryinstance.Declaration
Swift
@inlinable public init!(_ op: UnsafeMutablePointer<GtkEntry>?)Parameters
oppointer to the underlying object
-
Designated initialiser from the underlying
Cdata type. Will retainGtkEntry. i.e., ownership is transferred to theEntryinstance.Declaration
Swift
@inlinable public init(retaining op: UnsafeMutablePointer<GtkEntry>)Parameters
oppointer to the underlying object
-
Reference intialiser for a related type that implements
EntryProtocolWill retainGtkEntry.Declaration
Swift
@inlinable public init<T>(entry other: T) where T : EntryProtocolParameters
otheran instance of a related type that implements
EntryProtocol -
Unsafe typed initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
EntryProtocol.Declaration
Swift
@inlinable override public init<T>(cPointer p: UnsafeMutablePointer<T>)Parameters
cPointerpointer to the underlying object
-
Unsafe typed, retaining initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
EntryProtocol.Declaration
Swift
@inlinable override public init<T>(retainingCPointer cPointer: UnsafeMutablePointer<T>)Parameters
cPointerpointer to the underlying object
-
Unsafe untyped initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
EntryProtocol.Declaration
Swift
@inlinable override public init(raw p: UnsafeRawPointer)Parameters
praw pointer to the underlying object
-
Unsafe untyped, retaining initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
EntryProtocol.Declaration
Swift
@inlinable override public init(retainingRaw raw: UnsafeRawPointer) -
Unsafe untyped initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
EntryProtocol.Declaration
Swift
@inlinable public required init(raw p: UnsafeMutableRawPointer)Parameters
pmutable raw pointer to the underlying object
-
Unsafe untyped, retaining initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
EntryProtocol.Declaration
Swift
@inlinable required public init(retainingRaw raw: UnsafeMutableRawPointer)Parameters
rawmutable raw pointer to the underlying object
-
Unsafe untyped initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
EntryProtocol.Declaration
Swift
@inlinable override public init(opaquePointer p: OpaquePointer)Parameters
popaque pointer to the underlying object
-
Unsafe untyped, retaining initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
EntryProtocol.Declaration
Swift
@inlinable override public init(retainingOpaquePointer p: OpaquePointer)Parameters
popaque pointer to the underlying object
-
Creates a new entry.
Declaration
Swift
@inlinable public init() -
Creates a new entry with the specified text buffer.
Declaration
Swift
@inlinable public init<EntryBufferT>(buffer: EntryBufferT) where EntryBufferT : EntryBufferProtocol -
Creates a new entry with the specified text buffer.
Declaration
Swift
@inlinable public static func newWith<EntryBufferT>(buffer: EntryBufferT) -> Widget! where EntryBufferT : EntryBufferProtocol
View on GitHub
Install in Dash
Entry Class Reference