我正在创建一个分辨率为480x854的QT5.7.1QML应用程序。我想使用QTVirtualKeyboard组件进行文本输入。我已经添加了键盘,它可以正常工作,例如文本字段会随着输入的更新而更新。
我的问题是键盘的尺寸非常小。它占据了整个宽度,但只使用了高度的五分之一。
我知道我不能手动设置高度,因为它是由QT计算的。我的问题是,对于基于肖像的应用程序,我如何配置VirtualKeyboard以使其看起来正确。
谢谢。
发布于 2018-06-04 15:49:16
我为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;
在此之后,只需根据您的特定要求设置键盘的样式即可。
https://stackoverflow.com/questions/50627007
复制相似问题