Flickable Wrapped TextEdit: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
[[Category:HowTo]] | [[Category:HowTo]] | ||
[[Category:Learning]] | |||
[[Category:Developing_with_Qt::Qt Quick]] | |||
= Flickable Wrapped TextEdit = | = Flickable Wrapped TextEdit = | ||
Line 5: | Line 7: | ||
A method of having a Flickable TextEdit with wrapped text within another Item. | A method of having a Flickable TextEdit with wrapped text within another Item. | ||
<code> | <code> | ||
import QtQuick 1.0 | |||
FocusScope { | 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: "#23896363" | |||
Flickable { | |||
id: flick | |||
width: parent.width - 10; height: parent.height; | |||
clip: true | |||
function ensureVisible® | |||
{ | |||
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 | |||
} | |||
} | |||
} | |||
} | |||
</code> | |||
Related forum thread: http://developer.qt.nokia.com/forums/viewthread/1956/ | Related forum thread: http://developer.qt.nokia.com/forums/viewthread/1956/ |
Revision as of 10:35, 25 February 2015
Flickable Wrapped TextEdit
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: "#23896363"
Flickable {
id: flick
width: parent.width - 10; height: parent.height;
clip: true
function ensureVisible®
{
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
}
}
}
}
Related forum thread: http://developer.qt.nokia.com/forums/viewthread/1956/