QML之TextEdit
TextEdit显示一个可编辑的,有格式的文本框。它也可以显示明文和富文本。例如:
TextEdit {
width: 240
text: "<b>Hello</b> <i>World!</i>"
font.family: "Helvetica"
font.pointSize: 20
color: "blue"
focus: true
}
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPAAAAArCAIAAADJzpIpAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADxUlEQVR4nO2cbY6cMAyGQ9UbZc4EZ4IzhTOlPzI1xnbMx2S1mvA+QlUXgjHDgwec1Q455wBAL/z57QQAaAmEBl0BoUFX7IQeht9KA4A2oEKDroDQoCsgNOgKCA26AkKDroDQoCuk0MOwLSaHAw4xI3we1mdZ3sHX1di6ru+t02Tv/nq1z62k9HqdHT9NMsOS1bK0zOrbQYUOIRw4sa7v22CeWx60xIzx/virEZ7AU4R2rvq6bkKb9Zu2jmPLlD4UmlKF0JynCO1wWJ7LgLY2h4tCa31Rnk0eJ7SoweRr7XHiR8tzuCg0H/xDt9m301LodQ3TtL0/vV7Vd6zPw5rPBjcgLYorOqwY4GSlK3157SsfwrK8B5dDOPWVRvKweIA+S2aEsFtMagNSkrvTktJxhFrYcayGHUc7QxNKb56NlSlt/+fMs30KtaxiNIbNc45Rnl3ZJE4hpd1IWigCJW9mC3LOntCHCyFsjlFeGC7EeaEdm284rYUu8YuFpiLlLExNy9HLeaW0reTxaffy7zhuW4WgYvw8v+8xuqPEx1jWi8RAbiU0N0986Nq8k0KLm4Sufe0aH5+qEk5EED/y+k3Uanbe3x7ipIS4+ljm7vp8xeBL9/NDaCN0rWRy0c2jOCv5vk7Y8xdVuFXzjyQzy7NZWQuixtOPOkP9bWDePCIxnomTxsNp8AzNS6m4Hry6iEJ4KDR/aBFh+RHPf+0KoXVkPsB55q4dUWhK567RDwx+xdWZlA8HaP5+/lrJOwPORO66Xnsl52HFjvpl/yql8xDjLlSMW7TSW4hx1xejlQ6iT2y21e61LMR49DdMHtSH5o05v/ccKl1ex9GgdHccvSR0rWONDrRJgwrNSam66WpF4fVSFCSneJ+BzKsJRPXbFLqG0P280P4ki/5aQAfaoUGF1l+FfGkSVsxZ8B9vHKL4qsszhboxCbcs27kH19FLc4Q0kanLM4S24Q/U914KM3uBi3HX9tITCrUI/rtmaNG248mYL3ai7V2L4HQtRJLOUcQm/donckZD4yRthBaS6YkV3f09Y3nbiRUezfSj1jjXEcwpFb6L07VwplTKeppSMfs85YjoQNdoNvUtnK7ZXItQC9tq6puHqvXdzCkMgTk1rZNxbhvzi6X2iwO694c5Qp9mQuf/xYM/flAlO4zwedhDzNlpDtnj3yq8dprJOL9o4W8SYfP1jjUYMvvro8MQ8LdIwVfzoD40eAIQGnQFhAZdAaFBV0Bo0BUQGnQFhAZdsRMaTWjw7aBCg66A0KArIDToCggNuuIfk0Ft/KcBUTYAAAAASUVORK5CYII=" alt="" />
设置focus为真 来使得TextEdit接受键盘焦点。
注意:文本编辑框没有实现滚动操作,光标操作,以及其他的一些针对特定于感官等的行为。例如添加flickable 滚动去跟随光标:
Flickable {
id: flick width: 300; height: 200;
contentWidth: edit.paintedWidth
contentHeight: edit.paintedHeight
clip: true function ensureVisible(r)
{
if (contentX >= r.x)
contentX = r.x;
else if (contentX+width <= r.x+r.width)
contentX = r.x+r.width-width;
if (contentY >= r.y)
contentY = r.y;
else if (contentY+height <= r.y+r.height)
contentY = r.y+r.height-height;
} TextEdit {
id: edit
width: flick.width
height: flick.height
focus: true
wrapMode: TextEdit.Wrap
onCursorRectangleChanged: flick.ensureVisible(cursorRectangle)
}
}
一个特别的感官可能使用平滑的滚动(例如使用SmoothedAnimation),可能又一个可以看得见的滚动条,或者是一个淡出到显示位置的滚动条,等等。
剪贴板支持 可以提供cut(),copy(),paste()函数,selection可以依靠设置selectByMouse去在传统的鼠标机制中处理各类信息。通过设置起始位置与终止位置来实现完整的处理,或者用selectAll()或者selectWord();
你可以通过positionAt()和positionToREctangle()在光标位置和像素点之间进行转换。
具体详见 Text and TextInput.; 属性文档:
activeFocusOnPress : bool
TextEdit是否应该在鼠标下压时添加激活焦点事件。默认该设置为真。 baseUrl : url
这个属性制定了一个文本text中基本的被用来解决相关textURL。
默认值是QML实例化的TextEdit项目的url。 canPaste : bool
如果TextEdit是可写的并且剪贴板的内容是合适的去张贴到TextEdit中时,返回真。 canRedo : bool
如果TextEdit使可以编辑的并且这里确实可以允许重做操作时,返回真值。 canUndo : bool
如果TextEdit是可以编辑的并且拥有钱一个操作去允许被撤消操作时,返回真值。 color : color
文本颜色。
// green text using hexadecimal notation
TextEdit { color: "#00FF00" }
// steelblue text using SVG color name
TextEdit { color: "steelblue" } contentHeight : real
返回文本的高度,包括那些因为文本没有适合设置的高度而被覆盖了的高度值。 contentWidth : real
返回文本的宽度,包括那些过去由于不充分环绕,且wrapMode已经被设置好的,而覆盖的高度。 cursorDelegate : Component
编辑文本框中的光标代理。
如果为一个文本编辑框设置了cursorDelegate,这个代理将被用作绘制一个新光标来替代标准的光标。当需要一个光标时,委托的一个实例将被创建并且通过文本编辑器来进行管理,该代理的属性X和Y将被设置并作为当前字符左上角的一个像素。
注意:代理组件的根项目一定是一个QQuickItem 或者 QQuickItem 设备项目。 cursorPosition : int
光标在文本编辑的位置 cursorRectangle:rectangle
QML之TextEdit的更多相关文章
- Qt 5入门指南之Qt Quick编程示例
编程示例 使用Qt创建应用程序是十分简单的.考虑到你的使用习惯,我们编写了两套教程来实现两个相似的应用程序,但是使用了 不同的方法.在开始之前,请确保你已经下载了QtSDK的商业版本或者开源版本,并且 ...
- QML学习:Rectangle,Text,TextEdit,Flickable,Flipable元素
QML学习:Rectangle,Text,TextEdit,Flickable,Flipable元素 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 参 ...
- qml基础学习 基础概念
一.概括 学习qt已有2年多的时间,从qt4.7开始使用直到现在正在使用的qt5.6,基本都在windows机器上做开发.最近有意向看了下qt的qml部分,觉着还是挺不错的,毕竟可以做嵌入式移动端产品 ...
- QML学习笔记(五)— 做一个简单的待做事项列表
做一个简单的QML待做事项列表,能够动态添加和删除和编辑数据 GitHub:八至 作者:狐狸家的鱼 本文链接:QML学习笔记(五)— 做一个待做事项列表 主要用到QML:ListView 效果 全部代 ...
- QML 从入门到放弃 第二卷
第二卷如何更快速的放弃,注重的是C++和QML的交互 <1>记事本.. (1) 先测试下不在QML创建C++对象,仅仅在main.cpp添加一个属性函数供调用. 注意只使用槽函数来做到. ...
- QML 从入门到放弃
发现了一个问题: QQuickView only supports loading of root objects that derive from QQuickItem. If your examp ...
- QML C++插件dll引用
插件的创建非常简单,但是它可以复用,并且为不同的应用程序扩展类型.使用创建的插件是非常灵活的解决方案.关于插件一个很好的例子见QmlBook-In-Chinese 中最后一章介绍的例子. 本文主要备忘 ...
- QML常用控件
这里的控件是显示的元素 1.Item:一切的基类 Item { Image { source: "tile.png" } Image { x: width: height: sou ...
- QT之QML控件篇
QT quick中提供了很多的实用控件widget,下面介绍几种常用的. 这部分介绍基本是参照QtCretator提供的帮助文档,一定要学会使用,不明白的去查找帮助. Item 基本上所有的可是控件的 ...
随机推荐
- Android——打造万能适配器(CommonAdapter)
List<T> : ListView -> Adapter extends BaseAdapter -> ViewHolder ViewHolder CommonAdaper ...
- java nio之Buffer(一)
Buffer是一个包装了基本数据元素数组的对象,它以及它的子类定义了一系列API用于处理数据缓存. 一.属性 Buffer有四个基本属性: 1.capacity 容量,buffer能够容纳的最大元素 ...
- Redis集群服务器-高可用调研随笔[转]
今天改了一天的Bug,本想下午开始专研Redis命令集,结果也泡汤了.只能在下班的路上考虑下Redis集群服务器的高可用方案.随笔而已,尚未成型,仅作记录. 当然,我说的可能比较片面,欢迎拍砖.斧正. ...
- android intent 隐式意图和显示意图(activity跳转)
android中的意图有显示意图和隐式意图两种, 显示意图要求必须知道被激活组件的包和class 隐式意图只需要知道跳转activity的动作和数据,就可以激活对应的组件 A 主activity B ...
- Chapter 4 - How to Fire some Bullets
Now, we want to let the hero fire some bullets to kill the enemies, add the codes below to set the l ...
- 亲测git与github
1.安装MyEclipse 8.5,略去不表.2.下载Eclipse的git插件——EGit.下载网址http://download.eclipse.org/egit/updates-1.3/org. ...
- Android 自定义View修炼-自定义可动画展开收缩View的实现
有时候需要点击一个view可以动画展开和收缩折叠一个View这样的效果,这样就可以直接自定义View来实现. 本例中,采用继承FrameLayout来实现自定义的ExpandView.下面将详细介绍各 ...
- Audit(查看审核/审计信息)
2013需要到 网站集管理-网站集审核设置 中设置要开启的审核项,开启之后sharepoint才会记录信息,信息存储在contentDB的AuditData中: 去读审计信息的sharepoint代码 ...
- DOS和UNIX文本文件之间相互转换的方法
在Unix/Linux下可以使用file命令查看文件类型,如下: file dosfile.txt 使用dos2unix 一般Linux发行版中都带有这个小工具,只能把DOS转换为UNIX文件,命令如 ...
- Installing the .NET Framework 4.5, 4.5.1
This article provides links for installing the .NET Framework 4.5 and 4.5.1 on your computer. If yo ...