要從Documentation
鍵盤尺寸被自動地從可用寬度計算報價;也就是說,鍵盤保持當前樣式指定的寬高比。因此,應用程序應該只設置InputPanel的寬度和y座標,而不是高度。
所以如果你想有一個特定的高度,你需要相應地設置寬度。
什麼是直接控制虛擬鍵盤寬度和大小的正確方法?
例如,
InputPanel {
anchors.fill: parent
anchors.leftMargin: 100
anchors.rightMargin: 100
}
例如,
InputPanel {
anchors.horizontalCenter: parent.horizontalCenter
anchors.bottom: parent.bottom
width: 30
}
那麼keyboardDesignHeight/Width
的處理是什麼?嗯,這似乎是鍵盤的尺寸,當它是不需要它的規模:
scaleHint:真正
鍵盤風格的規模提示。該值由keyboardHeight
除以keyboardDesignHeight
確定。所有像素尺寸必須與此值成比例。
此屬性是隻讀!
所以設定那些不會禁用在寬度的依賴性的輸入面板的自動調整大小。
你也許可以用它們來計算一個比例,並從中設定寬度來達到你想要的高度。
也許這個例子可以幫助你理解這個屬性:
import QtQuick 2.6
import QtQuick.Window 2.0
import QtQuick.Controls 2.0
import QtQuick.VirtualKeyboard 2.0
ApplicationWindow {
id:appwindow
visible: true
width: 800
height: 600
title: qsTr("Test")
InputPanel {
id: ip
anchors.horizontalCenter: parent.horizontalCenter
anchors.bottom: parent.bottom
width: 800
Component.onCompleted: console.log(Object.keys(ip.keyboard.style).sort())
}
Slider {
id: sl
from: 0
to: 3000
}
Binding {
target: ip.keyboard.style
property: 'keyboardDesignHeight'
value: sl.value
}
}
感謝您的回答。具有很大的意義。所以,如果你想要一個方形鍵盤,你可以將它們設置爲相同的值。 – Luca