INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Gestaltung einer Benutzeroberfläche mit Graphen



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

10.05.2013, 11:41
Beitrag #1

Hasenfuss Offline
LVF-Stammgast
***


Beiträge: 331
Registriert seit: Dec 2012

2012
2012
DE



Gestaltung einer Benutzeroberfläche mit Graphen
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.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
10.05.2013, 12:03
Beitrag #2

Holy Offline
LVF-Stammgast
***


Beiträge: 339
Registriert seit: Sep 2008

2014
2007
EN

09XXX
Deutschland
RE: Gestaltung einer Benutzeroberfläche mit Graphen
(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.
   
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.
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.05.2013, 12:16
Beitrag #3

Hasenfuss Offline
LVF-Stammgast
***


Beiträge: 331
Registriert seit: Dec 2012

2012
2012
DE



RE: Gestaltung einer Benutzeroberfläche mit Graphen
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?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.05.2013, 12:51 (Dieser Beitrag wurde zuletzt bearbeitet: 10.05.2013 12:53 von Holy.)
Beitrag #4

Holy Offline
LVF-Stammgast
***


Beiträge: 339
Registriert seit: Sep 2008

2014
2007
EN

09XXX
Deutschland
RE: Gestaltung einer Benutzeroberfläche mit Graphen
Deine Frontpanel Elemente liegen immer an einer festen Position relativ zum Ursprung des Pane.
   
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.
   
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.


Angehängte Datei(en)
11.0 .vi  Multi Pane GUI.vi (Größe: 27,94 KB / Downloads: 285)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.05.2013, 14:34
Beitrag #5

Hasenfuss Offline
LVF-Stammgast
***


Beiträge: 331
Registriert seit: Dec 2012

2012
2012
DE



RE: Gestaltung einer Benutzeroberfläche mit Graphen
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.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.05.2013, 15:21
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Gestaltung einer Benutzeroberfläche mit Graphen
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!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
10.05.2013, 16:42
Beitrag #7

Holy Offline
LVF-Stammgast
***


Beiträge: 339
Registriert seit: Sep 2008

2014
2007
EN

09XXX
Deutschland
RE: Gestaltung einer Benutzeroberfläche mit Graphen
(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...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.05.2013, 19:48
Beitrag #8

Holy Offline
LVF-Stammgast
***


Beiträge: 339
Registriert seit: Sep 2008

2014
2007
EN

09XXX
Deutschland
RE: Gestaltung einer Benutzeroberfläche mit Graphen
(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.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.05.2013, 15:35 (Dieser Beitrag wurde zuletzt bearbeitet: 12.05.2013 15:37 von Hasenfuss.)
Beitrag #9

Hasenfuss Offline
LVF-Stammgast
***


Beiträge: 331
Registriert seit: Dec 2012

2012
2012
DE



RE: Gestaltung einer Benutzeroberfläche mit Graphen
(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.


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.05.2013, 16:48
Beitrag #10

Hasenfuss Offline
LVF-Stammgast
***


Beiträge: 331
Registriert seit: Dec 2012

2012
2012
DE



RE: Gestaltung einer Benutzeroberfläche mit Graphen
Ich hab jetzt nochmal viel gesucht, habe auch diese Info gefunden:

http://zone.ni.com/reference/de-XX/help/...ubpanel_p/

Es gibt in dem Eigenschaftsknoten alle Bezeichnungen - außer Origin/Ursprung. Ursprung ist bei mir einfach nicht vorhanden.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Gehe zu: