首页 文章

如何为纵向应用程序配置QT VirtualKeyboard

提问于
浏览
0

我正在创建一个分辨率为480 x 854的QT5.7.1 Qml应用程序 . 我想使用QTVirtualKeyboard组件进行文本输入 . 我添加了键盘并且它正常运行,例如文本字段随输入更新 .

我的问题是键盘的大小非常小 . 它占据整个宽度,但仅使用大约5的高度 .

我知道我无法手动设置高度,因为它是由QT计算的 . 我的问题是,如何配置VirtualKeyboard以使基于肖像的应用程序看起来正确 .

谢谢 .

1 回答

  • 1

    我通过为QTVirtualKeyboard插件创建自己的布局和样式解决了这个问题 .

    具体来说,我在style.qml文件中设置了设计高度和宽度,并更改了一些关键设置,以删除我不需要布局的键 .

    然后我重建了QTVirtualkeyboard插件,然后将我的测试应用程序与新创建的dll链接起来 .

    这解决了我的问题 .

    我复制了QT附带的默认style.qml(通常在QT \ Src \ qtvirtualkeyboard \ content \ styles \ default中找到)

    然后我做了以下修改:

    readonly property int defaultKeyFontSize: 28
    readonly property real keyBackgroundMargin: Math.round(3 * scaleHint)
    readonly property real keyContentMargin: Math.round(10 * scaleHint)
    readonly property real keyIconScale: scaleHint * 0.2
    
    keyboardDesignWidth: 480
    keyboardDesignHeight: 360
    keyboardRelativeLeftMargin: 8 / keyboardDesignWidth
    keyboardRelativeRightMargin: 8 / keyboardDesignWidth
    keyboardRelativeTopMargin: 8 / keyboardDesignHeight
    keyboardRelativeBottomMargin: 8 / keyboardDesignHeight`
    

    我将任何键字体大小值的pixelSize设置为defaultKeyFontSize;

    在此之后,只需根据您的特定要求设计键盘样式即可 .

相关问题