An Bildschirmgröße anpassen

Fragen zu Tkinter.
Antworten
Jaga
User
Beiträge: 64
Registriert: Mittwoch 21. August 2013, 13:18

Danke danke hat sich schon erledigt
habs so gelöst:

Code: Alles auswählen

root = Tkinter.Tk()
root.geometry("+%d+%d" % (0,0))
app = App(root)
root.mainloop()
FASTER! HARDER! LOUDER!
Benutzeravatar
Sophus
User
Beiträge: 1109
Registriert: Freitag 25. April 2014, 12:46
Wohnort: Osnabrück

Hallo Leute,

an dieses Thema dachte ich auch schon. Ich arbeite mit QT-Designer 4. Meine derzeitige Bildschirmauflösung ist 1440x900. In dieser Auflösung wirken die Formen recht "klein". Und wenn ich in dieser Auflösung die Widgets auf die Formen zeichne, könnte man schon das Gefühl bekommen, alles sei an Platz und Stelle. Ich weiß, das es dadurch verschiedene Layouts gibt, die man auch verwenden will. Was ist aber, wenn jemand die Auflösung 800x600 hat? Dann wirkt die erstelle Form beim Start richtig groß. Ich habe auch schon überlegt, das Problem auf dem natürlichen Wege zu umgehen, indem ich in einer recht niedrigen Auflösung die GUI zeichne. Aber was ist, wenn man die GUI, die man in 800x600 erstellt hat, auf einmal in meiner derzeitigen Größe anwendet? Dann sieht die GUI mächtig klein aus, die Widgets wären vermutlich total dicht beieinander gelegt etc.
BlackJack

@Sophus: Nur um sicherzugehen: Du verwendest schon Layouts und platzierst die Widgets *nicht* an *absolute* Positionen‽

Man muss die GUI halt auch mal bei einer niedrigen Auflösung testen wenn das dort auch laufen soll. Wobei klein oder gross aussehen eigentlich kein Problem darstellt, denn die Leute stellen ja je nach Auflösung und Displaygrösse die Systemschriften so ein das man sie lesen kann. Problematisch ist eher das auf einem kleineren Display halt nicht so viel Platz ist (wenn man die Beschriftungen noch lesen können will).
Benutzeravatar
Sophus
User
Beiträge: 1109
Registriert: Freitag 25. April 2014, 12:46
Wohnort: Osnabrück

@BlackJack: Ja, ich arbeite mich gerade mit den Layouts durch. Ist etwas Fummelarbeit, aber geht schon. Was genau meinst du mit "absolute Position"? Ich zeichne die Widgets auf die Form, und am Ende drücke ich immer auf "Grid-Layout", und QT-Designer "rückt" die Widgets noch ein wenig, aber alles bleibt dort, wo es sein soll. Ich arbeitet außerdem auch mit den horizontalen und vertikalen Platzhalter (Spaces).

Das von dir geschilderte Problem ist mir auch schon seit VB6 bekannt. Dort muss man alles "per Hand" machen. Diese Resize-Aufgabe nimmt QT-Designer ja schon durch die Layouts ab. Aber die Größe der Formen/Fenster bleiben ja trotzdem bestehen. Wenn ich also in meiner Auflösung (1440x900) ein Fenster in entsprechender Größe ziehe, und der Anwender aber eine wesentlich niedrigere Auflösung hat, könnte die Form bzw. das Fenster seinen Bildschirm vollends füllen. In VB6 konnte ich das Problem in sofern umgehen, weil ich immer noch der gerne mit MDI-Formen (MainForm) arbeite. Ich dann immer die Größe der MDI-Form errechnet, und dementsprechend die Kinder-Formen (MDI-Child) angepasst. Noch unproblematischer ist, wenn man die Formen in der MDI-Form maximiert anziegen lässt, so passen sich die Formen der MDI-Form an. Aber man will ja nicht alles maximiert anzeigen lassen.

Wie gehst du dabei vor, BlackJack?
BlackJack

@Sophus: Mit absoluten Positionen meinte ich das platzieren im Designer *ohne* dann ein Layout zu verwenden.

Die Frage ist halt wie klein darf ein Bildschirm werden damit man eine GUI noch sinnvoll benutzen kann. Qt kann auch MDI. Man kann/sollte sich halt überlegen was man alles in eine GUI reinstopft und ob man das nicht sinnvoll aufteilen kann. Also muss immer alles gleichzeitig sichtbar sein. Falls nicht kann man Reiter zum umschalten verwenden, das Toolbox-Widget, MDI mit Dockwidgets, den Benutzer dann entscheiden lassen was er gerne angezeigt haben möchte und wo er die Widgets dann andockt und wie klein oder gross er die jeweils zieht. Vielleicht auch mit sinvollen Vorgaben für bestimmte Aufgaben die nicht alles auf einmal benötigen was das Programm alles anzeigen kann.

Ich persönlich hatte bisher noch nicht das Problem eine GUI zu erstellen die so überladen ist das sie auf 800×600 nicht mehr sinvoll angezeigt werden konnte. Ausserdem habe ich wenn es ”grafisch” werden muss mehr mit Weboberflächen zu tun als mit Desktopanwendungen.
Antworten