- Qt 6.8
- Qt Virtual Keyboard
- QML Types
- QtQuick.VirtualKeyboard.Components
- KeyboardLayoutLoader
- Qt Virtual Keyboard | Commercial or GPLv3

# KeyboardLayoutLoader QML Type

Allows dynamic loading of keyboard layout. More...

Import Statement: | import QtQuick.VirtualKeyboard.Components
Since: | QtQuick.VirtualKeyboard 1.1
Inherits: | Loader

- List of all members, including inherited members

## Properties

- inputMethod : var
- inputMode : int
- sharedLayouts : var

## Methods

- createInputMethod()

## Detailed Description

This type is useful for keyboard layouts consisting of multiple pages of keys.

A single keyboard layout (a page) is defined by using the Component as a container. The active keyboard layout can then be changed by setting the sourceComponent property to a different value.

Example:

     import QtQuick
     import QtQuick.Layouts
     import QtQuick.VirtualKeyboard

     // file: layouts/en_GB/symbols.qml

     KeyboardLayoutLoader {
         property bool secondPage
         onVisibleChanged: if (!visible) secondPage = false
         sourceComponent: secondPage ? page2 : page1
         Component {
             id: page1
             KeyboardLayout {
                 // Keyboard layout definition for page 1
             }
         }
         Component {
             id: page2
             KeyboardLayout {
                 // Keyboard layout definition for page 2
             }
         }
     }

## Property Documentation

inputMethod : var

Sets the input method for all the keyboard layouts loaded in this context.

The input method can either be set separately for each keyboard layout, or commonly at this context. If set separately, then this property should not be modified.

inputMode : int

Sets the input mode for all the keyboard layouts loaded in this context.

The input mode can either be set separately for each keyboard layout, or commonly at this context. If set separately, then this property should not be modified.

sharedLayouts : var

List of layout names which share the input method created by the createInputMethod() function.

If the list is empty (the default) the input method is not shared with any other layout and will be destroyed when the layout changes.

The list should contain only the name of the layout type, e.g., ['symbols']. The current layout does not have to be included in the list.

## Method Documentation

createInputMethod()

This function may be overridden by the keyboard layout to create the input method object dynamically. The default implementation forwards the call to the child keyboard layout.

The input method object created by this function can outlive keyboard layout transitions in certain cases. In particular, this applies to the transitions between the layouts listed in the sharedLayouts property.