nvc*_*nvn 17 qt event-handling qml qt-quick
我有一个桌面的QtQuick项目.这很简单:
// import QtQuick 1.0 // to target S60 5th Edition or Maemo 5
import QtQuick 1.1
Rectangle {
width: 360
height: 360
Grid
{
id: xGrid
width: parent.width
height: parent.height
columns: 2
spacing: 1
Rectangle
{
height: parent.height
width: 10
color: "#ff0000"
Text {
id: xText
text: qsTr("t\na\ns")
}
}
TextEdit
{
id: xTextEdit
height: parent.height
width: 350
Keys.onEnterPressed: {
console.log(event.key)
xText.text = (qsTr("A"))
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的代码没有像我想的那样运行.在Keys.onEnterPressed似乎从来没有被捕获,所以我尝试Keys.onPressed它的工作,但不知道为什么,当我按下Enter,则even.key返回16777220.
有谁得到这个问题?我该如何解决?
感谢您的回答!
小智 18
我对一个TextInput项目有同样的问题.我试过了
onPressedonEnterPressedonReturnPressed只有后一个工作(onReturnPressed).我想,TextInput捕获"Enter"键的底层实现使得它不会被onPressed常规方式的信号处理.
顺便说一下:关键代码是正确的.它是平台特定密钥代码的抽象.
处理用户输入文本值的更好方法是使用 TextInput.onAccepted
下面是一个例子:
TextInput {
onAccepted: processText()
}
Run Code Online (Sandbox Code Playgroud)
当用户按下 Enter 键时,将调用 processText() 方法。这种方法更简单,应该可以提高跨平台的可移植性。
| 归档时间: |
|
| 查看次数: |
15328 次 |
| 最近记录: |