Anzeige:
Ergebnis 1 bis 4 von 4

Thema: [QT4] QTreeView beim Verlassen Editor schliessen

  1. #1
    Registrierter Benutzer
    Registriert seit
    31.08.2002
    Ort
    Berlin
    Beiträge
    128

    [QT4] QTreeView beim Verlassen Editor schliessen

    Hi,

    Wie kann ich schaffen das der Editor beim verlassen von QTreeView den Editor schliesst also wenn ich irgendwo anders im Fenster auswähle/rumklicke?
    Der bleibt die ganze Zeit offen bevor ich nicht die Enter Taste betätigt habe.
    Falls es wichtig ist die Daten fülle ich mittel setModel und die Editoren hab ich per Delegate Item eingefügt.

    MfG
    xmarvel

  2. #2
    Registrierter Benutzer Avatar von Enni
    Registriert seit
    23.01.2006
    Beiträge
    6
    Hi,
    du hast dir die Frage doch schon selbst beantwortet

    Zitat Zitat von xmarvel
    wenn ich irgendwo anders im Fenster auswähle/rumklicke
    ..... dann Editor schließen....

    Jedes Objekt in QT kann sog. Events senden und auch abfangen (das Signal - Slot Prinzip).
    Solch ein Event wird z.B. ausgelöst, wenn ein Widget den Fokus erhält oder ihn, z.B. durch klicken in einen anderen Bereich, verliert. In der Dokumentation von QT sollte das genauer beschrieben sein, schau einfach mal rein

    MfG Enni

  3. #3
    Registrierter Benutzer
    Registriert seit
    31.08.2002
    Ort
    Berlin
    Beiträge
    128
    Hi,
    erstmal danke für eine Antwort.
    Leider find ich kein Signal in der Doku was beim Verlassen eines Widget ausgelöst wird.
    Vielleicht sollte ich lieber noch etwas detallierter beschreiben wo genau das Problem liegt.
    Das Problem ist nämlich wenn der Editor nicht geschlossen und das Model von QTreeView gelöscht wird.
    Und anschließend ein neues Model gesetzt wird bleibt der alte Editor erhalten und somit bekommt man eine CPU Auslastung von 100%.

    Was ich probiert habe ist das ich wenn ich bevor ich den neuen Model setze den Editor zu schließen mittels treeview->closePersistentEditor(treeview->currentIndex())
    doch der editor bleibt trotzdem offen.

    MfG
    xmarvel

  4. #4
    Registrierter Benutzer Avatar von Enni
    Registriert seit
    23.01.2006
    Beiträge
    6
    Hmmmm, ich glaube so kommen wir nicht weiter....
    Was genau ist denn dein "Editor" und ist ist er Bestandteil, also Child eines anderen Widgets ? Dein Quelltext wäre hier sehr hilfreich, weil deine Beschreibung leider noch zu viele Fragen offen lässt.


    Schau dir in der Doku auch mal die Basisklassen an, also QWidget, QEvent, QCloseEvent und evtl. das Tutorial Application Example.
    Dort wird beschrieben, wie man einen CloseEvent abfangen kann...

    Du könntest den Editor auch mit dem Flag "Qt::WA_DeleteOnClose" erstellen, das sollte sicherstellen, dass er beim Schließen gelöscht wird....

    Das sollte dir wohl weiterhelfen, denke ich

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •