Qt wiki will be updated on October 12th 2023 starting at 11:30 AM (EEST) and the maintenance will last around 2-3 hours. During the maintenance the site will be unavailable.

Flickable Wrapped TextEdit

From Qt Wiki
Jump to navigation Jump to 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
            }
        }
    }
}