Seite 1 von 1

Window mit mehreren gleichartigen Frames

Verfasst: Mittwoch 26. Dezember 2018, 12:14
von niederrheiner
Ein frohes Weihnachtsfest an Alle,
ich möchte eine Anwendung mit Python und PyQt5 schreiben. Das Problem bei mir liegt in dem Fenster, das ich erstellen möchte. Es sollen mehrere Frames parallel nebeneinander stehen. Diese Frames haben alle den gleichen konstanten Inhalt, unterscheiden sich aber in den variablen Inhalte. Genaugenommen handelt es sich um eine Wettervorhersage.

Mein Problem:
Wie erstelle ich nun das Design?

QtDesigner: wie spreche ich die einzelnen Felder (label_1, label_2, ...) in Python an?
Python: in einer Schleife, wie positioniere ich die einzelnen Elemente richtig?

Könnt Ihr mir ein wenig auf die Sprünge helfen?

Danke für Eure Hilfe und Tipps.

Bis dann ...

MfG
Günter

Re: Window mit mehreren gleichartigen Frames

Verfasst: Mittwoch 26. Dezember 2018, 13:18
von __deets__
Mir ist durch diese Beschreibung nicht wirklich klar geworden, was du willst.

Generell kannst du das mit dem Designer machen & durch die Vergabe von sinnvollen Namen zb „montag_temperatur“ ansprechen via findChild auf dem obersten Widget.

Re: Window mit mehreren gleichartigen Frames

Verfasst: Mittwoch 26. Dezember 2018, 13:44
von __blackjack__
@niederrheiner: Das ist so ein Fall wo ich wahrscheinlich Designer und dynamisch durch Code erstellte Widgets mischen würde. Also beispielsweise die GUI in der die Frames für die Tage platziert werden sollen mit einem Frame als Platzhalter für die Stelle wo die Tage hin sollen im Designer erstellen und das Widget für einen Tag auch im Designer erstellen, um im Code das letztere dann sieben mal erstellen und in den Platzhalter einbauen. Für das Tageswidget dann `uic.loadUiType()` verwenden, denn das soll beim Laden ja nicht schon ein Exemplar von dem Widget werden, sondern eine Klasse die man beliebig oft aufrufen kann um weitere Widgets von diesem Typ zu erstellen.

Re: Window mit mehreren gleichartigen Frames

Verfasst: Sonntag 30. Dezember 2018, 14:12
von niederrheiner
@__blackjack__: Danke für Deine Antwort. Wenn ich Dich richtig verstanden habe, erstelle ich im QT-Designer eine Form (Window) in der nur die n-Frames als Platzhalter stehen(qframe.tag_1, qframe.tag_2, ...) und diese Form wird dann per Import in das Pythonprogramm geladen. Desweiteren erstelle ich eine Form mit allen erforderlichen Elementen eines Tages(Temperatur, Luftfeuchtigkeit, ...) und lade dies nur als Type ins Pythonprogram).

Kann ich dann die einzelnen Frames(Tage) so füllen(Pseudocode)?:

Code: Alles auswählen

for (i=1;i<=n;i++)
  qframe.tag_(i).temp = 16°
  ...
  ...
Ist das in etwa das was Du geschrieben hast?

Ein frohes Neues Jahr wünscht
Günter

Re: Window mit mehreren gleichartigen Frames

Verfasst: Sonntag 30. Dezember 2018, 14:36
von __blackjack__
@niederrheiner: Keine Platzhalter für die einzelnen Tage sondern nur ein Platzhalter für alle Tage. Die Frames für die Tage steckst Du im Programm dann einfach in eine Liste wenn Du sie erstellst.