Hallo zusammen, ich mache gerade ein Projekt und möchte jetzt eine GUI mit PyQt "bauen" die mir anzeigt, ob Eingangswerte vorhanden sind. Habe mich die letzten Tag in Python und den qtDesigner eingearbeitet und komme jetzt aber aktuell nicht mehr weiter. Wie schaffe ich es, dass mir meine GUI Daten anzeigt. Also in meinem Falle habe ich einen Client der vom Server Daten empfängt und diese empfangen Daten würde ich mir gerne in einer GUI ausgeben lassen. Also zum einen die tatsächlichen Werte und zum anderen eine Art Ampel - rot wenn das Signal nicht da ist und grün wenn das Signal/Wert vorhanden ist. Ich hoffe, dass ich mich verständlich ausgedrückt habe. Danke für eure Hilfe. Viele Grüße Matthias
Es ist schwierig da weiterzuhelfen. Woran krankt es denn? Am Gui, am Daten-Empfang, an python, oder überhaupt?
rmu schrieb: > Es ist schwierig da weiterzuhelfen. Woran krankt es denn? Am Gui, am > Daten-Empfang, an python, oder überhaupt? Ich habe jetzt mal eine GUI mit dem qtDesigner eine kleine GUI gemacht mit einem Pushbutton mit dem ich meinen Client "starte". Die Daten bekomme ich auch bereits. Diese Daten will ich eben jetzt in meiner GUI darstellen. Also ein Beispiel wäre hier die Fahrzeuggeschwindigkeit. Die Geschwindigkeit kann ich mir in der Konsole bereits ausgeben lassen aber ich will das ganze eben jetzt in meine GUI einbauen und weiß leider nicht mit welchem Baustein ich mir das ganze anzeigen lassen kann. C Programmieren ist bei mir kein Problem aber Python ist für mich eben noch Neuland und GUI Programmierung auch.
"Bausteine" gäbs da einige, von einfachen Text-Feldern über Slider, Drehknöpfe etc... Für einfache Anwendungen reichts wenn man einfach beim Empfang von Daten ein entsprechendes Signal abfeuert, und dieses mit einem passenden Slot des Widgets verbindet. Aufpassen auf Nebenläufigkeit. Bissl komplexer wirds mit z.b. matplotlib, gibt aber auch genug Beispiele im Netz wie man das mit PyQt 4 bzw. 5 angehen kann. Dann gäbs auch noch PyQtGraph und vermutlich zig andere Möglichkeiten auch noch.
rmu schrieb: > Für einfache Anwendungen reichts wenn man einfach beim Empfang von Daten > ein entsprechendes Signal abfeuert, und dieses mit einem passenden Slot > des Widgets verbindet. Aufpassen auf Nebenläufigkeit. Ja das habe ich schon vermutet, dass es so etwas gibt. Wie würdest du das konkret machen? Habe bis jetzt nur einfache Beispiele probiert also beim Klick auf den Button Farbe ändern z.B. Danke auf jeden Fall für deine Bemühungen. Es soll ein recht einfaches Programm sein. mein Projekt ist soweit schon fertig und soll mit dem Programm nur noch etwas benutzerfreundlicher gemacht werden.
Moin, wenn du sowieso schon einen Server hast, guck dir doch mal das pvbrowser-Konzept (pvbrowser.de) an. Da hast du ein Framework fürs Anzeigen von Daten schon fertig, und es gibt m.W. eine Python-Option. Nutze allerdings das Ding embedded, deshalb in C++.
Martin S. schrieb: > Da hast du ein Framework fürs > Anzeigen von Daten schon fertig Hallo Martin, weißt du welche Widgets konkret verwendet werden? Ich sehe zwar auf der pvbrowser Homepage eine Auflistung welche Widgets insgesamt verwendet werden, jedoch wäre es noch interessant zu wissen mit was das dann genau funktioniert. Also kann ich zur Laufzeit mit dem QLabel dauernd Daten anzeigen lassen und wenn ja, muss das dann in mein Python main oder in meine Application Window Datei? Vielen Dank Matthias
Guck dir doch mal die Beispiele an, da sind eine Menge Szenarien abgedeckt. Ich nutze da nur einen Bruchteil, siehe Attachment. Mit dem pvdevelop-Editor ist das GUI-Erstellen ziemlich easy. Ich bin ja auch Fan von Python-Prototyping, aber damit geht's noch schneller. Deinen Code für die "Slots" kannst du im integrierten Editor direkt eingeben (Mit dem Qt-Slot-Konzept solltest du dich vertraut gemacht haben). Was du halt brauchst, ist die C++-Entwicklungsumgebung. Gibt auch ein deutsches Manual, was das Plotten im Detail erklärt. Wenn du die letzten n Werte oder sowas plotten willst (wie im Bild), musst du im DATA-Kontext (siehe mask*slots.h) eine Plot-Buffer für deine Werte reservieren.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.
