目录

官方解析

博主栗子


官方解析

TextEdit展示了一个可编辑的一块,是有格式的文本。
他同样能展示普通文本和富文本:

  TextEdit {width: 240text: "<b>Hello</b> <i>World!</i>"font.family: "Helvetica"font.pointSize: 20color: "blue"focus: true}


focus属性可以设置接收键盘的聚焦。
注意:TextEdit是不能实现滚动功能的,他是跟随光标的,或指定特定的外观或者感官,举个例子,下面的代码实现了跟随鼠标的弹动滚动的效果:

  Flickable {id: flickwidth: 300; height: 200;contentWidth: edit.paintedWidthcontentHeight: edit.paintedHeightclip: truefunction 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: editwidth: flick.widthheight: flick.heightfocus: truewrapMode: TextEdit.WraponCursorRectangleChanged: flick.ensureVisible(cursorRectangle)}}

如果要追求好的视觉比如滑动滚动(使用SmootheAnimation),这会产生一个可视化的滚动条,或者是一个褪色的滚动条。
剪切板的功能被cut(),copy()和paste()函数提供,设置selectByMouse可以鼠标选择要剪切的内容,可以使用selectionStart和selectionEnd以及selectAll()或selectWord()。
可以在光标位置上进行转换,如使用positionAt()和positionToRectangle()

博主栗子

这里把官方的2个例子补充完整,这里要注意,第一个html的富文本在Qt5以上的版本貌似不能成功!

两个源码运行截图如下:

程序结构如下:

源码如下:

main.cpp

#include <QApplication>
#include <QQmlApplicationEngine>
#include <QDebug>int main(int argc, char *argv[])
{QApplication a(argc, argv);QQmlApplicationEngine engine;engine.load(QUrl("qrc:/main.qml"));if(engine.rootObjects().isEmpty()){qDebug() << "engine load failed!";return -1;}return a.exec();
}

main.qml

import QtQuick 2.7
import QtQuick.Controls 2.0ApplicationWindow {visible: truewidth: 800height: 600TextEdit {width: 240text: "Hello World!"font.family: "Helvetica"font.pointSize: 20color: "blue"focus: true}//    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)
//        }//        anchors.centerIn: parent
//    }}

Qt文档阅读笔记-TextEdit QML Type官方解析及实例相关推荐

  1. Qt文档阅读笔记-FileDialog QML Type官方解析与实例

    目录 官方解析 博主例子 官方解析 FileDialog是基于文件的选择器,可以选择文件或文件夹,创建文件,这个Dialog初始化是不可见的,得需要设置他为visible或调用open()即可. 下面 ...

  2. Qt文档阅读笔记-Text QML Type官方解析及实例

    目录 官方解析 博主例子 官方解析 Text能够展示纯文本和富文本.举个例子,红色文本以及指定的字体和大小 Text {text: "Hello World!"font.famil ...

  3. Qt文档阅读笔记-Label QML Type官方解析及实例

    目录 官方解析 博主例子 官方解析 Label扩展了父类Text中的styling和font.Label同样是有可视化的background项. Label {text: "Label&qu ...

  4. Qt文档阅读笔记-Button QML Type官方解析及实例

    目录 官方解析 博主栗子 官方解析 按钮展示了一个按钮控件,这个控件可以被用户所按下,按钮是通常被用于执行一个操作,或者解决一个问题.buttons有如下几个典栗,如Ok,Apply,Cancel,C ...

  5. Qt文档阅读笔记-Timer QML Type 官方解析与实例

    目录 官方解析 博主例子 官方解析 Timer能够触发一个动作,或者在给定时间重复这个动作: 下面给出显示当前时间的代码,500毫秒刷新异常,这里是通过JS对象来获取当前时间! import QtQu ...

  6. Qt文档阅读笔记-ToolBar QML Type

    ToolBar主要用于应用程序的上下文控制,就像导航按钮和搜索按钮那样.ToolBar就像窗口程序的header或footer那样. ToolBar不提供自己的布局,不过需要开发者设置内容,如创建一个 ...

  7. Qt文档阅读笔记-GridLayout QML Type解析与实例

    目录 基本概念 代码与实例 基本概念 如果QGridLaout大小被调整,所有item的布局都将会重新排列.和widget的QGridLayout一样.如果想要一行或一列的布局可以使用RowLayou ...

  8. Qt文档阅读笔记-Image QML官方解析与实例

    目录 官方解析 博主例子 官方解析 Image Image用于展示图片. 使用source属性可以使用URL指定一张图片. 只要是Qt能打开的图片都支持,如果要展示动态图,要使用:BnimatedSp ...

  9. Qt文档阅读笔记-Simple Anchor Layout Example解析

    这个例子展示了锚布局在视图场景中的使用. 此篇例子其实就是教QGraphicsAnchorLayout类的使用. 首先创建了QGraphicScene(场景),3个widgets(a,b,c),以及一 ...

最新文章

  1. python 检验数据正态分布程度_Python DataFrame 检验数据正态分布及平均值差异检验...
  2. 发现check_nginx.sh 里的一个小bug~~~
  3. linux apt qt下载,Linux如何安装 apt-get 软件管理工具
  4. https和server-status配置案例
  5. 单例-单例设计模式代码实现
  6. thymeleaf片段使用_Thymeleaf –片段和angularjs路由器局部视图
  7. linux shell脚本备份mysql数据库
  8. saas 困难_将不可信的Javascript作为SaaS运行非常困难。 这就是我驯服恶魔的方式。...
  9. 未来云原生世界的“领头羊”:容器批量计算项目Volcano 1.0版本发布
  10. Django框架配置
  11. Web笔记:jQuery的使用
  12. ADB连接手机的三种方式USB、WLAN、WIFI
  13. envi5.3处理高分二号影像数据详细过程记录
  14. 经常眩晕,可能是不痛的偏头痛
  15. 2020秋招笔试依图科技编程题
  16. PyautoGui常用教程(鼠标、键盘)
  17. C++并发编程(C++11到C++17)转载
  18. numpy的文件存储.npy .npz 文件详解
  19. NanoHTTPD----SimpleWebServer处理请求过程
  20. StarUML 代码生成(C++)

热门文章

  1. VirtualBox host-only 外网
  2. 堪称暴力美学的可视化大屏是怎么做的?附无代码硬核教程
  3. 我的飞鸽传书程序,很好!!!
  4. 济南昊锐科技谈程序员与用户UI
  5. 《飞秋2010下载》的开头说
  6. 不起眼的小动作可能葬送安全措施
  7. 2008年度一个下岗程序员的真实经历
  8. 阿里女员工遭遇「杀猪盘」背后的思考
  9. 只想安安静静地敲完一段代码
  10. githup用户名密码怎么看_MacBook Pro 开机密码忘记解决方法