Betätige ich den Channel Button sollte sich das Eingabefeld schließen und ich mir die erste Grafische Oberfläche anzeigen um erneut den Button suchen zu betätigen. Doch es schiebt sich ein weiteres Fenster vor diese Grafische Oberfläche. Alles ob mir über die Instanz und show() close() unwirksam gemacht wird.
Code: Alles auswählen
//die Slots
void MainWindow::on_buttonKundeSuche_clicked()
{
//wenn eine Verbindung zu Datenbank besteht
if (dbVerbunden == true)
{
//den Dialog anzeigen
Suchliste *formSuchliste = new Suchliste();
formSuchliste->show();
}
}
//der Konstruktor
//er erstellt den kompletten Inhalt
Suchliste::Suchliste()
{
bool ok = false;
QString text = QInputDialog::getText(0, "Datensatz Suchen","Bitte Nachname Eingeben:", QLineEdit::Normal,"", &ok);
if (ok && !text.isEmpty()) {
QString sqlAbfrage = "nachname = '" + text + "'";
//das Modell erstellen
QSqlTableModel *modell = new QSqlTableModel(this);
//die Tabelle setzen
modell->setTable("kunden");
// modell->setFilter("nachname = 'Hans'");
modell->setFilter(sqlAbfrage);
setWindowTitle("Suchanzeige Kunden");
//die Texte für die Spaltenköpfe setzen
modell->setHeaderData(0, Qt::Horizontal, "ID");
modell->setHeaderData(1, Qt::Horizontal, "Vorname");
modell->setHeaderData(2, Qt::Horizontal, "Name");
modell->setHeaderData(3, Qt::Horizontal, "Strasse");
modell->setHeaderData(4, Qt::Horizontal, "PLZ");
modell->setHeaderData(5, Qt::Horizontal, "Ort");
modell->setHeaderData(6, Qt::Horizontal, "Telefon");
//die Daten beschaffen
modell->select();
//die TableView erstellen
QTableView *ansicht = new QTableView(this);
//mit dem Modell verbinden
ansicht->setModel(modell);
//die Breite der Spalten an den Inhalt anpassen
ansicht->resizeColumnsToContents();
//die Größe setzen
ansicht->resize(500,300);
}
else{
this->close();
}
}