2013-06-11 18 views
7

Ich bin neu in Python. Ich wollte eine App erstellen, die ein Bild als Hintergrund hat. Aber wenn ich ein "Label" über das Bild hinzufüge, könnte ich einen weißen Hintergrund auf dem Etikett sehen. Haben wir eine Lösung, um die "Label" -Widgets farblich auf "transparent" zu setzen?Wie erstellt man transparente Widgets mit Tkinter?

Antwort

8

Ich bin mir nicht bewusst, wie man Etikettenhintergründe transparent macht. Eine Alternative besteht darin, ein Canvas-Widget als Basis für das ganze Objekt zu verwenden. Verwenden Sie dann die Methode create_image, um das Hintergrundbild hinzuzufügen, und create_text, um die Textbeschriftungen zu erstellen. Es wird ein bisschen mehr Arbeit sein, aber der Text sollte ohne Hintergrund auf dem Bild rendern. (Zugegebenermaßen habe ich sehr wenig Erfahrung mit dem Canvas-Widget, daher spreche ich mehr von der Theorie als von der Erfahrung, aber es ist einen Versuch wert.)

Wenn Sie keine gute Tkinter-Referenz haben, empfehle ich this one made by New Mexico Tech. Es ist auch als downloadable PDF verfügbar.

+0

Danke Justin. Es hat perfekt für mich funktioniert. Aber jetzt habe ich eine andere Frage dazu. Können wir andere Widgets (Label, OptionMenu, Entry) über Canvas hinzufügen? Soweit ich gesucht habe, konnte ich sehen, dass wir in der Lage sind, Arc, Bitmap Art von Dingen hinzuzufügen. – Ashok

+0

Dieser Tkinter-Verweis, den ich in meiner Antwort erwähnt habe, zeigt, wie Sie mit der Methode create_window des Canvas andere Widgets zu einem Canvas hinzufügen können. Sie können dies verwenden, um einzelne Widgets zu platzieren oder um einen Frame mit einer Sammlung von Widgets zu platzieren. –

+0

Danke Justin. Die Referenz hat mir sehr geholfen. Danke noch einmal!!! – Ashok

Verwandte Themen