代码之家  ›  专栏  ›  技术社区  ›  iHowell

如何检测在textedit组件中何时获得焦点

  •  0
  • iHowell  · 技术社区  · 6 年前

    我已经搜索了文档,找到了一个信号,当 TextEdit 组件已经被聚焦,所以我可以进行一些格式化,但我找不到任何内容。我有一个 文本编辑 组件,允许用户编辑数字,但在不聚焦时使用区域设置打印数字,如下所示:

    TextEdit {
        text: object.number.toLocaleString()
        onFocus: { text = object.number; }
        onEditingFinished: {
            // Validation
            object.number = parseInt(text);
        }
    }
    

    有什么我错过的吗?

    1 回复  |  直到 6 年前
        1
  •  1
  •   bardao    6 年前

    这就是你想做的吗? 我使用OnPropertyChanged通过创建两个文本编辑字段来实现它,这样我就可以将焦点从一个更改为另一个。这里您将看到的是当您在 TextEdit S

    import QtQuick 2.7
    import QtQuick.Window 2.0
    
    Window
    {
        id: mainWindow
        width: 800
        height: 800
        visible: true
    
        TextEdit {
            id: t1
            text: "defaut"    
            onFocusChanged: {
                if(focus)
                    text = "focused"
                else
                    text = "not focused"
            }
        }
    
        TextEdit {
            anchors.top: t1.bottom
            text: "default2"    
            onFocusChanged: {
                if(focus)
                    text = "focused"
                else
                    text = "not focused"
            }
        }
    }