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.

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.

  • Hinzufügen von erweiterten Funktionen zu einem tkinter Text-Widget [geschlossen]
  • Datei-Dialog in Tkinter speichern
  • Warum ist kein Python auf meine Funktion zu beenden?
  • Tkinter - Nur gefüllte Werte eines Arrays in einem OptionMenu anzeigen
  • Python tkinter: Stoppen der Ereignisfortpflanzung in Text-Widgets-Tags
  • Tkinter Mehrere Tasten Farbwechsel
  • Python Drag & Drop Explorer Dateien zu tkinter Eintrag Widget
  • Tkinter: Speichern von Koordinaten einer gezeichneten Linie einer gegebenen Breite
  • Drag & Drop in Tkinter?
  • Tkinter: Toplevel-Fenster wird nicht angezeigt
  • Wie man Bild + Text in einer Taste in Tkinter hat
  • Python ist die beste Programmiersprache der Welt.