PyGTK: Wie mache ich ein Bild automatisch zu skalieren, um es zu passen parent-widget?
Habe ich ein PyGTK-app, die braucht zum laden eines Bildes von unbekannter Größe, aber ich habe das problem, dass, wenn das Bild entweder sehr groß oder sehr klein, das Fenster-layout verzerrt und schwer zu bedienen. Ich brauche eine Möglichkeit, das Bild automatisch zu skalieren, um seine Eltern-widget. Leider, nachdem ich einige der Forschung, es scheint, es ist kein code, gebaut oder anderweitig, das macht, was ich Suche.
Wie könnte ich gehen, über etwas zu schreiben, dies zu tun? Ich hätte gedacht, dass jemand geschrieben hätte einige code für diese bereits; gibt es etwas, dass ich verpasst?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie widget.get_allocation (), um herauszufinden, die Größe des parent-widgets und-pixbuf.scale_simple um das Bild zu skalieren, wie diese:
Wenn Sie möchten, dass das Bild zu skalieren jedes mal, wenn das Fenster in der Größe geändert wird, musst du den code oben (oder etwas ähnliches, zu vermeiden, laden das Bild von der Festplatte zu jeder Zeit) in eine Funktion verbunden, die size_allocate signal des Eltern-widget. Endlosschleifen vermeiden, stellen Sie sicher, dass das image, das Sie in der widget ändert nichts an Ihrer Größe wieder.
Referenzen:
image.set_from_pixbuf(pixbuf)
eher alsimage = gtk.image_new_from_pixbuf(pixbuf)
jedoch.Hier einige kleine snippet-Klasse ermöglicht Ihnen die Nutzung von auto Bild skaliert.
Kleine und Verwendung Beispiel:
Hier ist eine Ausnahme, die diese Aufgabe erfüllt auf einer Zeichnung der Fläche: