crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Получить физические координаты компонента виджета
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
kwisp Дата 13.10.2009, 16:39
  если честно не пойму.
ты все равно такие мелкие передвижения не увидишь на одно деление из 7400.
просто у тебя шаг будет double и всё.
берешь value() и узнаешь сколько там пикселей уместилось.

Andrewshkovskii Дата 13.10.2009, 16:23
 
Цитата(kwisp @ 13.10.2009, 16:45) *
ну раздели длину в всего слайдера на максимальное значение value() получишь примерное прирощение координаты ползунка на единицу value()

Подумал я..именно так не получиться, если длина слайдера , допустим будет 254, а макс. значение 7400.. то результат будет меньше 1..я понимаю, что это примерное значение получается..но не настолько же))
Andrewshkovskii Дата 13.10.2009, 15:50
  Ну стиль меняться не будет, это лаба, а не продакшн код:) Просто потраченное время не будет стоить результата...
Конечно, если смотреть со стороны получаемого опыта.. В общем попробую так, как посоветовал kwisp
Litkevich Yuriy Дата 13.10.2009, 15:48
 
Цитата(Andrewshkovskii @ 13.10.2009, 17:59) *
А вот sliderPosition не понятно, возвращает int, это число относительного чего, и чем является?
Цитата
If tracking is enabled (the default), this is identical to value.


Andrewshkovskii, я думаю тут без наследования не обойтись. Стоит поменять стиль и все размеры изменятся.

Лучше унаследоватся и получить доступ к внутренностям.
kwisp Дата 13.10.2009, 15:45
  ну раздели длину в всего слайдера на максимальное значение value() получишь примерное прирощение координаты ползунка на единицу value()
Andrewshkovskii Дата 13.10.2009, 15:34
  Глобальные я понял как найти..а вот QSlider::SliderPosition возвращает int QSlider::value() .. а нужно как-то узнать, как найти координату ползунка, что бы под ним на нарисовать линию, до нижней координаты QGraphicView..
kwisp Дата 13.10.2009, 15:07
  можно узнать глобальные координаты слайдера
а sliderPosition() это позиция ползунка в int ты сам задаешь градацию.
обычно от 0 до 100.
Andrewshkovskii Дата 13.10.2009, 13:59
  Не смотрел ещё.
pos() возвратит позицию виджета относительно родительского? у меня просто сладер лежит в лейауте3, который лежит в лейауте2, а лейаут2, лежит в лейауте1...Я так понимаю он вернет позицию левого верхнего угла слайдера?
А вот sliderPosition не понятно, возвращает int, это число относительного чего, и чем является?.. :huh:
kwisp Дата 13.10.2009, 13:46
  Andrewshkovskii,
а вычислять координату в соответсвии с QSlider::pos() & QSlider::sliderPosition() не пробовал?
Andrewshkovskii Дата 13.10.2009, 13:39
  Что нужно : получить координаты ползунка у слайдера.
Зачем : для того, что бы реализовать вот это

т.е рисовать линию на QGraphicView прямо под ползунком.
Необходимо учесть, что максимальное значение слайдера может меняться во время выполнения программы.
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 6.12.2022, 0:18