Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Custom behavior for QSlider - tips/hints needed
Forum Update on Monday, May 27th 2025

Custom behavior for QSlider - tips/hints needed

Scheduled Pinned Locked Moved Solved General and Desktop
qslidermouse eventsdesktop
14 Posts 5 Posters 3.1k 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 Offline
    M Offline
    MasterBLB
    wrote on 30 Nov 2018, 09:20 last edited by
    #5

    That was the 1st I've tried (real used values are range <0, 100>, step 5) but it's still possible to set slider value to say 67 by clicking LMB on slider handle, and move it via mouse move.
    And I'd like the handle to stay in place while being dragged via mouse, and be moved only if the new value would be multiplication of step.

    J 1 Reply Last reply 30 Nov 2018, 10:00
    0
    • M MasterBLB
      30 Nov 2018, 08:46

      Hmmm...do you have void QAbstractSlider::sliderChange(QAbstractSlider::SliderChange change) in mind @raven-worx ?

      R Offline
      R Offline
      raven-worx
      Moderators
      wrote on 30 Nov 2018, 09:41 last edited by raven-worx
      #6

      @MasterBLB said in Custom behavior for QSlider - tips/hints needed:

      Hmmm...do you have void QAbstractSlider::sliderChange(QAbstractSlider::SliderChange change) in mind @raven-worx ?

      no.
      my suggestion doesn't require any change/subclassing of QSlider. Just how you interpret the returned value

      --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
      If you have a question please use the forum so others can benefit from the solution in the future

      1 Reply Last reply
      0
      • M MasterBLB
        30 Nov 2018, 09:20

        That was the 1st I've tried (real used values are range <0, 100>, step 5) but it's still possible to set slider value to say 67 by clicking LMB on slider handle, and move it via mouse move.
        And I'd like the handle to stay in place while being dragged via mouse, and be moved only if the new value would be multiplication of step.

        J Online
        J Online
        J.Hilk
        Moderators
        wrote on 30 Nov 2018, 10:00 last edited by
        #7

        @MasterBLB
        in that cause.

        A quick and dirty workaround could be:

        QSlider *slider(new QSlider);
            slider->setRange(0,100);
            slider->show();
        
            QObject::connect(slider, &QSlider::valueChanged, slider, [slider](int value){
                const int step = 5;
                int offset = value % step;
                if( offset != 0)
                    slider->setValue(value - offset);
            });
        

        use at one's own risk


        Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


        Q: What's that?
        A: It's blue light.
        Q: What does it do?
        A: It turns blue.

        1 Reply Last reply
        2
        • M Offline
          M Offline
          MasterBLB
          wrote on 1 Dec 2018, 09:59 last edited by MasterBLB 12 Jan 2018, 10:20
          #8

          Thanks @J-Hilk , the last workaround works almost exactly as I'd like it to - however, middle values are still sent via signal valueChanged() :/ though I think I could add logic into receiver to ignore everything which is not sliderValue % sliderStep() = 0

          EDIT:
          SPLENDID, the combined approach worked! Thank you very much Brother.

          1 Reply Last reply
          1
          • M Offline
            M Offline
            MasterBLB
            wrote on 1 Dec 2018, 10:22 last edited by
            #9

            WTF, why I can't set J.Hilk's post as correct answer?? o.O Moderators, please help!

            K 1 Reply Last reply 1 Dec 2018, 10:40
            0
            • M MasterBLB
              1 Dec 2018, 10:22

              WTF, why I can't set J.Hilk's post as correct answer?? o.O Moderators, please help!

              K Offline
              K Offline
              kshegunov
              Moderators
              wrote on 1 Dec 2018, 10:40 last edited by
              #10

              Should be able to. What's not working with it? Did you find the button to do so?

              Read and abide by the Qt Code of Conduct

              1 Reply Last reply
              0
              • M Offline
                M Offline
                MasterBLB
                wrote on 1 Dec 2018, 10:58 last edited by
                #11

                I'm poining those 3 dots with mouse, but in the menu there is no option "mark this post as correct answer". I have the option for my posts only o.O

                K 1 Reply Last reply 1 Dec 2018, 11:29
                0
                • M MasterBLB
                  1 Dec 2018, 10:58

                  I'm poining those 3 dots with mouse, but in the menu there is no option "mark this post as correct answer". I have the option for my posts only o.O

                  K Offline
                  K Offline
                  kshegunov
                  Moderators
                  wrote on 1 Dec 2018, 11:29 last edited by
                  #12

                  That's odd, it may be a bug in the forum software. I can see it for all posts, but it should be available to you too. I'll make inquiries.

                  Read and abide by the Qt Code of Conduct

                  J 1 Reply Last reply 1 Dec 2018, 11:59
                  0
                  • K kshegunov
                    1 Dec 2018, 11:29

                    That's odd, it may be a bug in the forum software. I can see it for all posts, but it should be available to you too. I'll make inquiries.

                    J Offline
                    J Offline
                    JKSH
                    Moderators
                    wrote on 1 Dec 2018, 11:59 last edited by
                    #13

                    @kshegunov said in Custom behavior for QSlider - tips/hints needed:

                    That's odd, it may be a bug in the forum software. I can see it for all posts, but it should be available to you too. I'll make inquiries.

                    Thanks, @kshegunov. The inquiry is at https://forum.qt.io/topic/97183/mark-as-correct-answer-not-appearing-for-some-posts

                    @MasterBLB, I've marked the solution for you in the meantime.

                    Qt Doc Search for browsers: forum.qt.io/topic/35616/web-browser-extension-for-improved-doc-searches

                    1 Reply Last reply
                    3
                    • M Offline
                      M Offline
                      MasterBLB
                      wrote on 1 Dec 2018, 19:47 last edited by
                      #14

                      Thank you @JKSH .

                      1 Reply Last reply
                      0

                      14/14

                      1 Dec 2018, 19:47

                      • Login

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