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
Fenstergröße
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?
Falls ich Dich falsch verstanden habe, was meinst Du dann?
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.
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
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
@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.
Tkinter ist ein kleines Toolkit, da gibt es standardmäßig so ein Widget nicht, aber man kann sich aus den verfügbaren eins zusammenbauen.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.
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.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.
Code: Alles auswählen
self.windowwidth = 1024
self.windowheight = 768
self.notepicturewidth = 50
self.notepictureheight = 70
Verzichte doch auf die gif-Dateien. Noten kann man sich auch mit normalen Schriften zusammenstückeln.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
http://unicode.org/charts/PDF/U1D100.pdf