Fenstergröße

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
questlove
User
Beiträge: 65
Registriert: Dienstag 15. Februar 2011, 16:11

Hallo,
ich habe mein Programm auf einem iMac 24'' programmiert, also mit einer sehr guten Bildschirmauflösung. Mein Windows läuft darauf mit dem maximalen 1920x1200 Pixeln.
Aus diesem Grund habe ich mein Programm zz. auf 1500x850 Pixel und ich habe auch alle eingefügten Bilder usw darauf eingerichtet. In der Schule haben wir aber einen nicht so guten Computer der mit deutlich weniger Auflösung läuft. Muss ich jedesmal dann bei Start auch da die Auflösung so hoch fahren oder gibt es eine Methode, die das gesammte Programm dann auf Grund von der aktuellen Auflösung gleichmäßig verkleinert?

vielen Dank
Questlove
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Welches GUI-Toolkit verwendest du?
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Und: Was bringt Dich auf die Idee Fenster-Widgets mit festgelegten Pixeldimensionen zu versehen (jedenfalls verstehe ich die etwas krude Grammatik so)? Ist das wirklich notwendig?

Falls ich Dich falsch verstanden habe, was meinst Du dann?
Benutzeravatar
snafu
User
Beiträge: 6738
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Größenangaben sollten nicht fix sein, sondern besser in Relationen ausgedrückt werden.Viele Toolkits bringen sogenannte Layout-Manager mit, die man auch entsprechend verwenden sollte. Evtl werden die Bildgrößen nicht mit angepasst, da solltest du dann auf bestimmte Events lauschen und bei einer Größenänderung aktiv werden bzw natürlich auch schon zu Beginn entsprechend der Auflösung/Fenstergröße die Bilder ggf verkleinern. Lieber später kleiner machen als in die Breite ziehen, auf jeden Fall. Letzteres sieht nämlich unter Umständen sehr bescheiden aus.
questlove
User
Beiträge: 65
Registriert: Dienstag 15. Februar 2011, 16:11

ich vervende Tkinter.
Meinstens verwende ich auch nicht feste Pixelangaben, aber bei dem großen Canvas-Fenster wars nötig, da ich ja musikNoten usw schreibe, die als gif Dateien eine bestimmte Pixelgröße haben und ich genau festgelegt haben muss , damit eine bestimmte Anzahl in eine Zeile passt. Jedoch habe ich alles zu groß gemacht und es wär ein sehr großer aufwand alle Einstellungen, die damit zusammenhängen auch zu verändern, wenn ich die Bilder kleiner mache. Außerdem siehts ja so sehr gut auf meinem Computer aus, kleiner würde nicht so schön aussehen. Nur bei anderen Computern ist das Programm dann viel zu groß. Deswegen die Frage

lg
Benutzeravatar
snafu
User
Beiträge: 6738
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Naja, entweder du machst dir halt die Arbeit, das Ganze allgemein verwendbarer zu gestalten/umzuschreiben oder du lässt es.
lunar

@questlove: Arbeite beim Zeichnen der Noten halt mit relativen Größen, sprich zeichne beispielsweise eine Notenzeile nicht 20 Pixel hoch, sondern in einer Höhe von 5% der Höhe des Canvas, und bette die Zeichenfläche in ein Scroll-Widget (wie auch immer das bei Tkinter heißt) ein, so dass der Nutzer das Fenster skalieren und die Notenanzeige dann verschieben kann.
problembär

lunar hat geschrieben:... und bette die Zeichenfläche in ein Scroll-Widget (wie auch immer das bei Tkinter heißt) ein, so dass der Nutzer das Fenster skalieren und die Notenanzeige dann verschieben kann.
Tkinter ist ein kleines Toolkit, da gibt es standardmäßig so ein Widget nicht, aber man kann sich aus den verfügbaren eins zusammenbauen.
questlove hat geschrieben: ... da ich ja musikNoten usw schreibe, die als gif Dateien eine bestimmte Pixelgröße haben und ich genau festgelegt haben muss , damit eine bestimmte Anzahl in eine Zeile passt. Jedoch habe ich alles zu groß gemacht und es wär ein sehr großer aufwand alle Einstellungen, die damit zusammenhängen auch zu verändern, wenn ich die Bilder kleiner mache.
Man sollte GUI-Werte nicht in konkreten, "magischen Zahlen" angeben, sondern ein paar globalere Variablen festlegen, zu denen die anderen Fensterwerte relativ sind. So daß sich alles automatisch mit ändert, wenn man einen dieser globaleren Werte ändert. Die müssen nicht wirklich "global" sein, sondern es können auch Attribute des "View"-Objekts sein, z.B.

Code: Alles auswählen

self.windowwidth = 1024
self.windowheight = 768
self.notepicturewidth = 50
self.notepictureheight = 70
usw.
Darii
User
Beiträge: 1177
Registriert: Donnerstag 29. November 2007, 17:02

questlove hat geschrieben:ich vervende Tkinter.
Meinstens verwende ich auch nicht feste Pixelangaben, aber bei dem großen Canvas-Fenster wars nötig, da ich ja musikNoten usw schreibe, die als gif Dateien eine bestimmte Pixelgröße haben
Verzichte doch auf die gif-Dateien. Noten kann man sich auch mit normalen Schriften zusammenstückeln.

http://unicode.org/charts/PDF/U1D100.pdf
Antworten