Basic.qml Example File

basic/Basic.qml
/**************************************************************************** ** ** Copyright (C) 2018 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:GPL$ ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the ** Software or, alternatively, in accordance with the terms contained in ** a written agreement between you and The Qt Company. For licensing terms ** and conditions see https://www.qt.io/terms-conditions. For further ** information use the contact form at https://www.qt.io/contact-us. ** ** GNU General Public License Usage ** Alternatively, this file may be used under the terms of the GNU ** General Public License version 3 or (at your option) any later version ** approved by the KDE Free Qt Foundation. The licenses are as published by ** the Free Software Foundation and appearing in the file LICENSE.GPL3 ** included in the packaging of this file. Please review the following ** information to ensure the GNU General Public License requirements will ** be met: https://www.gnu.org/licenses/gpl-3.0.html. ** ** $QT_END_LICENSE$ ** ****************************************************************************/
import QtQuick 2.10 import QtQuick.Controls 2.3 import QtQuick.VirtualKeyboard 2.1 import "content" Rectangle { width: 1280 height: 720 color: "#F6F6F6" // Only set with CONFIG+=disable-desktop. property bool handwritingInputPanelActive: false Flickable { id: flickable anchors.fill: parent contentWidth: content.width contentHeight: content.height interactive: contentHeight > height flickableDirection: Flickable.VerticalFlick property real scrollMarginVertical: 20 ScrollBar.vertical: ScrollBar {} MouseArea { id: content width: flickable.width height: textEditors.height + 24 onClicked: focus = true Column { id: textEditors spacing: 15 x: 12 y: 12 width: parent.width - 26 Label { color: "#565758" text: "Tap fields to enter text" anchors.horizontalCenter: parent.horizontalCenter font.pixelSize: 22 } TextField { width: parent.width placeholderText: "One line field" enterKeyAction: EnterKeyAction.Next onAccepted: passwordField.focus = true } TextField { id: passwordField width: parent.width echoMode: TextInput.Password placeholderText: "Password field" inputMethodHints: Qt.ImhNoAutoUppercase | Qt.ImhPreferLowercase | Qt.ImhSensitiveData | Qt.ImhNoPredictiveText enterKeyAction: EnterKeyAction.Next onAccepted: upperCaseField.focus = true } TextField { id: upperCaseField width: parent.width placeholderText: "Upper case field" inputMethodHints: Qt.ImhUppercaseOnly enterKeyAction: EnterKeyAction.Next onAccepted: lowerCaseField.focus = true } TextField { id: lowerCaseField width: parent.width placeholderText: "Lower case field" inputMethodHints: Qt.ImhLowercaseOnly enterKeyAction: EnterKeyAction.Next onAccepted: phoneNumberField.focus = true } TextField { id: phoneNumberField validator: RegExpValidator { regExp: /^[0-9\+\-\#\*\ ]{6,}$/ } width: parent.width placeholderText: "Phone number field" inputMethodHints: Qt.ImhDialableCharactersOnly enterKeyAction: EnterKeyAction.Next onAccepted: formattedNumberField.focus = true } TextField { id: formattedNumberField width: parent.width placeholderText: "Formatted number field" inputMethodHints: Qt.ImhFormattedNumbersOnly enterKeyAction: EnterKeyAction.Next onAccepted: digitsField.focus = true } TextField { id: digitsField width: parent.width placeholderText: "Digits only field" inputMethodHints: Qt.ImhDigitsOnly enterKeyAction: EnterKeyAction.Next onAccepted: textArea.focus = true } TextArea { id: textArea width: parent.width placeholderText: "Multiple line field" height: Math.max(206, implicitHeight) } } } } // Hide the text fields' cursors when fullscreen handwriting is active. MouseArea { anchors.fill: parent visible: handwritingInputPanelActive } }

© 2021 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.