Название: замучил DataTable Отправлено: 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 Название: замучил DataTable Отправлено: Alexei от Январь 04, 2007, 08:08 Код: if (ev->type() == QEvent::ContextMenu) По-моемому, пример с installEventFilter есть и в Qt3. Название: добавление Отправлено: vasa_sol от Январь 04, 2007, 15:17 не работают эти примеры ..... с любыми event .... именно с мышкой, с клавой - никаких проблем
Название: замучил DataTable Отправлено: Dendy от Январь 04, 2007, 15:41 Попробуй:
Код: dataTable3->viewport()->installEventFilter( this ); Название: замучил DataTable Отправлено: vasa_sol от Январь 04, 2007, 18:41 эффект тот-же - вываливается надоевшее Insert и проч ...... :(((
Название: замучил DataTable Отправлено: BaltikS от Январь 05, 2007, 01:05 а попробуй унаследоваться от него и переописать contextMenuEvent или contentsContextMenuEvent
Название: замучил DataTable Отправлено: vasa_sol от Январь 05, 2007, 14:17 с наследованием работает. только гемор - в наследника приходится запихивать что-то от родителя ... что родителю хотелось-бы оставить
добавлено спустя 29 минут: .. кстати а как contextMenuRequested запихнуть в наследника. конфликт с QTable не образуется? |