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学习路线图
第一阶段:Java面向对象编程 1.Java基本数据类型与表达式,分支循环. 2.String和StringBuffer的使用.正则表达式. 3.面向对象的抽象,封装,继承,多态,类与对象,对象初始化 ...
- 【Android - 基础】之Dialog分类及使用
1.确定取消对话框 代码: // 使用AlertDialog.Builder初始化对话框 AlertDialog.Builder builder0 = new AlertDialog.Builder( ...
- 基于前端javascript的搜索功能
发表于 2013/11/07 当在数据量不是很大,而且没有后端对应的功能接口的时候,一些简单的搜索功能基本上是前端去实现的,正好最近用到,写了一个,贴出来和大家分享: 功能描述: 按下键盘后及时搜索条 ...
- c#调用api(FindFirstFile,FindNextFile)高效遍历目录文件【转载】
在c#下遍历目录,应用最多的应该就是 System.IO.DirectoryInfo.GetDirectories或GetFiles了,但是当目录特别大,文件特别多时,效率不尽人意,此时我们很容易想到 ...
- 使用 OpenSSL API 进行安全编程
创建基本的安全连接和非安全连接 Kenneth Ballard ( kenneth.ballard@ptk.org), 自由程序员 Kenneth 是 Peru State College(位于 Pe ...
- window mac iPhone 三种比较相似的字体
win: 华文黑体 mac:stheiti iphone:heitisc-light heitisc-medium
- static inner class 什么时候被加载
一直认为在加载outer class 的同时也会加载inner class 并且完成静态变量和代码块的初始化,今天在维基百科上面看到 “The static class definitionLazyH ...
- [上传下载] C#FileDown文件下载类 (转载)
点击下载 FileDown.zip 主要功能如下 .参数为虚拟路径 .获取物理地址 .普通下载 .分块下载 .输出硬盘文件,提供下载 支持大文件.续传.速度限制.资源占用小 看下面代码吧 /// &l ...
- [XML] C#ResourceManagerWrapper帮助类 (转载)
点击下载 ResourceManagerWrapper.rar /// <summary> /// 类说明:ResourceManagerWrapper /// 编 码 人:苏飞 /// ...
- ca-bundle.crt to java truststore(e.g. trustStore.jks)
1. download java keyutilhttps://java-keyutil.googlecode.com/files/keyutil-0.4.0.jar 2. run the follo ...