Seite 1 von 1
Fenster auf dem Bildschirm positionieren so dass es gut aussieht – Wie geht das?
Verfasst: Dienstag 2. Juni 2020, 10:09
von PythonMarlem
Wichtig, meine Anwendung soll unter Windows, Ubuntu und MacOS laufen, es geht also auch um Plattformunabhängigkeit.
Das Problem:
Wenn ich ein QmainWindow mit setGeometry positioniere gebe ich x,y Position und Höhe und Breite an ungeachtet dessen, welche Bildschirmauflösung auf dem Zielrechner eingestellt.
Frage:
Wie positionieren Python-Profis Fenster so dass sie immer optimal platziert werden?
Re: Fenster auf dem Bildschirm positionieren so dass es gut aussieht – Wie geht das?
Verfasst: Dienstag 2. Juni 2020, 10:17
von __deets__
Die Frage wurde dir bereits beantwortet - indem du das Qt-eigene Layouting System benutzt.
Re: Fenster auf dem Bildschirm positionieren so dass es gut aussieht – Wie geht das?
Verfasst: Dienstag 2. Juni 2020, 10:19
von __blackjack__
@PythonMarlem: Und die Position vom Fenster macht man gar nicht selber, das ist Aufgabe der Fensterverwaltung des Systems auf dem das läuft.
Re: Fenster auf dem Bildschirm positionieren so dass es gut aussieht – Wie geht das?
Verfasst: Dienstag 2. Juni 2020, 10:23
von PythonMarlem
__blackjack__ hat geschrieben: Dienstag 2. Juni 2020, 10:19
@PythonMarlem: Und die Position vom Fenster macht man gar nicht selber, das ist Aufgabe der Fensterverwaltung des Systems auf dem das läuft.
Das bedeutet, setGeometry bei Fenster macht man gar nicht?
Re: Fenster auf dem Bildschirm positionieren so dass es gut aussieht – Wie geht das?
Verfasst: Dienstag 2. Juni 2020, 10:26
von sparrow
Das macht man genau so wenig wie die Größe oder die absolute Positionierung von irgend einem anderen Element der GUI anzugeben.
Das macht man übrigens bei keinem Toolkit, das ich kenne.
Re: Fenster auf dem Bildschirm positionieren so dass es gut aussieht – Wie geht das?
Verfasst: Dienstag 2. Juni 2020, 10:35
von PythonMarlem
Grmpf! Bei den beiden Udemy-Kursen die ich gemacht habe, wurde alles mit setGeometry positioniert!
Re: Fenster auf dem Bildschirm positionieren so dass es gut aussieht – Wie geht das?
Verfasst: Dienstag 2. Juni 2020, 10:41
von __deets__
Na dann beschwer dich.
Re: Fenster auf dem Bildschirm positionieren so dass es gut aussieht – Wie geht das?
Verfasst: Dienstag 2. Juni 2020, 11:37
von PythonMarlem
Was muß ich jetzt lernen um es richtig zu machen? Nach welchem Thema muß ich suchen in Google oder Youtube?
Re: Fenster auf dem Bildschirm positionieren so dass es gut aussieht – Wie geht das?
Verfasst: Dienstag 2. Juni 2020, 11:42
von __blackjack__
@PythonMarlem: Layouts. Und die Qt-Dokumentation hat da auch eine Übersicht zu („Layout Management“).
Re: Fenster auf dem Bildschirm positionieren so dass es gut aussieht – Wie geht das?
Verfasst: Dienstag 2. Juni 2020, 17:21
von PythonMarlem
okay, habe es umgeschrieben in ein GridLayout. Funktioniert auch unter Ubuntu!
Danke für den Tipp!
Re: Fenster auf dem Bildschirm positionieren so dass es gut aussieht – Wie geht das?
Verfasst: Dienstag 2. Juni 2020, 18:26
von PythonMarlem
Hier ein Screenshot von Ubuntu.
das Fenster ist sehr weit links.
Ist das halt so bei Python oder gibt es Möglichkeiten darauf Einfluß zu nehmen?
Re: Fenster auf dem Bildschirm positionieren so dass es gut aussieht – Wie geht das?
Verfasst: Dienstag 2. Juni 2020, 18:32
von sparrow
Dass man da Einfluss drauf nehmen kann, weißt du doch schon.
Ob es sinnvoll ist, das zu tun, steht auf einem anderen Blatt. Wo ein Fenster erscheint, regelt normalerweise nicht das Programm sondern der Fenstermanager. Wo erscheinen denn andere Programme, wenn du sie startest? Und was passiert, wenn du mehrere Programme startest? Und warum möchtest du, dass dein Programm sich abnormal verhält?
Re: Fenster auf dem Bildschirm positionieren so dass es gut aussieht – Wie geht das?
Verfasst: Dienstag 2. Juni 2020, 20:39
von PythonMarlem
Und warum möchtest du, dass dein Programm sich abnormal verhält?
Weil es für den Benutzer einfacher ist, wenn ein Programmfenster zentriert in der Mitte dargestellt wird.
Ob es sinnvoll ist, das zu tun, steht auf einem anderen Blatt. Wo ein Fenster erscheint, regelt normalerweise nicht das Programm sondern der Fenstermanager.
In Ordnung. Dann lasse ich es. Dann werde ich mein Programm nochmal testen und dann ist es fertig!
Re: Fenster auf dem Bildschirm positionieren so dass es gut aussieht – Wie geht das?
Verfasst: Dienstag 2. Juni 2020, 20:48
von __blackjack__
@PythonMarlem: Das ist nur so lange einfacher bis er ein zweites Fenster öffnet, das dann nicht mehr platziert werden kann ohne das erste mindestens zu überlappen. Oder ein drittes, oder viertes, oder…
Und wenn der Benutzer das gerne immer mittig haben will, dann stellt er das halt in seiner Fensterverwaltung so ein, so dass es für alle Programme gilt. Weiss nicht wie das bei GNOME/Mutter aussieht, aber bei KDE/KWin geht das bei mir in den Einstellungen unter „Window Management“ → „Window Behaviour“ → „Advanced“ und da dann „Placement“ von „Smart“ (Überlappungen minimieren) auf „Centered“ (immer mittig) umstellen.
Re: Fenster auf dem Bildschirm positionieren so dass es gut aussieht – Wie geht das?
Verfasst: Mittwoch 3. Juni 2020, 05:01
von PythonMarlem
Prima, Danke!