Tkinter Label transparent

Fragen zu Tkinter.
Antworten
Benutzeravatar
StefanLawl
User
Beiträge: 92
Registriert: Donnerstag 7. Juni 2012, 20:23

Hallo! :mrgreen:

Ich möchte den Hintergrund des Tkinter.Label() entfernen, also transparent machen, damit der darunterliegender Hintergrund zu sehen ist.
Bild
Ich denke, man sieht hier links beim Label gut, was ich meine :D

Gibt es eine Möglichkeit oder Alternativen? Auch damit würde ich arbeiten können :P

Google liefert mit den Begriffen in der Überschrift keine Antworten, außer "I don't think it is supported with transparent backgrounds in Tk..."

Wissen ist besser als Glauben :)

Stefan

PS:

Code: Alles auswählen

bg="transparent" und "#transparent"
haben nicht funktioniert und ein transparentes Bild verdrängt den Text.
Man sagt uns wir sollen der Idee gedenken und nicht des Mannes. Denn ein Mensch kann versagen. Er kann gefangen werden. Er kann getötet und vergessen werden. Aber 400 Jahre später kann eine Idee immer noch die Welt verändern.
-V
Benutzeravatar
wuf
User
Beiträge: 1529
Registriert: Sonntag 8. Juni 2003, 09:50

Hi StefanLawl

Wenn der Hintergrund des Labels eine Canvas ist sollte Transparenz kein Problem sein. Nehme canvas.create_text(xpos, ypos, text='my_labe').l

Gruß wuf :wink:
Take it easy Mates!
Benutzeravatar
StefanLawl
User
Beiträge: 92
Registriert: Donnerstag 7. Juni 2012, 20:23

Vielen Dank! :) Leider ist der Hintergrund keine Canvas :/ Sondern ein Label

Das hier ist der Part:

Code: Alles auswählen

        self.readurl_root = Toplevel(bg=self.bgcolor)
        self.readurl_root.title("URL Reader")
        self.readurl_root.geometry('250x40+550+235')
        self.readurl_root.wm_iconbitmap("%sicon2.ico" % self.imagepath)
        self.readurl_root.wm_attributes("-topmost", True)
        self.readurl_root.resizable(False, False)
        self.readurl_root.focus_force()
        
        self.readurl_imagefile = PhotoImage(file='%sbuttonbackground.png' % self.imagepath)
        self.readurl_frame = Label(self.readurl_root, image=self.readurl_imagefile)
        self.readurl_frame.image = self.readurl_imagefile
        self.readurl_frame.pack(fill='both', expand=True)
        self.readurl_frame.pack_propagate(0)
        
        self.readurl_label = Label(self.readurl_frame, text="Enter URL:")
        self.readurl_label.pack(side='left', padx=8, pady=10)
        
        self.readurl_entry = Entry(self.readurl_frame, width=20, bg='white')
        self.readurl_entry.pack(side='left', pady=10)
        
        self.readurl_ok = Button(self.readurl_frame, width=3, height=1, text="OK", command=self.read_url)        
        self.readurl_ok.pack(side='right', padx=5)
        
        self.readurl_root.mainloop()
Man sagt uns wir sollen der Idee gedenken und nicht des Mannes. Denn ein Mensch kann versagen. Er kann gefangen werden. Er kann getötet und vergessen werden. Aber 400 Jahre später kann eine Idee immer noch die Welt verändern.
-V
Benutzeravatar
wuf
User
Beiträge: 1529
Registriert: Sonntag 8. Juni 2003, 09:50

Hi StefanLawl :mrgreen:

Als Alternative kann ich dir folgendes anbieten:

Alternative-1!

Gruß wuf :wink:
Zuletzt geändert von wuf am Montag 29. Oktober 2012, 09:50, insgesamt 1-mal geändert.
Take it easy Mates!
Benutzeravatar
wuf
User
Beiträge: 1529
Registriert: Sonntag 8. Juni 2003, 09:50

Noch eine zweite Alternative:

Alternative-2!

Gruß wuf :wink:
Zuletzt geändert von wuf am Montag 29. Oktober 2012, 09:44, insgesamt 1-mal geändert.
Take it easy Mates!
Benutzeravatar
StefanLawl
User
Beiträge: 92
Registriert: Donnerstag 7. Juni 2012, 20:23

Vielen Dank wuf, ich werde die untere Version probieren! :D

Stefan
Man sagt uns wir sollen der Idee gedenken und nicht des Mannes. Denn ein Mensch kann versagen. Er kann gefangen werden. Er kann getötet und vergessen werden. Aber 400 Jahre später kann eine Idee immer noch die Welt verändern.
-V
Benutzeravatar
StefanLawl
User
Beiträge: 92
Registriert: Donnerstag 7. Juni 2012, 20:23

Die Lösung funktioniert leider nicht so wie ich sie sollte, da es den kompletten Hintergrund füllen soll, und nicht nur den der Schrift :/

Gibt es weitere Alternativen oder Notlösungen? :P

Stefan
Man sagt uns wir sollen der Idee gedenken und nicht des Mannes. Denn ein Mensch kann versagen. Er kann gefangen werden. Er kann getötet und vergessen werden. Aber 400 Jahre später kann eine Idee immer noch die Welt verändern.
-V
Benutzeravatar
wuf
User
Beiträge: 1529
Registriert: Sonntag 8. Juni 2003, 09:50

StefanLawl hat geschrieben:Gibt es weitere Alternativen oder Notlösungen? :P
Die erste Alternative.

Gruß wuf :wink:
Take it easy Mates!
Benutzeravatar
StefanLawl
User
Beiträge: 92
Registriert: Donnerstag 7. Juni 2012, 20:23

Vielen Dank! :)

Stefan
Man sagt uns wir sollen der Idee gedenken und nicht des Mannes. Denn ein Mensch kann versagen. Er kann gefangen werden. Er kann getötet und vergessen werden. Aber 400 Jahre später kann eine Idee immer noch die Welt verändern.
-V
Der_Scripter
User
Beiträge: 26
Registriert: Sonntag 1. September 2019, 15:32

Hallo,

Habe das selbe Problem, aber die Links funktionieren leider bei mir nicht :(.
Hat jemand eine Idee wie das geht?
Python ist Cool!
Antworten