juvf
April 1, 2022, 3:04 p.m.

Виджет настройки

Всем доброго дня.

В прикреплении картинка виджета, который я бы хотел реализовать на QML. Это колесо настройки (вертикальное или горизонтальное)....
Суть: в центр виджета палец(мышку) ставишь и тянешь вправо-влево... вся линейка со шкалой начинает двигаться вместе с пальцем (наподобе слайдера). У виджета должно быть свойство currentValue, step1 и step2, инерция.
step1 - это минимальное значение на которое изменится currentValue, а step2 - это минимальное расстояние, на которое надо протянуть виджет, чтобы изменился currentValue.
Т.е. если step1 = 100, а step2 = 50 (пикселе/мм/inch/pt/попугев), то если протянуть виджет на 150 пикселей, то currentValue изменится на 300.

Ну и если по виджету чиркнуть, то прокрутка должна быть инертная и по инерции промотать какое-то кол-во до остановки. Вобщем аналог механического инертного колеса настройки.

Как подобное реализовать? Может есть похожий пример где в гугле? Даже не знаю как сформулировать поиск, чтоб похожее найти. Или может кто подкинет мыслеформу, как подобное реализовать в QML?

2

Do you like it? Share on social networks!

4
P
  • April 1, 2022, 4:23 p.m.
  • (edited)

Добрый день

Посмотри PathView
https://habr.com/ru/post/190090/
пример CoverFlow

    juvf
    • April 1, 2022, 4:38 p.m.

    Спасибо за отклик.... но толи я что-то не так объяснил.... толи я что-то не понимаю...
    Вы мне дали ответ на тот вопрос - "Как изобразить шкалу как будьто она на круглом колесе?".
    Но меня не это интересует. Пусть шкала будет плоская. Я хочу взять за шкалу пальцем (тачскрин или мышкой) и перетащить шкалу вправо-влево.
    Мучаю MouseArea, но пока ни чего не получается.

      P
      • April 1, 2022, 5:01 p.m.
      • (edited)

      "Как изобразить шкалу как будьто она на круглом колесе?"

      так можно и не цикличную прокрутку делать

      Я хочу взять за шкалу пальцем (тачскрин или мышкой) и перетащить шкалу вправо-влево.
      Мучаю MouseArea, но пока ни чего не получается.

      В таком случае ScrollView должно хватить

        juvf
        • April 1, 2022, 5:12 p.m.

        ну про CoverFlow вобможно в будущем можно будет и визуализацию выпуклости (колеса) сделать, спсибо.

        Сейчас пока нужен просто виджет настройки/регулировки.... Как это с помошью ScrollView реализовать? (рассмотрим горизонтальную ориентацию)
        Допустим я нарисую шкалу в png. ширина шкалы 500 пикселей. Сделаю ScrollView шириной 100 пикселей. Помещю в ScrollView картинку шкалы.
        Пальцем буду её двигать.... мне нужно как то зациклить. Протолкну шкалу по ScrollView до конца, а потом что?

          Comments

          Only authorized users can post comments.
          Please, Log in or Sign up
          • Last comments
          • AK
            April 1, 2025, 11:41 a.m.
            Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
          • Evgenii Legotckoi
            March 9, 2025, 9:02 p.m.
            К сожалению, я этого подсказать не могу, поскольку у меня нет необходимости в обходе блокировок и т.д. Поэтому я и не задавался решением этой проблемы. Ну выглядит так, что вам действитель…
          • VP
            March 9, 2025, 4:14 p.m.
            Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
          • ИМ
            Nov. 22, 2024, 9:51 p.m.
            Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
          • Evgenii Legotckoi
            Oct. 31, 2024, 11:37 p.m.
            Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup