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

QML Circular slider

Scheduled Pinned Locked Moved Solved QML and Qt Quick
14 Posts 5 Posters 6.4k Views 2 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.
  • Naveen_DN Offline
    Naveen_DN Offline
    Naveen_D
    wrote on last edited by
    #1

    Hi all

    I want to develop a circular slider using Qml. Is it possible to have circular slider in Qml? if yes, how can i develop it? please give the possible solution.

    Thanks

    Naveen_D

    1 Reply Last reply
    0
    • jpnurmiJ Offline
      jpnurmiJ Offline
      jpnurmi
      wrote on last edited by
      #2

      How about Dial?

      1 Reply Last reply
      3
      • Naveen_DN Offline
        Naveen_DN Offline
        Naveen_D
        wrote on last edited by Naveen_D
        #3

        Dial is fine sir. I tried it. but i want to customize it, i tried with dialStyle but didn't get how to use it. Is there any example for customizing dial in QML ? I am using Qt 5.6, thanks

        Naveen_D

        1 Reply Last reply
        0
        • Naveen_DN Offline
          Naveen_DN Offline
          Naveen_D
          wrote on last edited by
          #4

          Hi all, can anyone please suggest me how to customize Dial in QML ?

          Naveen_D

          1 Reply Last reply
          0
          • p3c0P Offline
            p3c0P Offline
            p3c0
            Moderators
            wrote on last edited by
            #5

            Hi @Naveen_D
            Dial was added in Qt 5.7. Which Dial are you referring in Qt 5.6 ?

            157

            Naveen_DN 1 Reply Last reply
            2
            • p3c0P p3c0

              Hi @Naveen_D
              Dial was added in Qt 5.7. Which Dial are you referring in Qt 5.6 ?

              Naveen_DN Offline
              Naveen_DN Offline
              Naveen_D
              wrote on last edited by
              #6

              @p3c0 i am using Dial which is since Qt 5.5

              Naveen_D

              1 Reply Last reply
              1
              • p3c0P Offline
                p3c0P Offline
                p3c0
                Moderators
                wrote on last edited by
                #7

                @Naveen_D Ok so you are using the labs version which is now in QtQuick Extras. So far how much were you able to customize DialStyle ?

                157

                Naveen_DN 1 Reply Last reply
                1
                • p3c0P p3c0

                  @Naveen_D Ok so you are using the labs version which is now in QtQuick Extras. So far how much were you able to customize DialStyle ?

                  Naveen_DN Offline
                  Naveen_DN Offline
                  Naveen_D
                  wrote on last edited by
                  #8

                  @p3c0 Sir i tried with background, handle as given in the assistant, but i didn't get the output so i wanted an example how to make customizable dial using dial style. so that i can refer the example and try to make changes.

                  Naveen_D

                  1 Reply Last reply
                  0
                  • p3c0P Offline
                    p3c0P Offline
                    p3c0
                    Moderators
                    wrote on last edited by
                    #9

                    @Naveen_D You can try the CircularGauge's styling example.
                    https://doc.qt.io/qt-5/styling-circulargauge.html#styling-circulargauge-background
                    https://doc.qt.io/qt-5/styling-circulargauge.html#styling-circulargauge-foreground

                    157

                    Naveen_DN 1 Reply Last reply
                    2
                    • p3c0P p3c0

                      @Naveen_D You can try the CircularGauge's styling example.
                      https://doc.qt.io/qt-5/styling-circulargauge.html#styling-circulargauge-background
                      https://doc.qt.io/qt-5/styling-circulargauge.html#styling-circulargauge-foreground

                      Naveen_DN Offline
                      Naveen_DN Offline
                      Naveen_D
                      wrote on last edited by
                      #10

                      @p3c0 i want to develop a volume type module for music player. can i develop using this ?

                      Naveen_D

                      1 Reply Last reply
                      0
                      • p3c0P Offline
                        p3c0P Offline
                        p3c0
                        Moderators
                        wrote on last edited by p3c0
                        #11

                        @Naveen_D Sure. Just try customizing them as per the given links.
                        Here's a small example according to it:

                        Dial {
                                width: 200
                                height: 200
                        
                                style: DialStyle {
                        
                                    function degreesToRadians(degrees) {
                                        return degrees * (Math.PI / 180);
                                    }
                        
                                    background: Canvas {
                                        onPaint: {
                                            var ctx = getContext("2d");
                                            ctx.reset();
                        
                                            ctx.beginPath();
                                            ctx.strokeStyle = "#e34c22";
                                            ctx.lineWidth = outerRadius * 0.02;
                        
                                            ctx.arc(outerRadius, outerRadius, outerRadius - ctx.lineWidth / 2,
                                                degreesToRadians(valueToAngle(80) - 90), degreesToRadians(valueToAngle(100) - 90));
                                            ctx.stroke();
                                        }
                                    }
                        
                                    handle: Rectangle {
                                        width: outerRadius * 0.3
                                        height: outerRadius * 0.3
                                        radius: width/2.0
                                        color: "green"
                                    }
                        
                                    handleInset: outerRadius * 0.25
                        
                                }
                            }
                        

                        157

                        Naveen_DN 1 Reply Last reply
                        3
                        • p3c0P p3c0

                          @Naveen_D Sure. Just try customizing them as per the given links.
                          Here's a small example according to it:

                          Dial {
                                  width: 200
                                  height: 200
                          
                                  style: DialStyle {
                          
                                      function degreesToRadians(degrees) {
                                          return degrees * (Math.PI / 180);
                                      }
                          
                                      background: Canvas {
                                          onPaint: {
                                              var ctx = getContext("2d");
                                              ctx.reset();
                          
                                              ctx.beginPath();
                                              ctx.strokeStyle = "#e34c22";
                                              ctx.lineWidth = outerRadius * 0.02;
                          
                                              ctx.arc(outerRadius, outerRadius, outerRadius - ctx.lineWidth / 2,
                                                  degreesToRadians(valueToAngle(80) - 90), degreesToRadians(valueToAngle(100) - 90));
                                              ctx.stroke();
                                          }
                                      }
                          
                                      handle: Rectangle {
                                          width: outerRadius * 0.3
                                          height: outerRadius * 0.3
                                          radius: width/2.0
                                          color: "green"
                                      }
                          
                                      handleInset: outerRadius * 0.25
                          
                                  }
                              }
                          
                          Naveen_DN Offline
                          Naveen_DN Offline
                          Naveen_D
                          wrote on last edited by
                          #12

                          @p3c0 Thank you so much for your help. Now i got an idea.

                          Naveen_D

                          R 1 Reply Last reply
                          1
                          • Naveen_DN Naveen_D

                            @p3c0 Thank you so much for your help. Now i got an idea.

                            R Offline
                            R Offline
                            Ratataplam
                            wrote on last edited by
                            #13

                            @Naveen_D Can you share your solution if possible? Thanks in advance

                            MarkkyboyM 1 Reply Last reply
                            0
                            • R Ratataplam

                              @Naveen_D Can you share your solution if possible? Thanks in advance

                              MarkkyboyM Offline
                              MarkkyboyM Offline
                              Markkyboy
                              wrote on last edited by
                              #14

                              @Ratataplam - You can glean much info from this github account. I have used this for purposes of creating speedometers;

                              https://github.com/arunpkqt/CircularSlider

                              Don't just sit there standing around, pick up a shovel and sweep up!

                              I live by the sea, not in it.

                              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