Название: QSlider рисование текущего значения Отправлено: vintik от Март 29, 2013, 13:10 Господа, помогите плз!
В QSlider необходимо отображать его текущее значение над ползунком. Как я вижу есть 2 способа: 1. Завести QLabel и двигать его по событию valueChanged(int) 2. Отрисовывать значение в paintEvent Хотел бы разобраться со вторым случаем. Делаю так Код: void paintEvent(QPaintEvent *event) Получается примерно следующее (http://img835.imageshack.us/img835/3015/sliderj.png) (http://imageshack.us/photo/my-images/835/sliderj.png/) Пару проблем не могу решить. 1. Не понимаю как мне рисовать текущее значение, чтобы оно было чуточку выше ползунка (чтобы не перекрывалось) 2. Позиция (position) вычисляемая в коде не всегда в точности совпадает с позицией ползунка. Если ползунок в начале то position чуть левее ползунка. Если же ползунок в конце, то position переползает правее ползунка Спасибо Название: Re: QSlider рисование текущего значения Отправлено: carrygun от Март 29, 2013, 13:41 Может проще будет использовать QTooltip::showText()?
Название: Re: QSlider рисование текущего значения Отправлено: vintik от Март 29, 2013, 13:43 Да, мне коллега уже посоветовал, но всё равно спасибо!
Название: Re: QSlider рисование текущего значения Отправлено: Alex Custov от Март 29, 2013, 13:49 вызывай сперва QSlider::paintEvent(event), а потом только свой код
Название: Re: QSlider рисование текущего значения Отправлено: vintik от Март 29, 2013, 13:57 Тоже вариант, но тогда всё равно имеет место некоторое "перекрытие"
(http://img27.imageshack.us/img27/7663/slider1l.png) (http://imageshack.us/photo/my-images/27/slider1l.png/) По-прежнему остаётся проблема с вычислением позиции отображаемого текста Название: Re: QSlider рисование текущего значения Отправлено: BuRn от Март 30, 2013, 08:07 На сколько я знаю так обычно не делают , чем вас не устраивает вариант отображать значение слева, т.е. грубо говоря его менять, ведь наверняка после того как слайдер вы перетащите на другую позицию , значение слева обновится
Название: Re: QSlider рисование текущего значения Отправлено: Igors от Март 30, 2013, 08:52 Подход с paintEvent выглядит "мелкотравчатым", меняйте уже отрисовку самого thnmb'а (через стиль или как)
|