【问题标题】:QML TextField will not position text based on cursorPositionQML TextField 不会根据 cursorPosition 定位文本
【发布时间】:2021-08-10 20:19:06
【问题描述】:

我创建了一个简单的 TextField,其中包含长文本。每次我运行代码时,文本字段的最后一部分都会显示。由于我将 cursorPosition 设置为 1,所以文本字段的 FIRST 部分不应该显示吗?

TextField {
    x: 0
    id: inputField
    width: 100
    text: "Hello World 2! ababaabababababababa"
    color: gui.colorRGBString(GUIConstants.EColorElement_TextTitle)
    maximumLength: 128
    cursorPosition: 1
}

【问题讨论】:

    标签: qt qml textfield cursor-position


    【解决方案1】:

    似乎在放置文本之前正在评估该属性,因此可能的解决方案是在 component.OnCompleted 中调用它:

    TextField {
        id: inputField
    
        x: 0
        width: 100
        text: "Hello World 2! ababaabababababababa"
        color: gui.colorRGBString(GUIConstants.EColorElement_TextTitle)
        maximumLength: 128
        Component.onCompleted: inputField.cursorPosition = 1
    }
    

    【讨论】:

    • 由于该属性仅在设置文本后才有意义,因此这似乎是一个相当大的疏忽/错误(即,如果您无法在初始化时设置此属性)。希望有其他解释,但如果没有,我会尝试这条路线
    • @TSG 显然这是一个错误,我建议您报告它,以便在下一个版本中解决它们
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多