juvf
juvf01 квітня 2022 р. 05:04

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

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

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

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

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

Рекомендуємо хостинг TIMEWEB
Рекомендуємо хостинг TIMEWEB
Стабільний хостинг, на якому розміщується соціальна мережа EVILEG. Для проектів на Django радимо VDS хостинг.

Вам це подобається? Поділіться в соціальних мережах!

4
P
  • 01 квітня 2022 р. 06:23
  • (відредаговано)

Добрый день

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

    juvf
    • 01 квітня 2022 р. 06:38

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

      P
      • 01 квітня 2022 р. 07:01
      • (відредаговано)

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

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

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

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

        juvf
        • 01 квітня 2022 р. 07:12

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

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

          Коментарі

          Only authorized users can post comments.
          Please, Log in or Sign up
          Ua

          Qt - Тест 001. Сигналы и слоты

          • Результат:84бали,
          • Рейтинг балів4
          Ua

          Qt - Тест 001. Сигналы и слоты

          • Результат:42бали,
          • Рейтинг балів-8
          ОК

          Qt - Тест 001. Сигналы и слоты

          • Результат:47бали,
          • Рейтинг балів-6
          Останні коментарі
          ИМ
          Игорь Максимов22 листопада 2024 р. 11:51
          Django - Підручник 017. Налаштуйте сторінку входу до Django Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
          Evgenii Legotckoi
          Evgenii Legotckoi31 жовтня 2024 р. 14:37
          Django - Урок 064. Як написати розширення для Python Markdown Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup
          A
          ALO1ZE19 жовтня 2024 р. 08:19
          Читалка файлів fb3 на Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
          ИМ
          Игорь Максимов05 жовтня 2024 р. 07:51
          Django - Урок 064. Як написати розширення для Python Markdown Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
          d
          dblas505 липня 2024 р. 11:02
          QML - Урок 016. База даних SQLite та робота з нею в QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
          Тепер обговоріть на форумі
          Дмитрий
          Дмитрий03 лютого 2025 р. 06:24
          Создание deb-пакета. Как создать ярлык на рабочем столе после установки собственного deb-пакета? Всем привет. Сделал свой deb-пакет с программой. Всё устанавливается и работает. Ставлю по пути /usr/bin/my_application. Как для пользователя при установке пакета сразу создать ярлык на раб…
          NW
          Nayo Wai30 січня 2025 р. 09:22
          не запускается компьютер!!! Не запускается компьютер (точнее работает блок , но сам монитор вообще жесть)В общем я ничего с интернета не скачивала в последнее время. На компе никаких левых пр…
          n
          nkly03 січня 2025 р. 02:52
          Нужно запретить перемещение только некоторых итемов, остальные перемещать можно. Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…
          M
          Marsel16 серпня 2023 р. 14:26
          OAuth2.0 через VK, получение email Спасибо большое за помощь и простите за то что отнял время своей невнимательностью.
          Evgenii Legotckoi
          Evgenii Legotckoi24 червня 2024 р. 15:11
          добавить qlineseries в функции Я тут. Работы оень много. Отправил его в бан.

          Слідкуйте за нами в соціальних мережах