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

时间:2018-05-31 14:44:49

标签: qt qml

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

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

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

感谢。

1 个答案:

答案 0 :(得分: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;

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