2017-09-01 3 views
1

Es gibt eine TextArea und ich habe gesetzt activeFocusOnPress porperty zu false zu blockieren virtuelle Tastatur Pop-up, aber wenn Benutzer auf die TextArea die Cursorposition sollte sich bewegen. Um dies zu erreichen, dachte ich, Mausbereich wäre eine gute Option. Folgendes ist der Code:Bewegen TextArea Cursor auf MouseArea klicken in QML

TextArea{ 
    id:textArea 
    text:"ABCDEFGHIJKLMNOPQRSTUVWXYZ"  
    width:100 
    height: 200 
    color: "white" 
    cursorVisible: true 
    activeFocusOnPress: false //To Block virtual Keyboard popup 

    background: Rectangle{ 
     color:"transparent" 
     border.color : "white" 
     border.width:2 
     MouseArea{ 
      id:mousearea 
      anchors.fill:parent 
      onClicked: { 

       //*** How to set cursor position??      
      } 
     } 
    } 
} 
+0

Versuchen Sie [selectByMouse] (http://doc.qt.io/qt-5/qml-qtquick-textedit.html#selectByMouse-prop) auf true, und lassen Sie die Mausbereich aus. – jpnurmi

Antwort

2

Wie wäre es damit?

textArea.cursorPosition = textArea.positionAt(mouseX, mouseY)