Entfernen Sie die Grenze der tkinter-Schaltfläche, die mit einem Bild erstellt wurde

Ich habe ein paar Tasten mit meinem Programm erstellt und ich habe sie aufgenommen Bilder. Allerdings möchte ich nun die noch bestehende Grenze entfernen (siehe http://i.imgur.com/XRlmq39.png für Screenshot).

Der Code für die Schaltfläche "Zurück" als Beispiel:

backbutton = ttk.Button(mainframe, command=homereturn) backbuttonimage = PhotoImage(file="back.gif") backbutton.config(image=backbuttonimage) backbutton.pack() backbutton.grid(column=0, row=1) 

Jede Hilfe wäre sehr dankbar.

  • Umschalten zwischen Frames im tkinter-Menü
  • Wie erstelle ich einen modalen Dialog in tkinter?
  • Python tkinter scrollbar und text widget Fragen
  • Tkinter: ProgressBar mit unbestimmter Dauer
  • TK Text-Widget-Index nicht richtig zählen Zeilen?
  • Tkinter, python, knöpfe
  • Tkinter gui Layout mit Frames und Raster
  • Intercept Tkinter "Exit" Befehl?
  • 3 Solutions collect form web for “Entfernen Sie die Grenze der tkinter-Schaltfläche, die mit einem Bild erstellt wurde”

    Wenn Sie Bilder verwenden, um eine benutzerdefinierte Schaltfläche zu definieren, verwenden Sie die Standard-Schaltflächenklasse und nicht die ttk-Schaltflächenklasse. Damit können Sie das borderwidth-Attribut auf Null setzen:

     import tkinter as tk ... backbutton = tk.Button(..., borderwidth=0) 

    (Nicht verwandt: Es gibt keinen Sinn, backbutton.pack() und sofort mit backbutton.grid(...) folgen – du kannst nur eins für ein bestimmtes Widget verwenden, und das letzte, das du anrufst, ist dasjenige, das irgendwelche Auswirkungen hat In diesem Fall ist der Aufruf zum pack völlig nutzlos)

     backbutton = tk.Button(..., highlightthickness = 0, bd = 0) 

    Das funktioniert für Python 3.x, habe ich versucht …

    Bildbeschreibung hier eingeben

      icon = PhotoImage(file="lock.png") self.company_lock_button = Button(self.control_lock_frame, image = icon, highlightthickness = 0, bd = 0) self.day_lock_button = Button(self.control_lock_frame, image = icon) self.hour_lock_button = Button(self.control_lock_frame, image = icon) 

    Hier ist eine Art, wie du es tun kannst.

    Verwenden Sie ttk.Style() , um die Hintergrundfarbe der Schaltfläche auf die Farbe des Großrechners zu setzen.

     root_color = "red" #Just an example, can't remember the default tk window color mainframe = tk.Tk() #or whatever mainframe is mainframe.configure(bg = root_color) style = ttk.Style() style.configure('TButton', background = root_color) backbutton = ttk.Button(mainframe, command=homereturn) backbuttonimage=PhotoImage(file="back.gif") backbutton.config(image=backbuttonimage) backbutton.pack() backbutton.grid(column=0, row=1) 

    Als Nebennote musst du hier keinen style = .. in deiner ttk-Schaltfläche angeben, da du die Standard- TButton Stil-TTK-Konfiguration konfigurierst. Wenn Sie einen benutzerdefinierten Stil für diese Schaltfläche definiert haben, müssten Sie dies in den Keyword-Argumenten für die Schaltfläche angeben.

    Ein Beispiel würde geben Sie Ihre Taste abgerundeten Kanten anstatt mit Bildern, um den gewünschten Effekt zu erzielen.

    Python ist die beste Programmiersprache der Welt.