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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: [РЕШЕНО]keyPressEvent(), keyReleaseEvent(). Не пропускает клавиши  (Прочитано 5108 раз)
G-virus
Гость
« : Май 22, 2012, 13:54 »

Здравствуйте. У меня возникла довольно непонятная для меня проблема. Возможно и самая простая.
Написал класс
Код
C++ (Qt)
class PascalCode : public QTextEdit
{
   Q_OBJECT
   public:
   PascalCode(QWidget *parent = 0):QTextEdit(parent){}
   protected:
    void keyPressEvent(QKeyEvent *e);
    void keyReleaseEvent(QKeyEvent *e);
};
 

и оставил пустые ивенты
Код
C++ (Qt)
void PascalCode::keyPressEvent(QKeyEvent *e)
{
 
}
 
void PascalCode::keyReleaseEvent(QKeyEvent *e)
{
 
}
 

но почему-то символы не пропускаются, в текстовом поле текст не печатается. На e->accept() и e->ignore() ему тоже все равно. В чем может быть косяк? (извиняюсь за нубарский вопрос, но сроки жмут, а я впервые столкнулся с такой проблемой)
« Последнее редактирование: Май 22, 2012, 14:01 от G-virus » Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #1 : Май 22, 2012, 13:55 »

Вызывай методы базового класса.
Записан

Qt 5.11/4.8.7 (X11/Win)
G-virus
Гость
« Ответ #2 : Май 22, 2012, 14:01 »

Вызывай методы базового класса.

Да, это помогло, спасибо. А можно немножко теории, почему я не могу переопределить данные методы?
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #3 : Май 22, 2012, 14:04 »

А можно немножко теории, почему я не могу переопределить данные методы?
Переопределяй сколько хочешь, только в них не забывай вызывать аналогичные методы базового класса.
Ведь кто-то же должен обрабатывать нажатия.
Записан

Qt 5.11/4.8.7 (X11/Win)
G-virus
Гость
« Ответ #4 : Май 22, 2012, 14:05 »

А можно немножко теории, почему я не могу переопределить данные методы?
Переопределяй сколько хочешь, только в них не забывай вызывать аналогичные методы базового класса.
Ведь кто-то же должен обрабатывать нажатия.

А, ну, в принципе да, логично. Просто почему-то думал, что это автоматически делается, как вызов конструктора базового класса, например. Спасибо за помощь Улыбающийся
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #5 : Май 22, 2012, 14:08 »

Просто почему-то думал, что это автоматически делается, как вызов конструктора базового класса, например.
С чего это вдруг? Хм... не мешало бы азы C++ подучить.
Записан

Qt 5.11/4.8.7 (X11/Win)
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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