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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Обработка событий нажатия клавиатуры в QGraphicsItem  (Прочитано 6285 раз)
iukash
Гость
« : Март 23, 2010, 21:47 »

Переопределяю виртуальную функцию virtual void   keyPressEvent ( QKeyEvent * event ), но ничего не работает, помогите пожалуйста
Цитировать
class MyClass: public QGraphicsItem
{
public:

    virtual void   keyPressEvent ( QKeyEvent * event )
    {
        switch(event->key())
        {
        case Qt::Key_1:QApplication::setOverrideCursor(Qt::PointingHandCursor);
            break;
        }
    }
Записан
alexman
Гость
« Ответ #1 : Март 23, 2010, 22:46 »

void QGraphicsItem::keyPressEvent ( QKeyEvent * event ) -> Note that key events are only received for items that set the ItemIsFocusable flag...
Выполнено это условие?
Записан
iukash
Гость
« Ответ #2 : Март 23, 2010, 23:05 »

Я совсем чайник я не понимаю о чем это
Цитировать
Note that key events are only received for items that set the ItemIsFocusable flag...
Куда события устанавливают этот флаг? И что с ним делать?
Я хочу обработать нажатие клавиш, как это сделать, объясните пожалуйста.
Записан
alexman
Гость
« Ответ #3 : Март 23, 2010, 23:12 »

Попробуй вызвать setFlag( QGraphicsItem::ItemIsFocusable, true ); для элемента этого класса.
Записан
iukash
Гость
« Ответ #4 : Март 23, 2010, 23:37 »

Цитировать
Попробуй вызвать setFlag( QGraphicsItem::ItemIsFocusable, true ); для элемента этого класса.
Не помогло!!!
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #5 : Март 24, 2010, 11:55 »

Т.е. вы выставили для определенного элемента флаг ItemIsFocusable, нажали на этот элемент мышкой и уже потом нажали "1" и не помогло?
Записан

Qt 5.11/4.8.7 (X11/Win)
iukash
Гость
« Ответ #6 : Март 24, 2010, 12:15 »

Прошу прощения alexman да все заработало спасибо огромное, это я вместо флага ItemIsFocusable воткнул ItemIsMovable, вот и пользуйся после этого автодополнением кода!  Обеспокоенный
GreatSnake  тоже огромное спасибо, за то что не бросаете чайника и помогаете советом!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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