LINUX.ORG.RU

Про QCanvasItem


0

0

1. Изменения в свойстве subj-а я перерисовываю с помощью пары методов hide() и show(). В противном случае canvas()->update() для QCanvasView на меня не реагирует.

2. Как для subj-а сделать tooltip (он не входит в набор свойств), допустим я таскаю subj по экрану и при этом tooltip отображает мне текущие координаты левого верхнего угла.

Помогите, пожалуйста, разрешить эти вопросы.


>1. Изменения в свойстве subj-а я перерисовываю с помощью пары методов hide() и show(). В противном случае canvas()->update() для QCanvasView на меня не реагирует.

Неправильно делаешь. Наверно, забыл перед canvas()->update сделать QCanvasItem::update() ?

2. Как для subj-а сделать tooltip (он не входит в набор свойств), допустим я таскаю subj по экрану и при этом tooltip отображает мне текущие координаты левого верхнего угла.

Делал я такое недавно... Сами подсказки сделать не трудно (см. пример в исх. Qt), а вот как-то контролировать момент их "всплытия" не получилось. Точнее, та задержка, которая реализована в QToolTip, меня не устраивала (слишком долго ждать). Также, навскидку, еще одна проблема появилась, связанная с потерей производительности, так как CanvasView должен затирать за QToolTip... хотя, может, и не из-за этого. Вобщем, после того, как потерял день на эти эксперименты, сделал старым, проверенным способом - в статусной строке, в формате X, Y W x H. "За" такого подхода в том, что позиция/размеры элемента видны всегда, а не только тогда, когда его таскаешь.

ANDI ★★
()
Ответ на: комментарий от ANDI

По поводу ответа на второй вопрос Вы меня убедили, спасибо. А вот что касается первого - так у QCanvasItem нет такого метода update()!!!

gtyrin
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.