要检查平板电脑模式,您可以使用bool QWindowsWindowFunctions::isTabletMode()
Qt 5.9 中引入的静态功能。要在表格模式下启用虚拟键盘并在桌面模式下禁用,您可以定期在计时器中检查它并InputPanel
分别显示/隐藏:
InputPanel {
id: inputPanel
property bool enableKeyboard: false
...
states: State {
name: "visible"
when: enableKeyboard && inputPanel.active
PropertyChanges {
target: inputPanel
y: appContainer.height - inputPanel.height
}
}
...
}
enableKeyboard
属性被定义为激活/停用键盘,它应该使用类似的定期更新Timer
:
Timer {
onTriggered: enableKeyboard = utils.isTabletMode()
running: true
repeat: true
interval: 1000
}
您应该在基础类中定义isTabletMode
函数,例如:QObject
#include <QtPlatformHeaders/QWindowsWindowFunctions>
...
Q_INVOKABLE bool isTabletMode() {
return QWindowsWindowFunctions::isTabletMode();
}
不要忘记通过以下方式将您的课程公开给 qml:
qmlengine->rootContext()->setContextProperty("utils", pointerToMyClass);