2011-01-28 3 views
0

Я визуализирую элементы Qt gui на своем собственном экране 3d-приложения, передавая Qt-материал QImage, а затем рисуя его на экране. Я перенаправляю вход в QGraphicsScene, но не все работает. Нажатие кнопок отлично работает при нажатии кнопки QLineEdit или веб-страниц в QWebView. Однако, похоже, работает doubleclick - doubleclicked QLineEdit будет выбирать какой-то текст, но все равно не будет фокусироваться. Что может быть причиной этого?проблема с фокусировкой QLineEdit, переданная QGraphicsScene

+0

Вы используете 'QGraphicsProxyWidget' для переноса этих элементов управления? –

+0

ehm нет, я нет. собираюсь исследовать это! – marrat

+0

См. Http://doc.qt.nokia.com/latest/qgraphicsscene.html#addWidget –

ответ

0

Я также реализовал передачу событий клавиатуры. Независимо от того, как я отправляю события (QGraphicsScene :: keyPressEvent()/QGraphicsScene :: keyReleaseEvent() или QApplication :: sendEvent), текст не вводится в элемент управления, даже если в QLineEdit выбран какой-либо текст (текст должен быть перезаписан, не так ли?). Я подозреваю, что это из-за того, что QLineEdit не набирает фокус, щелкнув его, но я не могу понять, почему он не сфокусирован. Все события отправляются в мой подкласс QGraphicsScene.

1

У меня была такая же проблема. Мне показалось, что у меня было

QGraphicsView.keyPressEvent(self, keyEvent) 

, реализованный в моей графике. Пришлось повторно отправить событие в цепочку наследования.

+2

вы могли бы объяснить больше? – marrat

Смежные вопросы