LabVIEWForum.de
Gestaltung einer Benutzeroberfläche mit Graphen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Grafik & Sound (/Forum-Grafik-Sound)
+---- Thema: Gestaltung einer Benutzeroberfläche mit Graphen (/Thread-Gestaltung-einer-Benutzeroberflaeche-mit-Graphen)

Seiten: 1 2 3


Gestaltung einer Benutzeroberfläche mit Graphen - Hasenfuss - 10.05.2013 11:41

Ich möchte gerne in einem Frontpanel mehrere Signalverlaufsgraphen einfügen. Ansich ist das ja kein Problem - kann die entsprechenden Elemente aus dem Baukasten einfach einfügen.

Damit ein Programm überschaubar bleibt, gibt es SubVI´s. Ich möchte gerne meine drei Signalverlaufsgraphen mit den dazugehörigen Steuerbuttons in ein SubVI packen und in dem Haupt-Frontpanel einbinden. Dabei soll es nicht als Zusatzfenster aufklicken, sondern in dem Frontpanel integriert sein.

Um das zu machen kenne ich bisher "nur" die Möglichkeit, Frontpanels von SubVIs über Unterpanel einzubinden.

Gäbe es neben den Unterpanels auch noch andere Möglichkeiten? Was mir bei den Unterpanels nicht gefällt ist, dass - sobald ich das SubVI aufrufe und irgendwie in dem Frontpanel etwas an den Bildlaufleisten verschiebe - das nicht mehr in das Unterpanel reinpasst. Gibt es die Möglichkeit, dass ich in dem Frontpanel des SubVIs einen Fixpunkt definiere - z.B. die linke obere Ecke von einem Button - und diesen Fixpunkt dann auch an einer Stelle in dem Unterpanel fest fixieren kann und da nichts mehr verrutscht?

Ich würde mich sehr über eine Antwort von Euch freuen.


RE: Gestaltung einer Benutzeroberfläche mit Graphen - Holy - 10.05.2013 12:03

(10.05.2013 11:41 )Hasenfuss schrieb:  Um das zu machen kenne ich bisher "nur" die Möglichkeit, Frontpanels von SubVIs über Unterpanel einzubinden.

Gäbe es neben den Unterpanels auch noch andere Möglichkeiten?
Du kannst die Signalverlaufsgraphen auch im oberen VI lassen und die Referenzen in SubVIs übergeben um es mit Daten zu füllen/Operationen auszuführen.

(10.05.2013 11:41 )Hasenfuss schrieb:  Was mir bei den Unterpanels nicht gefällt ist, dass - sobald ich das SubVI aufrufe und irgendwie in dem Frontpanel etwas an den Bildlaufleisten verschiebe - das nicht mehr in das Unterpanel reinpasst. Gibt es die Möglichkeit, dass ich in dem Frontpanel des SubVIs einen Fixpunkt definiere - z.B. die linke obere Ecke von einem Button - und diesen Fixpunkt dann auch an einer Stelle in dem Unterpanel fest fixieren kann und da nichts mehr verrutscht?

Die linke obere Ecke des jeweiligen Panes kannst du über die Eigenschaft Origin festlegen.
[attachment=44591]
Diese Eigenschaft rufst du einfach als aller erstes im VI auf und schon ist die Ausrichtung geklärt. Um Verrutschen während der Laufzeit zu verhindern musst du über die Appearence (Erscheinungsbild ?) Optionen die Laufleisten deaktiveren.
[attachment=44592]


RE: Gestaltung einer Benutzeroberfläche mit Graphen - Hasenfuss - 10.05.2013 12:16

Danke für Deine Antworten.

"Du kannst die Signalverlaufsgraphen auch im oberen VI lassen und die Referenzen in SubVIs übergeben um es mit Daten zu füllen/Operationen auszuführen."

Genau das wollte ich nicht, ich wollte das gerne komplett unabhängig vom Hauptprogramm haben.

"... Die linke obere Ecke des jeweiligen Panes kannst du über die Eigenschaft Origin festlegen."

Danke für den Tipp, dass werde ich gleich mal ausprobieren.

"...Diese Eigenschaft rufst du einfach als aller erstes im VI auf und schon ist die Ausrichtung geklärt. Um Verrutschen während der Laufzeit zu verhindern musst du über die Appearence (Erscheinungsbild ?) Optionen die Laufleisten deaktiveren. "

Ich meinte hierbei nicht ein Verschieben im Betriebsmodus des Frontpanels im Hauptprogramm - sondern im Bearbeitungsmodus um SubVI. Wenn ich dort das Frontpanel etwas verschiebe, es etwas vergrößere oder so - dann verändert sich ja immer das Erscheinungsbild. Ist also mit linkerer oberer Ecke die Ecke des Frontpanels gemeint - so dass ich mein Element im Frontpanel genau in die li. obere Ecke schieben muss? Oder kann ich auch ein Element im Frontpanel irgendwo hinschieben und immer der Punkt an dem Element ist mein Bezugspunkt?


RE: Gestaltung einer Benutzeroberfläche mit Graphen - Holy - 10.05.2013 12:51

Deine Frontpanel Elemente liegen immer an einer festen Position relativ zum Ursprung des Pane.
[attachment=44593]
Dein Frontpanel kann wiederum mehrere Panes beinhalten und die Origin-Eigenschaft legt fest welche Koordinate der linke obere Punkt deines Panes ist.

Zur Oberflächengestaltung hast du eigentlich nur die Varianten mehrere Fenster (Fensterrahmen müssen nicht immer sichtbar sein Wink), SubPanels oder halt nur 1 Oberfläche. Zwecks Übersichtlichkeit des Codes gibt es für alle 3 Varianten Wege und Lösungen. Man kann z.b. auch das Eventhandling in SubVIs auslagern.

Du kannst die Frontpanel Elemente auch mit Pane skalieren lassen. Dann bleibt das Erscheinungsbild, relativ zur Pane-Größe, immer gleich.
[attachment=44594]
Diese Option sollte aber mit äußerster Bedacht benutzt werden wie ich finde. Wenn es falsch benutzt wird sieht es richtig mies aus.

Ich gestalte meine GUIs eigentlich immer folgendermaßen. Klare Trennung in Bereiche, wie man es z.b. auch aus Standardsoftware kennt. Abtrennung dieser Bereiche durch Splitterbars. Automatische Skalierung von Frontpanel Elementen in Panes die größer werden dürfen und der Rest bleibt gleich groß. Ein Beispiel hierfür wäre z.b. die Ribbonbar und Statuszeile im Excel. Die bleiben immer gleich groß und der "Arbeitsbereich" skaliert automatisch größer.

Im Anhang mal ein fixes Beispiel für die ganzen Splitter Geschichten. Null Code drin aber du kannst das VI sofort größer und kleiner ziehen und nur bestimmte Bereiche verändern sich.

Edit: Um deine letzte Frage noch zu beantworten. Über die Origin-Eigenschaft kannst du festlegen was dein Bezugspunkt ist. Die Koordinate kann natürlich auch ein Frontpanel Element sein. Einfacher ist es natürlich bei 0,0 zu bleiben.


RE: Gestaltung einer Benutzeroberfläche mit Graphen - Hasenfuss - 10.05.2013 14:34

Hallo Holy,

vielen Dank für Deine Antworten und Dein Beispiel, ich habe mich sehr darüber gefreut.

"...Man kann z.b. auch das Eventhandling in SubVIs auslagern..."

Dann muss ich aber doch zu jedem Schalter eine Referenz in das SubVI legen, wenn ich die Eventstruktur in ein SubVI legen tue? Also gefallen tut mir diese Variante auch, um alles übersichtlicher zu machen, werd ich auch mal ausprobieren!

"...Im Anhang mal ein fixes Beispiel für die ganzen Splitter Geschichten. Null Code drin aber du kannst das VI sofort größer und kleiner ziehen und nur bestimmte Bereiche verändern sich. ..."

Ich habe das mal mit den Splittern ausprobiert und Trennbalken eingefügt. Dabei habe ich gemerkt - einmal ein Trennbalken aus der Klasse Container gesetzt - konnte ich den nicht mehr entfernen. Ich kann zwar mit der re. Maustaste Einstellungen und Eigenschaften einstellen - aber ein Löschen ist nicht mehr möglich - zumindest bei mir (noch) nicht.


RE: Gestaltung einer Benutzeroberfläche mit Graphen - GerdW - 10.05.2013 15:21

Hallo Hasenfuss,

Zitat:Dann muss ich aber doch zu jedem Schalter eine Referenz in das SubVI legen, wenn ich die Eventstruktur in ein SubVI legen tue?
Nein, es reicht aus, benutzerdefinierte Events anzulegen. Es gibt Beispiele dazu...

Zitat:Dabei habe ich gemerkt - einmal ein Trennbalken aus der Klasse Container gesetzt - konnte ich den nicht mehr entfernen.
Das sollte im Normalfall nicht so sein. Markieren und löschen - wie sonst auch...
Deshalb wie sonst auch immer: Beispiel-VI anhängen!


RE: Gestaltung einer Benutzeroberfläche mit Graphen - Holy - 10.05.2013 16:42

(10.05.2013 15:21 )GerdW schrieb:  Hallo Hasenfuss,

Zitat:Dann muss ich aber doch zu jedem Schalter eine Referenz in das SubVI legen, wenn ich die Eventstruktur in ein SubVI legen tue?
Nein, es reicht aus, benutzerdefinierte Events anzulegen. Es gibt Beispiele dazu...

Das kommt drauf an. Man kann auch direkt die Referenzen der Frontpanel Elemente in SubVIs legen und per dynamischer Eventregistrierung diese abfangen. Damit lassen sich SubVIs bauen die Eventbearbeitung von gleichartigen Buttons kapseln. Muss man dann nur noch für jeden Button einmal im HauptVI platzieren...


RE: Gestaltung einer Benutzeroberfläche mit Graphen - Holy - 10.05.2013 19:48

(10.05.2013 15:21 )GerdW schrieb:  
Zitat:Dabei habe ich gemerkt - einmal ein Trennbalken aus der Klasse Container gesetzt - konnte ich den nicht mehr entfernen.
Das sollte im Normalfall nicht so sein. Markieren und löschen - wie sonst auch...
Deshalb wie sonst auch immer: Beispiel-VI anhängen!

Entschuldigt den Doppelpost, die 30 Minuten sind leider schon um. Splitter lassen sich meines Wissens nicht markieren. Rechtsklick auf den Splitter ist dein Freund. Da kannst dann löschen und auch Eigenschaften anpassen.


RE: Gestaltung einer Benutzeroberfläche mit Graphen - Hasenfuss - 12.05.2013 15:35

(10.05.2013 12:03 )Holy schrieb:  Die linke obere Ecke des jeweiligen Panes kannst du über die Eigenschaft Origin festlegen.

Ich finde das Element leider nicht - in dem Beispielbild heisst die Eigenschaft Origin, ich weis einfach nicht, welche Eigenschaftsbezeichnung in deutsch das hat. Ich habe im SubVI mein Element genau in den Ursprung gesetzt und der Ursprung soll genau in dem Unterpanel auch in der li. oberen Ecke sein.


RE: Gestaltung einer Benutzeroberfläche mit Graphen - Hasenfuss - 12.05.2013 16:48

Ich hab jetzt nochmal viel gesucht, habe auch diese Info gefunden:

http://zone.ni.com/reference/de-XX/help/371361H-0113/lvprop/subpanel_p/

Es gibt in dem Eigenschaftsknoten alle Bezeichnungen - außer Origin/Ursprung. Ursprung ist bei mir einfach nicht vorhanden.