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?
Fenster auf dem Bildschirm positionieren so dass es gut aussieht – Wie geht das?
-
- User
- Beiträge: 90
- Registriert: Dienstag 19. Mai 2020, 19:17
- Wohnort: Dußlingen
- Kontaktdaten:
- __blackjack__
- User
- Beiträge: 13114
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@PythonMarlem: Und die Position vom Fenster macht man gar nicht selber, das ist Aufgabe der Fensterverwaltung des Systems auf dem das läuft.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
-
- User
- Beiträge: 90
- Registriert: Dienstag 19. Mai 2020, 19:17
- Wohnort: Dußlingen
- Kontaktdaten:
Das bedeutet, setGeometry bei Fenster macht man gar nicht?__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.
-
- User
- Beiträge: 90
- Registriert: Dienstag 19. Mai 2020, 19:17
- Wohnort: Dußlingen
- Kontaktdaten:
Grmpf! Bei den beiden Udemy-Kursen die ich gemacht habe, wurde alles mit setGeometry positioniert!
-
- User
- Beiträge: 90
- Registriert: Dienstag 19. Mai 2020, 19:17
- Wohnort: Dußlingen
- Kontaktdaten:
Was muß ich jetzt lernen um es richtig zu machen? Nach welchem Thema muß ich suchen in Google oder Youtube?
- __blackjack__
- User
- Beiträge: 13114
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@PythonMarlem: Layouts. Und die Qt-Dokumentation hat da auch eine Übersicht zu („Layout Management“).
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
-
- User
- Beiträge: 90
- Registriert: Dienstag 19. Mai 2020, 19:17
- Wohnort: Dußlingen
- Kontaktdaten:
okay, habe es umgeschrieben in ein GridLayout. Funktioniert auch unter Ubuntu!
Danke für den Tipp!
Danke für den Tipp!
-
- User
- Beiträge: 90
- Registriert: Dienstag 19. Mai 2020, 19:17
- Wohnort: Dußlingen
- Kontaktdaten:
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?
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?
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?
-
- User
- Beiträge: 90
- Registriert: Dienstag 19. Mai 2020, 19:17
- Wohnort: Dußlingen
- Kontaktdaten:
Weil es für den Benutzer einfacher ist, wenn ein Programmfenster zentriert in der Mitte dargestellt wird.Und warum möchtest du, dass dein Programm sich abnormal verhält?
In Ordnung. Dann lasse ich es. Dann werde ich mein Programm nochmal testen und dann ist es fertig!Ob es sinnvoll ist, das zu tun, steht auf einem anderen Blatt. Wo ein Fenster erscheint, regelt normalerweise nicht das Programm sondern der Fenstermanager.
- __blackjack__
- User
- Beiträge: 13114
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@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.
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.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
-
- User
- Beiträge: 90
- Registriert: Dienstag 19. Mai 2020, 19:17
- Wohnort: Dußlingen
- Kontaktdaten:
Prima, Danke!