Hintergrund Farbe über colorchooser.askcolor ändern

Fragen zu Tkinter.
Antworten
Woody_99
User
Beiträge: 10
Registriert: Montag 20. November 2017, 20:16

Mittwoch 22. November 2017, 18:34

Hallo, ich möchte die Hintergrundfarbe des Programms mit der colorchooser.askcolor Funktion ändern. Ich schaffe es bereits, dass sich bei dem Fenster etwas auswählen kann, aber leider wird nichts übernommen, woran kann das liegen und was kann ich dagegen machen? :D

Danke, Woody
Sirius3
User
Beiträge: 7590
Registriert: Sonntag 21. Oktober 2012, 17:20

Mittwoch 22. November 2017, 19:32

@Woody_99: was hast Du denn versucht?
Woody_99
User
Beiträge: 10
Registriert: Montag 20. November 2017, 20:16

Mittwoch 22. November 2017, 20:10

Sirius3 hat geschrieben:@Woody_99: was hast Du denn versucht?
Das hab ich versucht(Ausschnitte des Programms):

Code: Alles auswählen

def backcolorselect():
    backcolorakt = colorchooser.askcolor(color="#FFFFFF", title = "Hintergrundfarbe")
    
    noteStyler.configure("TFrame", background=backcolorakt , foreground='black', borderwidth=0)
Benutzeravatar
wuf
User
Beiträge: 1419
Registriert: Sonntag 8. Juni 2003, 09:50

Donnerstag 23. November 2017, 08:45

Hi Woody_99

Hier ein Beispiel zum ausprobieren:

Code: Alles auswählen

#!/usr/bin/python3
# -*- coding: utf-8 -*-

try:
    # Tkinter for Python 2.xx
    import Tkinter as tk
    #from Tkinter import ColorChooser
    import tkColorChooser as colorchooser
except ImportError:
    # Tkinter for Python 3.xx
    import tkinter as tk
    from tkinter import colorchooser


class ColorChooser(tk.Frame):
  
    def __init__(self, master):
        self.master = master 
        tk.Frame.__init__(self, master)
               
        self.master.title("Color chooser")      
        self.pack(fill='both', expand=1)
        
        tk.Button(self, text="Farbwahl", command=self.change_bg_color).pack(
            expand=True)
        
    def change_bg_color(self):
        rgb_format, hex_format = colorchooser.askcolor()
        self.config(bg=hex_format)

         
def main():
    app_win = tk.Tk()
    app_win.geometry("300x300+100+100")
    ColorChooser(app_win).pack(fill='both', expand=True)
    
    app_win.mainloop()  


if __name__ == '__main__':
    main()  
Gruss wuf :wink:
Take it easy Mates!
Antworten