Hi!
Ich hab mit Tkinter ein Menü erstellt ich möchte aber nicht die Standard-Hintergrundfarbe bzw. Textfarbe. Kann ich die Farben irgendwie ändern oder geht das nur mit wxPython?
MfG
Henne
Menühintergrund
- Mawilo
- User
- Beiträge: 454
- Registriert: Sonntag 22. Februar 2004, 10:58
- Wohnort: Sachsen
- Kontaktdaten:
Hallo,
den Hindergrund kannst du mit ändern. Für die Schriftfarbe geht das mit
Stephan
den Hindergrund kannst du mit
Code: Alles auswählen
menu.config(bg = 'farbe')
Code: Alles auswählen
menu.config(fg = 'farbe')
-
- User
- Beiträge: 62
- Registriert: Donnerstag 17. November 2005, 16:25
So kann ich zwar die Hintergrund- und Schriftfarben der Pop-up Menüs(ich glaub das heißt so
) Aber nicht die Hintergrund- und Schriftfarben des Toplevel-Menüs(wenn das anders heißt verbessert mich, ich meine diese menüleiste am oberen fensterrand) verändern. Ich möchte aber auch die Farbe des Toplevel-Menüs ändern. Wie geht das?
Trotzdem schonma thx an Stephan!!!
MfG
Henne

Trotzdem schonma thx an Stephan!!!
MfG
Henne
so geht das!
Code: Alles auswählen
root.config(background="orange")
root.option_add("*Background", "orange")
-
- User
- Beiträge: 62
- Registriert: Donnerstag 17. November 2005, 16:25
Also mein Programm sieht jetzt so aus:
Aber irgendwie funktioniert das immer noch nich. Was hab ich falsch gemacht?
MfG
Henne
Code: Alles auswählen
from Tkinter import *
class Test:
def __init__ (self):
self.fenster = Tk()
self.fenster.geometry("530x480")
self.fenster.config(bg='#FF9900')
self.__addMenue()
self.__addDateimenue()
self.__addSmenue()
self.__addInfomenue()
self.fenster.mainloop()
def __addMenue(self):
self.menue=Menu(self.fenster)
self.fenster.configure(menu=self.menue)
self.menue.config(background="black")
self.menue.option_add("*Background", "black")
def __addDateimenue(self):
self.dateimenue=Menu(self.menue)
self.dateimenue.config(bg='black', fg='yellow')
self.dateimenue.add_command(label='Test starten', font='Arial',8,'bold'),)
self.dateimenue.add_command(label='Anzeigen')
self.dateimenue.add_command(label='Einstellungen')
self.dateimenue.add_separator()
self.dateimenue.add_command(label='Programm beenden')
self.dateimenue.add_separator()
self.menue.add_cascade(label='Datei', menu=self.dateimenue)
def __addSmenue(self):
self.smenue=Menu(self.menue)
self.smenue.config(bg='black', fg='yellow')
self.smenue.add_command(label='1')
self.smenue.add_command(label='2')
self.smenue.add_command(label='3')
self.smenue.add_separator()
self.menue.add_cascade(label='Schwierigkeitsstufe', menu=self.smenue)
def __addInfomenue(self):
self.infomenue= Menu(self.menue)
self.infomenue.config(bg='black', fg='yellow')
self.infomenue.add_command(label='Homepage')
self.infomenue.add_command(label='Versionsinfo')
self.infomenue.add_separator()
self.menue.add_cascade(label='Info', menu=self.infomenue)
test=Test()
MfG
Henne
- Mawilo
- User
- Beiträge: 454
- Registriert: Sonntag 22. Februar 2004, 10:58
- Wohnort: Sachsen
- Kontaktdaten:
In Zeile 24 sind zwei Fehler. Die Zeile muss so aussehen:
Dann lässt sich das Programm starten. Wobei ich aber schwarze Schrift auf schwarzen Hindergrund in einem Menü seltsam finde 
Code: Alles auswählen
self.dateimenue.add_command(label='Test starten', font=('Arial',8,'bold'))

-
- User
- Beiträge: 62
- Registriert: Donnerstag 17. November 2005, 16:25
Ja sry das war nur ein Fehler beim kopieren. In meinem Programm ist das mit den Klammern und dem Komma richtig. Das Problem liegt darin, dass meine Menüleiste immernoch nicht die richtige Hintergrundfarbe hat. Die Schriftfarbe habe ich nur noch nicht in orange geändert
.
MfG
Henne

MfG
Henne
Hi,
also mit "Menubutton" würde es gehen. Hier mal ein beispiel.
also mit "Menubutton" würde es gehen. Hier mal ein beispiel.
Code: Alles auswählen
#! /usr/bin/python
from Tkinter import *
class Main(Frame):
def __init__(self, master=None): # *args, **kwargs'
Frame.__init__(self, master)
self.pack(expand=YES, fill=BOTH)
self.menubar = Frame(self, relief=RAISED, bd=2, bg='orange')
self.menubar.pack(side=TOP, fill=X)
self.menubar.option_add('*background', 'yellow')
self._datei = self.makeDateiMenu()
self._schwer = self.makeSchwerMenu()
self._info = self.makeInfoMenu()
self.menubar.tk_menuBar(self._datei, self._schwer, self._info)
def makeDateiMenu(self):
datei_button = Menubutton(self.menubar, text='Datei', bg='orange')
datei_button.pack(side=LEFT, padx=1)
datei_button.menu = Menu(datei_button)
datei_button.menu.add_command(label='Test Starten')
datei_button.menu.add_command(label='Anzeigen...')
datei_button['menu'] = datei_button.menu
return datei_button
def makeSchwerMenu(self):
msm_button = Menubutton(self.menubar, text='Schwierigkeitsstufe', bg='orange')
msm_button.pack(side=LEFT, padx=1)
msm_button.menu = Menu(msm_button)
msm_button.menu.add_command(label='1', underline=0)
msm_button['menu'] = msm_button.menu
return msm_button
def makeInfoMenu(self):
info_button = Menubutton(self.menubar, text='info', bg='orange')
info_button.pack(side=RIGHT)
info_button.menu = Menu(info_button)
info_button.menu.add_command(label='info', underline=0,)
info_button['menu'] = info_button.menu
return info_button
def _Main():
root = Tk()
root.option_add('*background', 'black')
app = Main(root)
app.pack(side=TOP, fill=BOTH, expand=YES)
root.mainloop()
if __name__=='__main__':
_Main()
-
- User
- Beiträge: 62
- Registriert: Donnerstag 17. November 2005, 16:25
Ich glaub dann is es doch besser wenn ich mir mal die wxPython Docs durchlese
. Danke @ all!
MfG
Henne

MfG
Henne