最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Qt QML使用虛擬鍵盤的示例代碼

 更新時(shí)間:2024年01月04日 10:36:38   作者:信必諾  
這篇文章主要為大家詳細(xì)介紹了Qt QML使用虛擬鍵盤的相關(guān)知識,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

示例效果

使用"虛擬鍵盤"注意 (例子的Qt版本:5.12.4)

注意一:

/* 必須在main.cpp開始處加入如下代碼,否則無法使用"虛擬鍵盤" */
qputenv(“QT_IM_MODULE”,QByteArray(“qtvirtualkeyboard”));

注意二:

鍵盤大小是根據(jù)寬度自動(dòng)計(jì)算的,所以,應(yīng)用程序應(yīng)該只設(shè)置InputPanel 的寬度和y 坐標(biāo),不能設(shè)置高度。

源碼

main.cpp

#include <QGuiApplication>
#include <QQmlApplicationEngine>

int main(int argc, char *argv[])
{
    QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);

    // 必須加入否則無法使用"虛擬鍵盤"
    qputenv("QT_IM_MODULE",QByteArray("qtvirtualkeyboard"));

    QGuiApplication app(argc, argv);

    QQmlApplicationEngine engine;
    const QUrl url(QStringLiteral("qrc:/main.qml"));
    QObject::connect(&engine, &QQmlApplicationEngine::objectCreated,
                     &app, [url](QObject *obj, const QUrl &objUrl) {
        if (!obj && url == objUrl)
            QCoreApplication::exit(-1);
    }, Qt::QueuedConnection);
    engine.load(url);

    return app.exec();
}

main.qml

import QtQuick 2.12
import QtQuick.Window 2.12
import QtQuick.Layouts 1.12
import QtQuick.Controls 2.5

import QtQuick.VirtualKeyboard 2.2
import QtQuick.VirtualKeyboard.Settings 2.2

Window
{
    id: root
    visible: true
    width: 800
    height: 600
    title: qsTr("Hello World")

    ColumnLayout
    {
        anchors.top: parent.top
        anchors.topMargin: root.height * 0.2
        anchors.horizontalCenter: parent.horizontalCenter
        spacing: 25

        RowLayout
        {
            spacing: 25

            Text
            {
                text: qsTr("用戶名:")
                font.family: "微軟雅黑"
                font.pixelSize: 20
            }
            TextField
            {
                placeholderText: "輸入用戶名.."
                font.family: "微軟雅黑"
                font.pixelSize: 16
                Layout.preferredWidth: root.width * 0.25

                background: Rectangle
                {
                    radius: 4
                    border.color: parent.focus  ? "#498ff8" : "#C4DBFC"
                }
            }
        }

        RowLayout
        {
            spacing: 25

            Text
            {
                text: qsTr("密   碼:")
                font.family: "微軟雅黑"
                font.pixelSize: 20
            }
            TextField
            {
                placeholderText: "輸入密碼.."
                font.family: "微軟雅黑"
                font.pixelSize: 16
                Layout.preferredWidth: root.width * 0.25

                background: Rectangle
                {
                    radius: 4
                    border.color: parent.focus  ? "#498ff8" : "#C4DBFC"
                }
            }
        }
    }

    InputPanel
    {
        id: inputPannelID
        z: 99
        y: root.height      // 默認(rèn)讓其處于窗口最下方,貌似隱藏一樣
        width: root.width
        visible: true       // 一直顯示

        states: State 
        {
            name: "visible"
            when: inputPannelID.active
            PropertyChanges 
            {
                target: inputPannelID
                y: root.height-inputPannelID.height
            }
        }
        transitions: Transition 
        {
            from: ""
            to: "visible"
            reversible: true
            ParallelAnimation 
            {
                NumberAnimation 
                {
                    properties: "y"
                    duration: 250
                    easing.type: Easing.InOutQuad
                }
            }
        }


        Component.onCompleted:
        {
            VirtualKeyboardSettings.styleName = "retro"                         // 復(fù)古樣式
            VirtualKeyboardSettings.wordCandidateList.alwaysVisible = true
            VirtualKeyboardSettings.activeLocales = ["en_US","zh_CN","ja_JP"]   // 英語、中文、日語 (若不設(shè)置,則語言就有很多種)
        }
    }
}

以上就是Qt QML使用虛擬鍵盤的示例代碼的詳細(xì)內(nèi)容,更多關(guān)于Qt QML虛擬鍵盤的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • C語言函數(shù)調(diào)用底層實(shí)現(xiàn)原理分析

    C語言函數(shù)調(diào)用底層實(shí)現(xiàn)原理分析

    這篇文章主要介紹了C語言函數(shù)調(diào)用底層實(shí)現(xiàn)原理,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • 深入分析C語言分解質(zhì)因數(shù)的實(shí)現(xiàn)方法

    深入分析C語言分解質(zhì)因數(shù)的實(shí)現(xiàn)方法

    這篇文章主要介紹了深入分析C語言分解質(zhì)因數(shù)的實(shí)現(xiàn)方法,作者結(jié)合了ACM題目作為相關(guān)拓展,需要的朋友可以參考下
    2015-08-08
  • C語言學(xué)習(xí)之柔性數(shù)組詳解

    C語言學(xué)習(xí)之柔性數(shù)組詳解

    結(jié)構(gòu)體的最后一個(gè)元素允許是未知大小的數(shù)組,這就叫柔性數(shù)組。這篇文中主要為大家詳細(xì)介紹了C語言中柔性數(shù)組的相關(guān)知識,需要的可以了解一下
    2023-03-03
  • C++代碼實(shí)現(xiàn)逆波蘭表達(dá)式

    C++代碼實(shí)現(xiàn)逆波蘭表達(dá)式

    這篇文章主要為大家詳細(xì)介紹了C++代碼實(shí)現(xiàn)逆波蘭表達(dá)式,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • C++異步調(diào)用方法詳解

    C++異步調(diào)用方法詳解

    這篇文章主要介紹了C++異步調(diào)用方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-05-05
  • openCV實(shí)現(xiàn)圖像分割

    openCV實(shí)現(xiàn)圖像分割

    這篇文章主要為大家詳細(xì)介紹了openCV實(shí)現(xiàn)圖像分割,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • C語言數(shù)據(jù)結(jié)構(gòu)中樹與森林專項(xiàng)詳解

    C語言數(shù)據(jù)結(jié)構(gòu)中樹與森林專項(xiàng)詳解

    這篇文章主要介紹了C語言數(shù)據(jù)結(jié)構(gòu)中樹與森林,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2022-11-11
  • C++ I/O文件讀寫操作的示例代碼

    C++ I/O文件讀寫操作的示例代碼

    這篇文章主要介紹了C++ I/O文件讀寫操作的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • C++的異常處理詳解

    C++的異常處理詳解

    文章主要介紹了C++異常處理的概念、使用方法及優(yōu)缺點(diǎn),文章還討論了異常的規(guī)范使用,包括自定義異常體系和C++標(biāo)準(zhǔn)庫的異常體系,并強(qiáng)調(diào)了異常在現(xiàn)代編程中的重要性,感興趣的朋友跟隨小編一起看看吧
    2026-05-05
  • C++使用expected實(shí)現(xiàn)優(yōu)雅的錯(cuò)誤處理

    C++使用expected實(shí)現(xiàn)優(yōu)雅的錯(cuò)誤處理

    C++ 中提供了很多中方式進(jìn)行錯(cuò)誤處理。無論是通過拋異常還是通過錯(cuò)誤碼,標(biāo)準(zhǔn)庫都提供相應(yīng)的調(diào)用,今天本文為大家介紹的是使用expected進(jìn)行錯(cuò)誤處理,感興趣的可以了解一下
    2023-06-06

最新評論

特克斯县| 武鸣县| 桦南县| 沙河市| 通渭县| 阜宁县| 禹州市| 镇坪县| 股票| 肇州县| 克东县| 肥城市| 平南县| 顺昌县| 外汇| 团风县| 应用必备| 凤山县| 石台县| 改则县| 临沂市| 汨罗市| 韶山市| 烟台市| 河北省| 高雄县| 东港市| 天全县| 凌海市| 长乐市| 昌黎县| 昌邑市| 建昌县| 永新县| 大田县| 东兰县| 凌海市| 义马市| 藁城市| 新野县| 磐石市|