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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Блокировка контекстного меню в ячейке TableWidget  (Прочитано 2100 раз)
yl5der
Гость
« : Август 04, 2013, 16:20 »

Здравствуйте. Прошу подсказать. Как заблокировать щелчок правой клавиши мыши в ячейке TableWidget, чтобы контекстное меню не вызывалось?
Вот набросал
Код:
bool editorEvent(QEvent* event, QAbstractItemModel* model, const QStyleOptionViewItem& option, const QModelIndex& index) {
    if (event->type() == QEvent::MouseButtonRelease)
    {
    QMouseEvent *ms = static_cast<QMouseEvent*>(event);
    if (ms->button() == Qt::RightButton)
    {
        QMessageBox* box = new QMessageBox();
                  box->setWindowTitle(QString("Hello"));
                  box->setText(QString("You Pressed: "));
                  box->show();
    return true;
    }
    }
else
    return QItemDelegate::editorEvent(event, model, option, index);
}
Это переопр. функция нового делегата QItemDelegate. Детект правой кнопки есть, но редактирование не работает.
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #1 : Август 04, 2013, 17:56 »

if (event->type() == QEvent::ContextMenu)
    return true;
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
yl5der
Гость
« Ответ #2 : Август 04, 2013, 23:16 »

Спасибо, все так просто))
В eventFilter работает.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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