Название: Специалистам QTable вопрос... Отправлено: Const от Апрель 15, 2005, 15:34 Доброго времени суток!
Пусть у меня имеется объкет QTable с некоторым количеством строк и столбцов. 1. Как сделать подстветку QtableItem над которым в данный момент находится указатель мыши? 2. Как нарисовать прямоугольник поверх нескольких QTableItem? Скажем, если, например, я хочу выделить несколько айтемов с помощью резинового контура? Спасибо за советы! Название: Re: Специалистам QTable вопрос... Отправлено: Hellenna от Апрель 15, 2005, 16:12 Цитата: "Const" 1. Как сделать подстветку QtableItem над которым в данный момент находится указатель мыши? отлавливать событие mouseMoveEvent: Код: void myTable::mouseMoveEvent(QMouseEvent *e) Цитата: "Const" 2. Как нарисовать прямоугольник поверх нескольких QTableItem? Скажем, если, например, я хочу выделить несколько айтемов с помощью резинового контура? аналогично, исппользуя paintCell. можешь посмотреть пример из qt: statistic Название: Специалистам QTable вопрос... Отправлено: Const от Апрель 15, 2005, 16:59 mouseMove ивент не приходит! Сколько не вошкайся мышкой по таблице... :evil:
Кстати, где можно найти пример statistic? Я у себя в Qt 3.3.. не нашел.. :shock: Название: Специалистам QTable вопрос... Отправлено: Racheengel от Апрель 15, 2005, 17:00 попробуй включить qApp->setGlobalMouseTraching(true);
Название: Специалистам QTable вопрос... Отправлено: Sergeich от Апрель 15, 2005, 17:39 Лучше написать уоurQTableInstance->setMouseTracking( true ), чтоб не генерить лишних событий.
Пример находится в $(QTDIR)/examples/table/statistics Название: Специалистам QTable вопрос... Отправлено: Hellenna от Апрель 15, 2005, 18:39 Цитата: "Const" mouseMove ивент не приходит! Сколько не вошкайся мышкой по таблице... :evil: если mouseTracking=false, mouseMoveEvent возникает только при движении с нажатой кнопкой мыши (какой неважно). Еще есть enterEvent(QEvent *e) и leaveEvent(QEvent *e) они возникают когда курсор мышы попадает на виджет и покидает его соответственно (при ненажатой кнопке). Может они тебе больше подойдут. Название: Специалистам QTable вопрос... Отправлено: Const от Апрель 18, 2005, 12:37 Спасибо всем за советы и участие!
Исследование показало, что ивенты типа MouseMove, MouseButtonClick до производного от QTable класса не доходят :shock: Впрочем, до виджета, на территории которого располагается таблица - тоже. Как только мышь покидает территорию таблицы, так сразу все начинает работать. И mousemove и нажате и кнопок... В общем, решить задачу с отслеживанием движения мыши по таблице мне так и не удалось... Хорошо хоть, что click работает... Название: Специалистам QTable вопрос... Отправлено: Const от Апрель 18, 2005, 15:29 Нашел способ как отслеживать движение мышкой. Нужно приделать функцию
void contentsMouseMoveEvent( QMouseEvent *e ); и будет щастье... :roll: |