Ich habe ein minimales Arbeitsbeispiel für eine Eingabebox erstellt, die ich mit einem QGraphicsItem entwickeln möchte. Hier ist der Code (ich würde Figur die .h nicht notwendig ist):Wie wird die Android-Tastatur angezeigt, wenn Qt für Android verwendet wird?
TestEditor::TestEditor()
{
text = "";
boundingBox = QRectF(0,0,200,100);
}
QRectF TestEditor::boundingRect() const{
return boundingBox;
}
void TestEditor::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget){
painter->setBrush(QBrush(Qt::gray));
painter->drawRect(boundingBox);
painter->setBrush(QBrush(Qt::black));
painter->drawText(boundingBox,text);
}
void TestEditor::keyReleaseEvent(QKeyEvent *event){
qDebug() << "Aca toy";
text = text + event->text();
update();
}
Mein Tester Anwendung einfach ist es zu einem Hinzufügen von Grafiken anzuzeigen, es zu testen:
TestEditor *editor = new TestEditor();
editor->setText("Algo de texto como para empezar");
editor->setFlag(QGraphicsItem::ItemAcceptsInputMethod,true);
editor->setFlag(QGraphicsItem::ItemIsFocusable,true);
editor->setFlag(QGraphicsItem::ItemIsSelectable,true);
ui->gvScreen->scene()->addItem(editor);
Wenn ich dies testen auf meinem PC funktioniert es gut. Wenn ich es für Android kompiliere, bekomme ich das Problem, dass die Tastatur nicht erscheint, also kann ich es nicht ausprobieren. Wie kann ich die Tastatur erzwingen?