Russian Qt Forum
Ноябрь 24, 2024, 07:43 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: замучил DataTable  (Прочитано 4183 раз)
vasa_sol
Гость
« : Январь 04, 2007, 02:02 »

Здравствуйте всем!
Хочу на QDataTable (Qt 3.3) сделать свое popup-меню. Делаю в констукторе
dataTable3 = new QDataTable(....);
....
dataTable3->installEventFilter( this );
....
bool eventFilter( QObject *obj, QEvent *ev )
{
if ( obj == dataTable3 ) {
   if (ev->type() == QEvent::ContextMenu) {

не работает собака - все также вываливается Insert,Delete,Update, хотя от клавы события if (ev->type() == QEvent::KeyPress) перехватываются и обрабатываютя. Как убить "стандартное" вываливание Insert,Delete,Update и как сделать правильно свое меню?

Помогите плз, второй день умираю.....

vasa
Записан
Alexei
Гость
« Ответ #1 : Январь 04, 2007, 08:08 »

Код:
if (ev->type() == QEvent::ContextMenu)
{
  ...
  return true;
} else
  return QObject::eventFilter(obj, ev)


По-моемому, пример с installEventFilter есть и в Qt3.
Записан
vasa_sol
Гость
« Ответ #2 : Январь 04, 2007, 15:17 »

не работают эти примеры ..... с любыми event .... именно с мышкой, с клавой - никаких проблем
Записан
Dendy
Гость
« Ответ #3 : Январь 04, 2007, 15:41 »

Попробуй:

Код:
dataTable3->viewport()->installEventFilter( this );
...
if ( obj == dataTable3->viewport() )
{
   ...
}
Записан
vasa_sol
Гость
« Ответ #4 : Январь 04, 2007, 18:41 »

эффект тот-же - вываливается надоевшее Insert и проч ...... Грустный((
Записан
BaltikS
Гость
« Ответ #5 : Январь 05, 2007, 01:05 »

а попробуй унаследоваться от него и переописать contextMenuEvent или contentsContextMenuEvent
Записан
vasa_sol
Гость
« Ответ #6 : Январь 05, 2007, 14:17 »

с наследованием работает. только гемор - в наследника приходится запихивать что-то от родителя ... что родителю хотелось-бы оставить

добавлено спустя 29 минут:

 .. кстати а как contextMenuRequested запихнуть в наследника. конфликт с QTable  не образуется?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.046 секунд. Запросов: 20.