qt中文本光标的使用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了qt中文本光标的使用相关的知识,希望对你有一定的参考价值。
参考技术A有时,我们需要通过qt中的按钮向文本编辑或者文本行编辑输入文字,比如
ui->textEdit->setText(str); 这时不会在文本中显示光标,因为按了按钮后qt就没有停留在文本编辑这个控件上了,用
就可以显示光标了,这时,光标会默认出现在文本开头处
用
可以获取光标,然后调用myCursor.position()函数可以获取光标的位置,返回值
是一个整数,比如,光标在第一个字符和第二个字符之间,返回1,以此类推。
接下来移动光标,比如:
也可以 myCursor.movePosition(QTextCursor::Left,QTextCursor::MoveAnchor,3);
这样就可以一次移动3格了
movePosition()的第一个参数是确认移动方式,可以左右移动,也可以移到开头
等等,第二个参数一共有两种,如果是 QTextCursor::MoveAnchor ,那么就是简
单的移动光标,如果是 QTextCursor::KeepAnchor ,那么在移动光标的同时,选
中文本。最后用 ui->textEdit->setTextCursor(myCursor); 就可以设置你想要的文
本光标了。
如何在我的 qt 快速应用程序中更改 android 上的默认文本编辑器光标?
【中文标题】如何在我的 qt 快速应用程序中更改 android 上的默认文本编辑器光标?【英文标题】:How Change the default text edit cursor on android in my qt quick applicaton? 【发布时间】:2021-02-16 12:44:59 【问题描述】:我想更改文本编辑光标的默认形状,它应该如下所示
TextArea
id: txtTalk
anchors.fill: parent
leftPadding: 9
rightPadding: 9
wrapMode: TextArea.Wrap
color: Material.color(Material.Red,Material.Shade900)
background: Rectangle
radius: 3
color: Material.color(Material.Red,Material.Shade50)
border.width: 1
border.color: Material.color(Material.Red,Material.Shade300)
【问题讨论】:
我发现这篇文章可能对你有帮助 ***.com/questions/58719796/… 看看 cursorDelegate 属性 【参考方案1】:下面的代码应该做你想做的事。你也可以添加闪烁动画,看看这个CursorDelegate example。 QML 中 SVG 的唯一问题是别名不佳。您可以做的是组成两个矩形的“引脚”,一个具有圆角(半径属性),另一个旋转。或者您可以看看如何在 QML 中使用 SVG 消除别名。
除了使用PathSVG,您还可以编写PathLine 和PathArc 的图钉图标。
请记住,我没有注意引脚的动态放置及其缩放比例,我调整了这些值,直到看起来没问题。另一件事是根据您的字体大小缩放图钉。
import QtQuick 2.0
import QtQuick.Controls 2.15
import QtQuick.Shapes 1.15
Item
width: 640
height: 480
TextArea
anchors.centerIn: parent
wrapMode: TextArea.Wrap
color: "gray"
font.pixelSize: 24
background: Rectangle
implicitWidth: 300
implicitHeight: 200
radius: 3
color: "white"
border.width: 1
border.color: "black"
placeholderText: qsTr("Enter description")
cursorDelegate: Item
width: 1
Rectangle
id: rectangle
color: "black"
y: 1
width: 2
height: parent.height - 2
Shape
x: -8
y: rectangle.height + 2
ShapePath
fillColor: "red"
strokeWidth: -1
scale: Qt.size(0.2, 0.2)
PathSvg path: "M 45,90 C 25.463,90 9.625,74.162 9.625,54.625 c 0,-8.722 3.171,-16.693 8.404,-22.861 L 45,0 71.97,31.765 c 5.233,6.167 8.404,14.139 8.404,22.861 C 80.375,74.162 64.537,90 45,90 Z"
【讨论】:
它显示指示器。但是,它应该在我编辑时才显示,并不总是,默认光标也显示如何隐藏它以上是关于qt中文本光标的使用的主要内容,如果未能解决你的问题,请参考以下文章