Flickable Wrapped TextEdit

From Qt Wiki
Revision as of 15:16, 22 February 2019 by IAmNobody (talk | contribs) (Corrected minor mistake: function ensureVisible lacked parameter (r) which is invalid)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

En Ar Bg De El Es Fa Fi Fr Hi Hu It Ja Kn Ko Ms Nl Pl Pt Ru Sq Th Tr Uk Zh

A method of having a Flickable TextEdit with wrapped text within another Item.

import QtQuick 1.0

FocusScope {

   width: 200
   height: 200
   
   Rectangle {
       property int margins: 20
       x: margins
       y: margins
       width: parent.width - margins*2
       height: parent.height - margins*2
       border.color: "black"
       border.width: 2
       radius: 10
       color: "pink"
       
       Flickable {
           id: flick
           width: parent.width - 10
           height: parent.height;
           clip: true
   
           function ensureVisible(r) {
               if (contentY >= r.y)
                   contentY = r.y;
               else if (contentY+height <= r.y+r.height)
                   contentY = r.y+r.height-height;
           }
           TextEdit {
               id: message
               x: 5
               width: parent.width
               height: parent.height
               wrapMode: "WrapAtWordBoundaryOrAnywhere"
               onCursorRectangleChanged: flick.ensureVisible(cursorRectangle)
               font.pixelSize: 16
           }
       }
   }

}