当前位置: 首页 > wzjs >正文

农林科技公司网站模板做模具做什么网站

农林科技公司网站模板,做模具做什么网站,wordpress添栏目,东莞网站开发教程TextEdit是QML中用于多行文本编辑的核心组件,相比单行输入的TextInput,它提供了更丰富的文本处理能力,包括多行编辑、富文本支持、光标控制等功能。本文将全面介绍TextEdit的核心特性、使用方法、样式定制以及实际应用技巧,帮助开…

TextEdit是QML中用于多行文本编辑的核心组件,相比单行输入的TextInput,它提供了更丰富的文本处理能力,包括多行编辑、富文本支持、光标控制等功能。本文将全面介绍TextEdit的核心特性、使用方法、样式定制以及实际应用技巧,帮助开发者掌握这一重要组件的使用。

TextEdit基础介绍

TextEdit是Qt Quick模块提供的多行文本编辑组件,类似于传统UI框架中的QTextEdit。与单行输入的TextInput不同,TextEdit专注于多行文本的编辑和显示。

基本使用

import QtQuick 2.15TextEdit {id: textEditwidth: 300height: 200text: "初始文本"font.pixelSize: 16color: "black"wrapMode: TextEdit.WordWrap // 自动换行
}

关键特性​:

  • 支持多行文本编辑和显示
  • 提供富文本(HTML子集)和纯文本两种格式
  • 内置多种换行模式控制
  • 支持文本选择、复制粘贴等编辑操作
  • 可通过validator实现输入验证
  • 提供光标位置控制、选区管理等功能

核心属性详解

1. 文本内容与格式

  • text​:编辑框中的文本内容,支持静态文本和动态绑定
  • textFormat​:文本格式,可选值:
    • TextEdit.PlainText:纯文本(默认)
    • TextEdit.RichText:富文本(HTML子集)
    • TextEdit.AutoText:自动检测文本格式
  • color​:文本颜色,支持颜色名称或十六进制值
  • font​:字体样式组,包含多个子属性:
    font {family: "Arial"  // 字体pixelSize: 16    // 字号bold: true       // 加粗italic: true     // 斜体underline: true  // 下划线
    }

2. 布局与显示

  • wrapMode​:文本换行模式
    • TextEdit.NoWrap:不自动换行
    • TextEdit.WordWrap:在单词边界处换行(推荐)
    • TextEdit.WrapAnywhere:在任何字符处换行
    • TextEdit.Wrap:同WordWrap
  • horizontalAlignment​/​verticalAlignment​:水平和垂直对齐方式
  • contentWidth​/​contentHeight​:文本内容的实际宽度和高度(可能超出可视区域)
  • lineCount​:只读属性,返回文本行数

3. 交互与选择

  • readOnly​:是否为只读模式
  • selectByMouse​:是否允许鼠标选择文本
  • selectionColor​:选中文本的背景色
  • selectedTextColor​:选中文本的颜色
  • cursorPosition​:当前光标位置
  • cursorVisible​:光标是否可见

滚动与可视区域管理

TextEdit本身不实现滚动行为,需要配合Flickable使用:

Flickable {id: flickwidth: 300; height: 200contentWidth: textEdit.paintedWidthcontentHeight: textEdit.paintedHeightclip: trueTextEdit {id: textEditwidth: flick.widthheight: flick.heightwrapMode: TextEdit.Wrap// 确保光标可见onCursorRectangleChanged: ensureVisible(cursorRectangle)}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;}
}

 代码示例:

import QtQuickWindow {width: 640height: 480visible: truetitle: qsTr("Hello World")TextEdit {id: textEdit1width: 240text: "Hello World"font.family: "Source Sans Pro Black"font.pointSize: 20color: "blue"focus: trueselectedTextColor: "yellow" //选中字体颜色selectionColor: "darkgreen" //选中颜色onEditingFinished: {console.log("onEditingFinished: " + text)}onTextChanged: {console.log("onTextChanged: " + text)if(text === "2024"){console.log("Your password is right.")}}}Rectangle {id: textEdit2Rectanglewidth: 300height: 200anchors.left: textEdit1.rightanchors.leftMargin: 20x: 260y: 0color: "lightgreen"radius: 20//用于实现可滚动/可拖动的交互区域,其核心功能是允许用户通过触摸或鼠标拖拽手势浏览超出可视区域的内容,并支持惯性滑动效果。Flickable {     //即超出文本输入框可以滑动显示id: flickwidth: 300height: 200contentWidth: textEdit2.contentWidthcontentHeight: textEdit2.contentHeightclip: 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: textEdit2width: 300height: 200text: "Hello World"font.pointSize: 32color: "red"focus: truewrapMode: TextEdit.Wrap  //设置换行padding: 10  //设置上下左右间距10像素onLineCountChanged: {  //输入行变化,即换行触发console.log("lineCount: " + lineCount)}}}}Rectangle {id: textEdit3Rectanglewidth: 300height: 200anchors.top: textEdit2Rectangle.bottomanchors.topMargin: 20color: "lightgray"radius: 5TextEdit {id: textEdit3anchors.fill: parenttext: "Hello World"font.pointSize: 32color: "blue"focus: truewrapMode: TextEdit.Wrappadding: 10horizontalAlignment: TextEdit.AlignHCenter}}
}

效果演示:

http://www.dtcms.com/wzjs/828723.html

相关文章:

  • 做亚马逊学英语有什么网站吗比价网站模板
  • 创建网站选哪家好中小企业网站建设好么
  • 饮料公司网站模板Wordpress可以访问么
  • 如何取消危险网站提示网站开发有那些费用
  • 上海专业网站建设公司站霸网络门户网站建设需要注意什么
  • 如何进入公司网站的后台企业oa系统搭建
  • 毕业设计和论文网站网站构建建设制作平台
  • 查询做导员的网站自己的商品链接怎么弄
  • 网站建设 调研报告竞价托管推广代运营
  • 经营类网站备案wordpress statraq
  • 福州网站建设服务平台品牌商标设计logo
  • 红河县网站建设怎么做淘宝店网站收录
  • 免费网站用官微建站wordpress 固定
  • 网站怎么记录搜索引擎的关键词学电商美工一个月多少钱
  • 如何取得网站的管理权限湖北省黄冈建设信息网站
  • 淘宝做关键词的网站天津网站优
  • 额敏网站建设公司网站 用 个人备案域名
  • 深圳网站建设制作哪家便宜网站建设在哪里接单
  • 毕业设计网站建设体会网站和域名有关系吗
  • 网站如何做新闻聚合网站怎样才能被百度收录
  • 烟台网站建设 58做视频网站要多大的主机
  • 做ppt比较好的网站百度文档怎么免费下vvv
  • 二级网站怎么建网络工程师含金量高吗
  • 怎样建设外贸网站WordPress主题制作教程三
  • 哈尔滨专业网站建设定制网站建设管理权限
  • 什么颜色做网站好看福田深圳网站建设
  • 网站建设与开发大作业网站优化公司哪家便宜
  • 广州建设局官方网站建设网站收费
  • 网站建设 杭州网页效果图素材
  • 济宁建设网站建材类网站建设需要的资料