Wie kann man ein Button, das man betätigt hat farblich verändern, so daß man dies besser gegenüber den anderen Buttons erkennen kann?
Hier dazu ein kleines Beispiel:
Code: Alles auswählen
#!/usr/bin/python3
import tkinter as tk
CONFIG = {
'width' : 0,
'title' : "officeplanet",
'start_font': ('NimbusSansL', 80), # Startfenster
'big_font': ('NimbusSansL', 14), # Buttons, Texteingabe
'txt_font': ('NimbusSansL', 12), # Textausgabe
'txt_bground': 'grey', # Texteingabe, Textfenster, Buttons
'font_color': 'black',
'back_ground' : 'orange'
}
class View(object):
def __init__(self, controller, conf):
self.root = tk.Tk()
self.root.title(conf['title'])
self.controller = controller
self.conf = conf
xpos = 0
ypos = 0
screenx = self.root.winfo_screenwidth()
screeny = self.root.winfo_screenheight()
self.root.geometry("%dx%d+%d+%d" % (screenx, screeny, xpos, ypos))
self.frame = tk.Frame(self.root)
self.frame.pack(side='top', fill='both', expand=True)
# Frame rechts
self.label_right = tk.Label(self.frame, width=18, height=screeny,
bg=self.conf['back_ground'])
self.label_right.pack(side='right', fill='both')
# Buttons rechts
button_right = {
'01-Kunden' : lambda: check_Side('01'),
'02-Lieferanten' : lambda: check_Side('02'),
'03-Aufträge' : lambda: check_Side('03'),
'04-Bestellungen' : lambda: check_Side('04'),
'05-Rechnungen' : lambda: check_Side('05'),
'06-Verwaltung' : lambda: check_Side('06'),
'07-Buchhaltung' : lambda: check_Side('07'),
'08-EDV' : lambda: check_Side('08'),
'09-Produkte' : lambda: check_Side('09'),
}
for row in sorted(button_right):
tk.Button(self.label_right, width=10,
text=row.split('-')[1], bg=conf['txt_bground'],
font=(conf['big_font']), fg=conf['font_color'],
command=button_right[row]).pack(padx=8, ipady=2, pady=19)
def check_Side(group):
if group == '01':
print('Hallo, hier ist Button 01')
if group == '02':
print('Hallo, hier ist Button 02')
if group == '03':
print('Hallo, hier ist Button 03')
if group == '04':
print('Hallo, hier ist Button 04')
if group == '05':
print('Hallo, hier ist Button 05')
if group == '06':
print('Hallo, hier ist Button 06')
if group == '07':
print('Hallo, hier ist Button 07')
if group == '08':
print('Hallo, hier ist Button 08')
if group == '09':
print('Hallo, hier ist Button 09')
def run(self):
self.frame.mainloop()
class Controller(object):
def __init__(self):
self.view = View(self, CONFIG)
def run(self):
self.view.run()
def main():
Controller().run()
if __name__ == '__main__':
main()