qt中如何判断光标在哪个文本框中啊

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了qt中如何判断光标在哪个文本框中啊相关的知识,希望对你有一定的参考价值。

或者转变为:qt中如何指向当前文本框啊(具体不知道是哪一个)

请问你具体是想做什么操作,你想获取当前的光标在哪个文本框中?还是需要判断哪个文本框正在活动?
这个不如用QWidget下的isActiveWindow()函数来获取哪个文本框是活动状态
参考技术A setFocus();使当前文本框获得焦点 参考技术B 同求啊、、

用事件过滤器 可以解决。。

如何在我的 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中如何判断光标在哪个文本框中啊的主要内容,如果未能解决你的问题,请参考以下文章

如何在 C# 的富文本框中将文本添加到用户光标的位置?

js 如何获取文本框中光标索引位置

当页面在没有 javascript 支持的情况下加载时,如何将光标(自动聚焦)放置在文本框中?

Jquery / js 判断数据类型方法

从光标位置的文本框中获取文本.net

防止“向上箭头”键在文本框中重置光标位置