crossplatform.ru

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


  Ответ в QTableWidget - мышиные события
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
Теги
Выровнять по центру
Ссылка на тему
Ссылка на сообщение
Скрытый текст
Сокращение
Код с подсветкой
Offtopic
 
Удалить форматирование
Спец. элементы
Шрифт
Размер
 
Цвет шрифта
 
Отменить ввод
Вернуть ввод
Полужирный
Курсив
Подчеркнутый
 
 
Смайлики
Вставить изображение
Вставить адрес электронной почты
Цитата
Код
Раскрывающийся текст
 
Увеличить отступ
По левому краю
По центру
По правому краю
Вставить список
Вставить список

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


Последние 10 сообщений [ в обратном порядке ]
flankerr Дата 21.2.2011, 13:25
 
Цитата(abc @ 18.2.2011, 22:00) *
установи фильтр не на tablewidget, а на tablewidget->viewport это у меня работало на tableview, разницы, наверное, нет

Плин, ларчик то просто открывался - про вьюпорт не подумал.
abc Дата 18.2.2011, 22:00
  установи фильтр не на tablewidget, а на tablewidget->viewport
это у меня работало на tableview, разницы, наверное, нет
kwisp Дата 18.2.2011, 17:09
 
Цитата(flankerr @ 18.2.2011, 16:52) *
но тут не получается отловить тот же

QEvent::MouseButtonPress

код покажи
flankerr Дата 18.2.2011, 16:52
 
Цитата(kwisp @ 18.2.2011, 15:24) *
Цитата
Mouse move events will occur only when a mouse button is pressed down, unless mouse tracking has been enabled with QWidget::setMouseTracking().
Цитата(flankerr @ 18.2.2011, 15:04) *
при это понять от какой кнопки это клик нельзя

а как ты определяешь?

что даёт setMouseTracking() пока не понял...

В том то и вопрос что ни как. А как можно то ???
//Signals :
void cellActivated ( int row, int column ) 
void cellChanged ( int row, int column ) 
void cellClicked ( int row, int column ) 
void cellDoubleClicked ( int row, int column ) 
void cellEntered ( int row, int column ) 
void cellPressed ( int row, int column ) 
void itemActivated ( QTableWidgetItem * item ) 
void itemChanged ( QTableWidgetItem * item ) 
void itemClicked ( QTableWidgetItem * item ) 
void itemDoubleClicked ( QTableWidgetItem * item ) 
void itemEntered ( QTableWidgetItem * item ) 
void itemPressed ( QTableWidgetItem * item )

нет тут инфы о мыше.

Можно поставить
eventFilter(QObject *obj, QEvent *event)
но тут не получается отловить тот же
QEvent::MouseButtonPress


Цитата
Цитата(flankerr @ 18.2.2011, 15:04) *
Унаследовать свой класс и переопределить обработчик сообщений не могу т.к. см выше создано всё через дизайнер - так что вариант отпадает.
не факт.
в дизайнер можно свои изменённые виджеты добавлять.

Свои виджеты добавить можно на постояной основе - т.е. они будут свититься как все остальные это оправдано если у тебя есть компонент который используется постоянно а если это разово то нет смысла.
kwisp Дата 18.2.2011, 15:24
 
Цитата
Mouse move events will occur only when a mouse button is pressed down, unless mouse tracking has been enabled with QWidget::setMouseTracking().
Цитата(flankerr @ 18.2.2011, 15:04) *
при это понять от какой кнопки это клик нельзя

а как ты определяешь?

Цитата(flankerr @ 18.2.2011, 15:04) *
Унаследовать свой класс и переопределить обработчик сообщений не могу т.к. см выше создано всё через дизайнер - так что вариант отпадает.

не факт.
в дизайнер можно свои изменённые виджеты добавлять.
flankerr Дата 18.2.2011, 15:04
  Есть форма созданная в дизайнере. В дизейнере на форму кинут QTableWidget.
Надо отлавливать мышинные события. Вопрос как ?

Сигналов мышиных нет - елси только "клики" при это понять от какой кнопки это клик нельзя. ЭвентФильтр сообщений мышки тоже не ловит.
Унаследовать свой класс и переопределить обработчик сообщений не могу т.к. см выше создано всё через дизайнер - так что вариант отпадает.

Кто подскажет ? :rolleyes:
Просмотр темы полностью (откроется в новом окне)
RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 11.7.2025, 20:23