Ich habe eine Frage für das Thema QListWidget Nutzung. Es soll ein Vergleich mit den vorhanden Listeninhalt gemacht und bei nicht vorhandener Website es abgespeichert werden Ich habe es schon versucht aber es funktioniert nicht so richtig Kann jemand die Fehler nochmals anschauen / korrektieren ?
Thanks in advance,
The part of the code (Datei ist zusätzlich mit in enthalten) -----------------------------------------------------------------------------
C++:
//der Slot für das Laden der Seite void MainWindow:n_webView_loadFinished(bool ok) { int n; //für die HistoryListe QWebHistory *meineHistory = ui->webView->history(); QListWidget *meineListe = new QListWidget(this); n=ui->listWidget->count();
//war das Laden erfolgreich? if (ok) {
{
if ((ui->webView->url().toString()).isEmpty()==false) { for (int i=0; i<= n;i++) // Prüfen ob die geladene Seite schon vorhanden ist ui->listWidget->findItems(ui->webView->url().toString(),Qt::MatchFixedString); // wenn die Seite noch nicht vorhanden ist if (Qt::MatchFixedString ==8) // die URL in das Listenfeld schreiben ui->listWidget->addItem(ui->webView->url().toString()); }
else { //und auch in das Eingabefeld adressFeld->setText(ui->webView->url().toString()); //den Titel setzen this->setWindowTitle("Minibrowser - " + ui->webView->title()); if (meineHistory->canGoBack()) ui->action_R_ckw_rts->setEnabled(true); else ui->action_R_ckw_rts->setEnabled(false); if (meineHistory->canGoForward()) ui->action_Vorw_rts->setEnabled(true); else ui->action_Vorw_rts->setEnabled(false); } } }
//die Fortschrittsanzeige ausblenden fortschrittBalken->setVisible(false); //den Text ändern fortschrittLabel->setText("Seite geladen");
---------------------------------------------------------Dieser Post wurde am 20.09.2017 um 19:06 Uhr von FloSoft editiert.
// Prüfen ob die geladene Seite schon vorhanden ist ui->listWidget->findItems(ui->webView->url().toString(),Qt::MatchFixedString); // wenn die Seite noch nicht vorhanden ist if (Qt::MatchFixedString ==8) // die URL in das Listenfeld schreiben ui->listWidget->addItem(ui->webView->url().toString()); }
else { .....
Um zu erkennen, ob die Seite schon vorhanden ist oder nicht, musst du die Rückgabe von findItems auswerten. Du kriegst da die Treffer in einer QList - wenn die leer ist: Nicht vorhanden.
Der Vergleich von MatchFixedString mit 8 ist unsinnig, der liefert immer true.