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.

  • Wie kann man die Farbfarbe bestimmter Tkinter-Widgets festlegen?
  • Rückruffunktion tkinter-Taste mit Variablenparameter
  • Wie kann man ein Terminal in eine Tkinter-Anwendung einbetten?
  • Zugriff auf Objekte, die dem Tkinter-Stamm hinzugefügt wurden
  • Ändern des Textes auf einem Etikett
  • Tkinter - Nur gefüllte Werte eines Arrays in einem OptionMenu anzeigen
  • Einbetten von matplotlib canvas in tkinter GUI - Plot wird nicht angezeigt, aber kein Fehler wird geworfen
  • PhotoImage zeigt das Bild nicht auf
  • 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.