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 基本上所有的可是控件的 ...
随机推荐
- sublime 汉化及注册
首先安装 package control https://packagecontrol.io/installation 网站上面有详细说明 安装以后快捷键 ctrl +shift+p 输入ip ...
- Android 镜像地址[持续更新中]
这里收集android国内镜像资源地址 大连东软信息学院镜像服务器地址:– http://mirrors.neusoft.edu.cn 端口:80北京化工大学镜像服务器地址:– IPv4: http: ...
- 课程助理For Windows(预览版,正方教务系统学生查分工具)
其实盖子已经开发了一个功能更强大的版本,但是那个版本依然基于正方系统,也就是说只要正方系统跪了或者张院士在网站上做点手脚,这个小工具就会失效. 今天给大家的版本虽然功能及其简单.界面极端丑陋,但是通过 ...
- SQL语法集锦一:显示每个类别最新更新的数据
本文转载http://www.cnblogs.com/lxblog/archive/2012/09/28/2707504.html (1)显示每个类别最新更新的数据 在项目中经常遇到求每个类别最新显示 ...
- 【转】YUV420P的格式以及转换为RGB565的代码(Android摄像头的输出一般为YUV420P)
http://blog.csdn.net/daisyhd/article/details/38866809 static void cvt_420p_to_rgb565(int width, int ...
- JDBC连接MySQL数据库
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sq ...
- springMVC3学习(八)--全球异常处理
在springMVC在配置文件: <bean id="exceptionResolver" class="org.springframework.web.servl ...
- RedHat搭建IPA-Server
ipa-server是红帽身份验证的一个完整解决方案,上游的开源项目是freeIPA,它本身不提供具体功能,而是整合了389-ds.ipa-server-dns.krb5-server等核心软件包,形 ...
- Hibernate占位符警告:use named parameters or JPA-style positional parameters instead.
Hibernate占位符警告:use named parameters or JPA-style positional parameters instead. >>>>> ...
- JQM 页面滚动加载
1 应用场景:文章比较长,只加载部分,当到页面底部触发获取更多数据. 2 如图,监听滚动条的位置,触发事件,转化为求X的长度, 3 实例代码: //滚动条到底加载更多 $(document).on(& ...