Russian Qt Forum
Ноябрь 24, 2024, 14:18
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
>
Прокрутка с прилипанием курсора
Страниц:
1
[
2
]
3
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Прокрутка с прилипанием курсора (Прочитано 21469 раз)
d13mon
Гость
Re: Прокрутка с прилипанием курсора
«
Ответ #15 :
Декабрь 14, 2012, 23:41 »
Цитата: Bepec от Декабрь 14, 2012, 23:01
Вы не умеете пока формулировать мысли. Вам нужен не "плавный" и "прилипчивый" курсор. Вам нужен просто последовательный переход по списку.
Так сами и реализуйте. Если разница от последнего движения < 20 допустим, тогда сдвигаем на 1/2/3/4 и т.д. Если >20 тогда двигать стандартно. В чём проблема?
Я прекрасно всё сформулировал - мне нужен прилипчивый курсор, это основная задача. А нужную плавность ползунка я действительно и сам могу реализовать. Это дело 10-е.
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Прокрутка с прилипанием курсора
«
Ответ #16 :
Декабрь 14, 2012, 23:57 »
Цитата: d13mon от Декабрь 14, 2012, 22:44
Могу уточнить: пусть у нас не 1000, а миллион строк. thumb в крайнем верхнем положении. Окно просмотра небольшое, видно только 100 строк. thumb очень маленький из-за масштабов. Юзер хватает слайдер, дергает и прокручивает на строку с номером 100 000. А ему нужно спозиционироваться на 101-ю строку. Если курсор прилипает ( как в реализации что я видел), то происходит замедленный скроллинг, благодаря чему исключается ситуация перекручивания нужной позиции. Происходит более точное позиционирование. И так как курсор прилипает (а там наверняка происходит возвращение позиции), то можно довольно долго тянуть и не выйти за границы экрана
Не уверен что Вы меня правильно поймете (наверняка наоборот), но все же я попробую объяснить.
Любая вещь имеет "шипы и розы", а UI особенно. Все прекрасно пока мы пользуемся мощностями фреймворка - лихо и быстро. И даже возникают мысли/иллюзии типа "какой я талантливый, как быстро разобрался!"
Но вот когда мы пытаемся погладить эту кошку против шерсти - ничего хорошего не выходит. Вы упорно пытаетесь делать именно так - конечно это Ваше право. Но не лучше ли "собирать розы" и "обходить шипы"? Это куда более практично и (не побоюсь этого слова) профессионально. В реальном проекте даже 2 дня на "крутой скроллинг" - недопустимая роскошь - пусть скроллинг безумно крут.
C'est la vie
Записан
Bepec
Гость
Re: Прокрутка с прилипанием курсора
«
Ответ #17 :
Декабрь 15, 2012, 11:54 »
Я несогласен, Igors.
Для обучения и пробы сил, такие плюшечки очень полезны ) Заодно как раз твой совет поймёт
Но я до сих пор не понял чего хочет автор
Потому и помочь не могу.
PS вот если б он допустим нарисовал все состояния и переходы между ними, или же выложил тестовый проект с проблемой - тогда да.
Записан
GreatSnake
Джедай : наставник для всех
Offline
Сообщений: 2921
Re: Прокрутка с прилипанием курсора
«
Ответ #18 :
Декабрь 15, 2012, 12:02 »
Цитата: d13mon от Декабрь 14, 2012, 22:44
Могу уточнить: пусть у нас не 1000, а миллион строк.
Коли разговор идёт о таком количестве строк, о каком "прилипании" и вообще юзабельности может идти речь
Надо вообще перепроектировать интерфейс, а не забивать себе голову прокрутками.
Записан
Qt 5.11/4.8.7 (X11/Win)
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Прокрутка с прилипанием курсора
«
Ответ #19 :
Декабрь 15, 2012, 12:21 »
Цитата: Bepec от Декабрь 15, 2012, 11:54
Для обучения и пробы сил, такие плюшечки очень полезны )
"Вообще говоря" да, но UI для этого, пожалуй, наихудшее место - все уходит в изучение потрохов чужих классов, проектирование практически на нуле
Записан
Bepec
Гость
Re: Прокрутка с прилипанием курсора
«
Ответ #20 :
Декабрь 15, 2012, 14:18 »
Чем больше изучаешь чужих потрохов, тем опытнее становишься сам
Прямая пропорциональность изучения хорошего кода.
PS хотя и я сам не достиг
вершины самососредоточения
понимания всех внутренностей Qt.
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Прокрутка с прилипанием курсора
«
Ответ #21 :
Декабрь 15, 2012, 14:34 »
Цитата: Bepec от Декабрь 15, 2012, 14:18
Чем больше изучаешь чужих потрохов, тем опытнее становишься сам
Прямая пропорциональность изучения хорошего кода.
Мне кажется за европейскую зарплату он мог быть и лучше
. Пропорциональность описывается формулой
E = 1.0 - e^(-kt), где
E - достигнутый эффект
t - время изучения
k - способности изучающего
И по ходу дела усилим Вас в "графике" - чему там соответствует эта формула?
Записан
Bepec
Гость
Re: Прокрутка с прилипанием курсора
«
Ответ #22 :
Декабрь 15, 2012, 14:49 »
хз если честно ) Приводить реального человека к формулам бессмысленно
Слишком большой разброс параметров
Записан
d13mon
Гость
Re: Прокрутка с прилипанием курсора
«
Ответ #23 :
Декабрь 15, 2012, 20:41 »
Цитата: Igors от Декабрь 14, 2012, 23:57
Цитата: d13mon от Декабрь 14, 2012, 22:44
Могу уточнить: пусть у нас не 1000, а миллион строк. thumb в крайнем верхнем положении. Окно просмотра небольшое, видно только 100 строк. thumb очень маленький из-за масштабов. Юзер хватает слайдер, дергает и прокручивает на строку с номером 100 000. А ему нужно спозиционироваться на 101-ю строку. Если курсор прилипает ( как в реализации что я видел), то происходит замедленный скроллинг, благодаря чему исключается ситуация перекручивания нужной позиции. Происходит более точное позиционирование. И так как курсор прилипает (а там наверняка происходит возвращение позиции), то можно довольно долго тянуть и не выйти за границы экрана
Не уверен что Вы меня правильно поймете (наверняка наоборот), но все же я попробую объяснить.
Любая вещь имеет "шипы и розы", а UI особенно. Все прекрасно пока мы пользуемся мощностями фреймворка - лихо и быстро. И даже возникают мысли/иллюзии типа "какой я талантливый, как быстро разобрался!"
Но вот когда мы пытаемся погладить эту кошку против шерсти - ничего хорошего не выходит. Вы упорно пытаетесь делать именно так - конечно это Ваше право. Но не лучше ли "собирать розы" и "обходить шипы"? Это куда более практично и (не побоюсь этого слова) профессионально. В реальном проекте даже 2 дня на "крутой скроллинг" - недопустимая роскошь - пусть скроллинг безумно крут.
C'est la vie
Совет бесспорно хороший, спасибо, но только не в моей ситуации.
Ладно, давайте пойдем другим путем.
Я работаю над проектом, у меня есть требование заказчика - сделать прилипание курсора к слайдеру. Вот захотел он и всё, и его не колышет, сколько времени нужно убить на эту фичу. Я повозился, реализовать нормально не получилось, дальше париться не стал - решил спросить у местных гуру программирования, может кто реализовывал или может кто знает, как это реализуется.
Пока я не увидел каких-то полезных советов, только вопросы вроде "Зачем тебе это нужно?" или "Чего ты хочешь добиться?". Я хочу добиться "мертвого" прилипания курсора к слайдеру и всё.
Записан
d13mon
Гость
Re: Прокрутка с прилипанием курсора
«
Ответ #24 :
Декабрь 15, 2012, 20:45 »
Цитата: GreatSnake от Декабрь 15, 2012, 12:02
Цитата: d13mon от Декабрь 14, 2012, 22:44
Могу уточнить: пусть у нас не 1000, а миллион строк.
Коли разговор идёт о таком количестве строк, о каком "прилипании" и вообще юзабельности может идти речь
Надо вообще перепроектировать интерфейс, а не забивать себе голову прокрутками.
Строки - это для примера, я человеку на строках объяснял проблему. У меня прокрутка в графической сцене. Там ничего не перепроектируешь
Записан
mutineer
Гость
Re: Прокрутка с прилипанием курсора
«
Ответ #25 :
Декабрь 15, 2012, 21:08 »
Цитата: d13mon от Декабрь 15, 2012, 20:41
Я хочу добиться "мертвого" прилипания курсора к слайдеру и всё.
Имхо "мертвого" прилипания ты не получишь - перемещением курсора управляется осью, ты можешь на него среагировать и курсор вернуть назад, но при этом будет видно дергание. Разве что ты скроешь курсор и налепишь на слайдер имитацию, которой будешь управлять уже сам
«
Последнее редактирование: Декабрь 15, 2012, 21:10 от mutineer
»
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Прокрутка с прилипанием курсора
«
Ответ #26 :
Декабрь 15, 2012, 22:23 »
Цитата: d13mon от Декабрь 15, 2012, 20:41
Пока я не увидел каких-то полезных советов, только вопросы вроде "Зачем тебе это нужно?" или "Чего ты хочешь добиться?". Я хочу добиться "мертвого" прилипания курсора к слайдеру и всё.
Не стоит "фыркать"
Рано или поздно время все расставляет по своим местам. Ваш первый пост был 11 декабря, минимум 4 дня Вы уже посвятили этой возне. И что-то мне подсказывает что и через неделю, и две ничего реально не изменится. И придется искать другие архитектурные решения, разница (непринципиальная) только в том сколько времени Вы потеряете.
В 3D сцене скроллбаров нет и никогда не было, т.к. их несостоятельность выясняется очень быстро. Но и в 2D они уже давно скорее "дань традиции". Если картинка приличная - скроллбаром ничего путного не получить, используются др средства/приемы навигации которые хорошо известны. Хотите поупираться рогом и доказать обратное - ну флаг Вам в руки. А мы посмотрим (и может напомним)
Как говорится, "Ваше упорство заслуживает лучшего применения"
Записан
Bepec
Гость
Re: Прокрутка с прилипанием курсора
«
Ответ #27 :
Декабрь 15, 2012, 23:59 »
Если ты нарисуешь или сделаешь проект, в котором показывается в чем у тебя проблема, я посмотрю. Если не сделаешь или не нарисуешь, тогда не посмотрю.
Записан
d13mon
Гость
Re: Прокрутка с прилипанием курсора
«
Ответ #28 :
Декабрь 17, 2012, 18:53 »
Записал видео,в нем наглядно видно, какой эффект ожидается. Это из коммерческй программы, в которой данная фича была замечена. На чем реализовано - не знаю. У меня похожий контрол, только на qt, с использованием QGraphicsScene.
http://webfile.ru/6272936
Вес - 584Кб
Записан
d13mon
Гость
Re: Прокрутка с прилипанием курсора
«
Ответ #29 :
Декабрь 17, 2012, 18:58 »
Цитата: Igors от Декабрь 15, 2012, 22:23
И что-то мне подсказывает что и через неделю, и две ничего реально не изменится. И придется искать другие архитектурные решения, разница (непринципиальная) только в том сколько времени Вы потеряете.
Я рассматриваю с позиции "всё можно реализовать".
Цитата: Igors от Декабрь 15, 2012, 22:23
В 3D сцене скроллбаров нет и никогда не было, т.к. их несостоятельность выясняется очень быстро. Но и в 2D они уже давно скорее "дань традиции". Если картинка приличная - скроллбаром ничего путного не получить, используются др средства/приемы навигации которые хорошо известны. Хотите поупираться рогом и доказать обратное - ну флаг Вам в руки. А мы посмотрим (и может напомним)
Да, у меня 2D сцена. Постом выше я приаттачил видео, где видна проблема и область применения этой фичи. Прокрутка во вьюпорте - это разве "дань традиции"?)
Записан
Страниц:
1
[
2
]
3
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...