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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Рисование фигур по нажатию клавиши (Решено)  (Прочитано 4853 раз)
sanaforewer
Гость
« : Март 18, 2012, 09:24 »

Задача:
Нужно рисовать 4 различные геометрические фигуры по нажатию клавишь 1,2,3,4 на клавиатуре компьютера

ну я понял что надо создать свой класс
переопределить методы
virtual void paintEvent(QPaintEvent* pe)
virtual void keyPressEvent(QKeyEvent *e);
вопрос-
рисовать Qt может только из paintEvent, а как передать в этот метод информацию о нажатой клавише из keyPressEvent ?
через глобальную переменную?
но глобальные переменные не рекомендуется использовать
я только только на Qt писать начал как это по уму сделать (как обычно люди делают) подскажите плз
« Последнее редактирование: Март 18, 2012, 14:17 от sanaforewer » Записан
LisandreL
Птица говорун
*****
Offline Offline

Сообщений: 984


Надо улыбаться


Просмотр профиля
« Ответ #1 : Март 18, 2012, 11:38 »

Через переменную поле класса.
paintEvent провозируете через update() или repaint() (в чём разница смотрите в справке).
Записан
sanaforewer
Гость
« Ответ #2 : Март 18, 2012, 13:07 »

сделал, так конечно лучше смотрится,
но принципиально ничего не изменилось
можно ли это как то сделать на уровне механизма событий+наследования?
или я пытаюсь усложнить простую задачу?

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

Сообщений: 11445


Просмотр профиля
« Ответ #3 : Март 18, 2012, 13:53 »

Этот пример (рисование фигур) используется для введения в ООП уже десятки лет  Улыбающийся
В общем случае от Вас требуется создать базовый класс (напр CShape) и породить от него различные CRectangle, CCircle и.т.п. у которых есть свои поля и перекрытые виртуальные методы (paintEvent). По нажатию Вы должны создать нужный класс который "умеет себя рисовать"

Эх, если бы все было так просто как в этом примере  Улыбающийся
Записан
sanaforewer
Гость
« Ответ #4 : Март 18, 2012, 14:16 »

НЯЯЯЯЯ
СПС!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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