【问题标题】:Using curly braces in QML input mask在 QML 输入掩码中使用花括号
【发布时间】:2021-10-28 18:55:17
【问题描述】:

我有一个 QML 行编辑,并且正在尝试使用输入掩码来确保输入有效的 UID。我的输入掩码设置如下:

inputMask: ">\\{NNNNNNNN-NNNN-NNNN-NNNN-NNNNNNNNNNNN\\}"

我的文本属性设置为:“{49f93de5-1da6-4e3a-a2e4-64795dc89ebb}”

当我运行我的程序时,屏幕的编辑字段中缺少花括号(但存在连字符并且正确应用了字符掩码)。如何显示 { 和 } ?我以为带着面具逃离它们是必要的。

【问题讨论】:

    标签: qt qml curly-braces input-mask


    【解决方案1】:

    我认为您的问题与this有关

    已编辑:将输入字符串包裹在qsTr() 中允许花括号显示在输入文本中。

    在 QML 中我使用 TextInput 并且它可以工作:

    import QtQuick 2.14
    import QtQuick.Window 2.14
    
    Window {
        visible: true
        width: 640
        height: 480
        title: qsTr("Hello World")
    
        TextInput {
            id: textInput
            x: 116
            y: 94
            width: 237
            height: 53
            text: qsTr("{49f93de5-1da6-4e3a-a2e4-64795dc89ebb}")
            font.pixelSize: 12
            inputMask: ">\\{NNNNNNNN-NNNN-NNNN-NNNN-NNNNNNNNNNNN\\}"
        }
    
    
    }
    

    【讨论】:

    • 我很难看到你在做什么不同的事情!是什么让花括号出现在您的示例中?
    • 好的,我找到了!由于某种原因,将输入字符串包装在 qStr() 中允许花括号显示在输入文本中。但是,我真的不明白为什么这很重要。如果您知道可以将其添加到您的答案中吗? (我相信它会帮助其他人)
    • @TSG,是的,当然。谢谢
    猜你喜欢
    • 2022-06-10
    • 2016-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-04
    • 1970-01-01
    相关资源
    最近更新 更多