Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. QML and Qt Quick
  4. Time Edit field in QML
Forum Update on Monday, May 27th 2025

Time Edit field in QML

Scheduled Pinned Locked Moved Solved QML and Qt Quick
qtquick2textfieldqtquickcontrol
13 Posts 5 Posters 6.9k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M mostefa

    @pra7

    Hi @pra7

    Your code is correct but you have to add an input mask also

    inputMask: "99:99:99"//input mask
    text: "00:00:00" //default text
    

    Your code will code to something like this:

    import QtQuick 2.7
        import QtQuick.Window 2.2
        import QtQuick.Controls 2.2
    
        Window {
            visible: true
            width: 640
            height: 480
            title: qsTr("Time Edit")
    
            TextField{
                id:textEditTD
                text : "00:00:00"
                inputMask: "99:99:99"
                inputMethodHints: Qt.ImhDigitsOnly
                validator: RegExpValidator { regExp: /^([0-1]?[0-9]|2[0-3]):([0-5][0-9]):[0-5][0-9]$ / }
    
                width:100
                height:50
                background:Rectangle{
                    color:"transparent"
                    border.color: "red"
                    border.width:2
                    radius:(width * 0.05)
                }
            }
        }
    

    This should work ...

    P Offline
    P Offline
    Praveen_2017
    wrote on last edited by Praveen_2017
    #3

    @mostefa Thanks it almost works but backspace is not working.
    For Example : If i enter 12:12:12 and try to clear the value using backspace then it's not working. My expectation is that it should become 00:00:00. Is there any way to achieve this ?

    M 1 Reply Last reply
    0
    • P Praveen_2017

      @mostefa Thanks it almost works but backspace is not working.
      For Example : If i enter 12:12:12 and try to clear the value using backspace then it's not working. My expectation is that it should become 00:00:00. Is there any way to achieve this ?

      M Offline
      M Offline
      mostefa
      wrote on last edited by
      #4

      @Praveen_2017 said in Time Edit field in QML:

      @mostefa Thanks it almost works but backspace is not working.
      For Example : If i enter 12:12:12 and try to clear the value using backspace then it's not working. My expectation is that it should become 00:00:00. Is there any way to achieve this ?

      Hi @Praveen_2017

      What if you match backspace for each digits in your expressions?

      You have to change your regExp on your validator to something like this:

      validator: RegExpValidator { regExp: /^([0-1\s]?[0-9\s]|2[0-3\s]):([0-5\s][0-9\s]):([0-5\s][0-9\s])$ / }
      
      P P 2 Replies Last reply
      1
      • M mostefa

        @Praveen_2017 said in Time Edit field in QML:

        @mostefa Thanks it almost works but backspace is not working.
        For Example : If i enter 12:12:12 and try to clear the value using backspace then it's not working. My expectation is that it should become 00:00:00. Is there any way to achieve this ?

        Hi @Praveen_2017

        What if you match backspace for each digits in your expressions?

        You have to change your regExp on your validator to something like this:

        validator: RegExpValidator { regExp: /^([0-1\s]?[0-9\s]|2[0-3\s]):([0-5\s][0-9\s]):([0-5\s][0-9\s])$ / }
        
        P Offline
        P Offline
        Praveen_2017
        wrote on last edited by
        #5
        This post is deleted!
        1 Reply Last reply
        0
        • M mostefa

          @Praveen_2017 said in Time Edit field in QML:

          @mostefa Thanks it almost works but backspace is not working.
          For Example : If i enter 12:12:12 and try to clear the value using backspace then it's not working. My expectation is that it should become 00:00:00. Is there any way to achieve this ?

          Hi @Praveen_2017

          What if you match backspace for each digits in your expressions?

          You have to change your regExp on your validator to something like this:

          validator: RegExpValidator { regExp: /^([0-1\s]?[0-9\s]|2[0-3\s]):([0-5\s][0-9\s]):([0-5\s][0-9\s])$ / }
          
          P Offline
          P Offline
          pra7
          wrote on last edited by
          #6

          @mostefa Thanks !!!it's working :-)

          ODБOïO 1 Reply Last reply
          0
          • P pra7

            @mostefa Thanks !!!it's working :-)

            ODБOïO Offline
            ODБOïO Offline
            ODБOï
            wrote on last edited by
            #7

            @pra7 Go SOLVED

            P 1 Reply Last reply
            0
            • ODБOïO ODБOï

              @pra7 Go SOLVED

              P Offline
              P Offline
              pra7
              wrote on last edited by
              #8

              @LeLev I didn't get ... Can you please explain ?

              1 Reply Last reply
              0
              • ODБOïO Offline
                ODБOïO Offline
                ODБOï
                wrote on last edited by
                #9

                Im not regExp pro but this is working
                TextField{
                id:textEditTD
                text : "00:00:00"
                inputMask: "99:99:99"
                inputMethodHints: Qt.ImhDigitsOnly
                validator: RegExpValidator { regExp: /^([0-1\s]?[0-9\s]|2[0-3\s]):([0-5\s][0-9\s]):([0-5\s][0-9\s])$ / }

                          width:100
                          height:50
                      }
                

                LA

                E 1 Reply Last reply
                1
                • ODБOïO ODБOï

                  Im not regExp pro but this is working
                  TextField{
                  id:textEditTD
                  text : "00:00:00"
                  inputMask: "99:99:99"
                  inputMethodHints: Qt.ImhDigitsOnly
                  validator: RegExpValidator { regExp: /^([0-1\s]?[0-9\s]|2[0-3\s]):([0-5\s][0-9\s]):([0-5\s][0-9\s])$ / }

                            width:100
                            height:50
                        }
                  

                  LA

                  E Offline
                  E Offline
                  Eeli K
                  wrote on last edited by
                  #10

                  @LeLev Maybe @pra7 meant "Go SOLVED"... which means marking a topic as solved so that others can see the original problem was solved in the thread. It's under "Topic Tools" menu for the one who has started the thread.

                  ODБOïO 1 Reply Last reply
                  0
                  • E Eeli K

                    @LeLev Maybe @pra7 meant "Go SOLVED"... which means marking a topic as solved so that others can see the original problem was solved in the thread. It's under "Topic Tools" menu for the one who has started the thread.

                    ODБOïO Offline
                    ODБOïO Offline
                    ODБOï
                    wrote on last edited by
                    #11

                    @Eeli-K this is @pra7 s topic not mine ^^

                    E 1 Reply Last reply
                    0
                    • ODБOïO ODБOï

                      @Eeli-K this is @pra7 s topic not mine ^^

                      E Offline
                      E Offline
                      Eeli K
                      wrote on last edited by
                      #12

                      @LeLev That's why I directed the rest of my comment to pra7 :)

                      ODБOïO 1 Reply Last reply
                      0
                      • E Eeli K

                        @LeLev That's why I directed the rest of my comment to pra7 :)

                        ODБOïO Offline
                        ODБOïO Offline
                        ODБOï
                        wrote on last edited by
                        #13

                        @Eeli-K sorry I have read your comment incorrectly :p

                        1 Reply Last reply
                        0

                        • Login

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Categories
                        • Recent
                        • Tags
                        • Popular
                        • Users
                        • Groups
                        • Search
                        • Get Qt Extensions
                        • Unsolved