/ / QLineEdit Unterklassifizierung - c ++, qt

QLineEdit Subclassing - C ++, Qt

Ich habe Unterklasse QlineEdit. Da brauchte ich eine spezielle Operation bei mousePress Event.
Nun, sobald ich mit der Maus auf dieUnterklasse QlineEdit (ich nenne es CustomLineEdit). Ich versuche eine virtuelle Tastatur zu öffnen. Ein neues Fensterfenster wird angezeigt, aber die virtuelle Tastatur wird nicht angezeigt. Ich habe die Korrektheit der virtuellen Tastatur überprüft, indem ich sie in anderen Klassen verwendet habe.

Das ist mein Code:

void CustomLineEdit::mousePressEvent(QMouseEvent *s)
{
qDebug() << " Custom Line EDit is kicking";
myKeyBoard->show(this); // once created keyboard object, use this method to switch between windows
myKeyBoard->move(0, 0 + myKeyBoard->height() + 175); // to move keyboard
}

Übrigens wurde die virtuelle Tastatur von heruntergeladen dieser Link.

Alle Vorschläge werden sehr geschätzt.

Antworten:

0 für die Antwort № 1
myKeyBoard->show(this);

Dies show Die Methode benötigt einen Elternteil, um in dieses Widget zu zeichnen. Wenn sich ein Widget in ein anderes Widget befindet, kann es nicht aus dem Arbeitsbereich der Eltern gezogen werden. Wenn Sie die Zeile auf diese Weise ändern, zeigt die virtuelle Tastatur möglicherweise Folgendes an:

myKeyBoard->show( parent( ) );