C++ - Brauche dringend Hilfe!

  • Hallo zusammen,
    also ich hab da ein C++-Programm erstellt in Qt.
    Das Programm kann Patientendaten sowie das zugehörige EKG anzeigen.
    Bisher funktioniert es so: Wenn ich das Programm starte, erscheint das Hauptfenster (leeres Fenster mit Menü). Wenn ich auf "öffnen" klicke, öffnet sich ein Dialog um das EKG-Signal auszuwählen und das kann ich dann auf dem Hauptfenster anzeigen lassen. Dann kann ich auch von dem EKG-Signal verschiedene Abschnitte (Segmente) anzeigen lassen.
    Wenn ich jetzt auf schliessen klicke, erscheint wieder das Hauptfenster. Wenn ich dann wieder ein Signal öffnen möchte kommt auch wieder Dialog um ein Signal auszuwählen.
    PROBLEM: aber wenn ich ein Signal jetzt auswähle, wird es nicht mehr angezeigt.

    Kann mir da BITTE jemand sagen wo mein Fehler liegt?

    Mein Code:

    Danke im Voraus!

  • ich weiß nicht, was für ein objekt widget ist, aber wenn du darauf close() aufrufst ist es danach vermutlich nicht mehr ohne weiteres verwendbar, sofern es den event verarbeitet. ich versteh auch nicht ganz warum du danach noch mal update() aufrufst oder warum du davor noch schnell die signalwerte setzt.

    lg

  • also das widget ist der Teil des Fensters, in dem das Signal angezeigt wird. Das mit den Signalwerten stimmt natürlich, die sind unnötig.
    Wie kann ich das denn jetzt aber machen, das ich ein neues Signal wieder öffnen kann?

    Gruss

  • Vermutlich wuerde es reichen, wenn Du QWidget::show() und QWidget::hide() verwendest um das Widget, das das Signal anzeigt, zu "oeffnen" und zu "schlieszen".

    Damn, here I was, minding my own business, just enjoying my second amendment rights, and you people have to FREAK out on me!

  • durch QWidget::hide wird aber das ganze Programm beendet und das Fenster geschlossen.
    Ich wollte es so haben, dass nur das Signal geschlossen wird und ich dann wieder ein neues Signal öffnen kann. Im Moment kann ich das Signal zwar schliessen, aber kein neues mehr öffnen.

  • ganz einfach eigentlich. also ich hab das mit setVisible gemacht. fürs schliessen der datei einmal false gesetzt und fürs öffnen der datei wieder true gesetzt. jetzt funktionierts

  • Wenn ich nur kurz in die Doku von Qt 4.2 reinschnupper, dann sehe ich:

    Zitat

    void QWidget::hide () [slot]
    Hides the widget. This function is equivalent to setVisible(false).

    void QWidget::show () [slot]
    Shows the widget and its child widgets. This function is equivalent to setVisible(true).

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!