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 Updated to NodeBB v4.3 + New Features

Time Edit field in QML

Scheduled Pinned Locked Moved Solved QML and Qt Quick
qtquick2textfieldqtquickcontrol
13 Posts 5 Posters 7.0k Views 3 Watching
  • 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
    15 Sept 2017, 20:55

    @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 16 Sept 2017, 08:33 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 16 Sept 2017, 09:41
    0
    • P Praveen_2017
      16 Sept 2017, 08:33

      @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 16 Sept 2017, 09:41 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 16 Sept 2017, 10:03
      1
      • M mostefa
        16 Sept 2017, 09:41

        @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 16 Sept 2017, 10:03 last edited by
        #5
        This post is deleted!
        1 Reply Last reply
        0
        • M mostefa
          16 Sept 2017, 09:41

          @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 16 Sept 2017, 10:10 last edited by
          #6

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

          O 1 Reply Last reply 19 Sept 2017, 11:07
          0
          • P pra7
            16 Sept 2017, 10:10

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

            O Offline
            O Offline
            ODБOï
            wrote on 19 Sept 2017, 11:07 last edited by
            #7

            @pra7 Go SOLVED

            P 1 Reply Last reply 19 Sept 2017, 13:35
            0
            • O ODБOï
              19 Sept 2017, 11:07

              @pra7 Go SOLVED

              P Offline
              P Offline
              pra7
              wrote on 19 Sept 2017, 13:35 last edited by
              #8

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

              1 Reply Last reply
              0
              • O Offline
                O Offline
                ODБOï
                wrote on 19 Sept 2017, 14:18 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 19 Sept 2017, 14:26
                1
                • O ODБOï
                  19 Sept 2017, 14:18

                  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 19 Sept 2017, 14:26 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.

                  O 1 Reply Last reply 19 Sept 2017, 14:28
                  0
                  • E Eeli K
                    19 Sept 2017, 14:26

                    @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.

                    O Offline
                    O Offline
                    ODБOï
                    wrote on 19 Sept 2017, 14:28 last edited by
                    #11

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

                    E 1 Reply Last reply 19 Sept 2017, 14:29
                    0
                    • O ODБOï
                      19 Sept 2017, 14:28

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

                      E Offline
                      E Offline
                      Eeli K
                      wrote on 19 Sept 2017, 14:29 last edited by
                      #12

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

                      O 1 Reply Last reply 19 Sept 2017, 14:32
                      0
                      • E Eeli K
                        19 Sept 2017, 14:29

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

                        O Offline
                        O Offline
                        ODБOï
                        wrote on 19 Sept 2017, 14:32 last edited by
                        #13

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

                        1 Reply Last reply
                        0

                        12/13

                        19 Sept 2017, 14:29

                        • Login

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