Ich habe eine QComboBox mit einigen Daten gefüllt. Ich möchte das LineEdit der ComboBox bearbeiten und wenn ich das mache, um die ComboBox sein PopUp anzuzeigen, während ich bearbeite. Das Problem ist, dass ich den Fokus der Zeile Edit verloren habe und ich kann immer nur einen Buchstaben schreiben.QComboBox bearbeiten LineEdit während PopUp aktiv ist
Dies ist, was ich in einer trivialen Ebene tue:
ui->comboBox->addItem("This");
ui->comboBox->addItem("is");
ui->comboBox->addItem("a");
ui->comboBox->addItem("comboBox");
ui->comboBox->setEditable(true);
connect(ui->comboBox, SIGNAL(currentTextChanged(QString)), this, SLOT(PrintTextLineEdit(QString)));
void MainWindow::PrintTextLineEdit(QString str)
{
ui->comboBox->showPopup();
ui->comboBox->lineEdit()->setFocus();
}
Auch wenn ich die blockSignal auf dem LineEdit verwenden, während ich die popUp ist nutzlos zeigen. Irgendwelche Vorschläge?
EDIT
Es scheint, dass ich etwas mehr Detail zur Verfügung stellen müssen. Ich muss in der Lage sein, ein ganzes Wort auf einmal zu schreiben, ohne den Fokus zu verlieren, wenn ich ui->comboBox->showPopUp()
im currentTextChanged
Signal verwende.
Oder um es einfach zu sagen: der Cursor muss nicht aus dem QLineEdit verschwinden, nachdem das Signal ausgegeben wurde und das PopUp angezeigt wird.
Welche Art von Verhalten versuchen Sie tatsächlich zu implementieren? Eine Art Drop-Down-Vorschlagsliste? – Tomas
Eine Art von Filter, aber ohne Proxy oder eine benutzerdefinierte Liste. Mein Problem ist, ich möchte, dass ich ein Wort mit dem PopUp öffnen kann. – student