Tix: Optionen => so gehts

Fragen zu Tkinter.
Antworten
schlangenbeschwörer
User
Beiträge: 419
Registriert: Sonntag 3. September 2006, 15:11
Wohnort: in den weiten von NRW
Kontaktdaten:

Hi,
Ich habs an anderer Stelle so halb schon mal nebenbei gefragt, aber kann mir einer sagen, wie ich bei Tix-Widgets die Optionen ändern kann?
Bei Megawidgets muss man das ja zerlegen, wie bei LabelEntry.Entry oder so, aber trotz dem und .keys() schaff ich es nicht, die NoteBook-Reiter einzufärben und "umzufonten"... :K
Gruß und schonmal Danke, jj
Zuletzt geändert von schlangenbeschwörer am Samstag 25. November 2006, 17:50, insgesamt 1-mal geändert.
pyStyler
User
Beiträge: 311
Registriert: Montag 12. Juni 2006, 14:24

hi,
ich habe mir mal die Demos in ('/python24/Demo/tix') angeschaut, aber irgendwie komme ich auch nicht drauf, wie das gehen soll !
schlangenbeschwörer
User
Beiträge: 419
Registriert: Sonntag 3. September 2006, 15:11
Wohnort: in den weiten von NRW
Kontaktdaten:

Hallo!
Ich habs geschafft, meine Tix-Widgets zu colorieren. Ist eigentlich ganz einfach, nur etw. anders als bei Tkinter. Für alle, die es interessiert, hab ich mal ein Demoprogramm:

Code: Alles auswählen

from Tix import*
class widgetTest:
    def __init__(self):
        self.T=Tk()
        self.F=Frame(self.T,bg="white")
        self.F.pack(fill=BOTH,expand=1)
        #variable fürs tix.control:
        self.cgt=IntVar()
        self.cgt.set(50)

        # das notebook:
        self.mynb=NoteBook(self.F)
        # auf das "nbframe" kommts an:
       self.subwidget_list["nbframe"].configure(bg="blue",font=("Arial",25,"bold"),
                                                      inactivebackground="gray")
        self.mynb.pack(fill=BOTH,expand=1,padx=10,pady=20)
       
        # reiter 1:
        self.mynb.add(name="feld1",label="feld1")
        self.feld1=self.mynb.subwidget_list["feld1"]
        self.feld1.configure(bg="blue")

        # reiter2:
        self.mynb.add(name="feld2",label="feld2")
        self.feld2=self.mynb.subwidget_list["feld2"]
        self.feld2.configure(bg="white")
  
        # tix.control:
        self.Contr=Control(self.feld1,min=50,max=55,
                           label="test",variable=self.cgt)
        self.Contr.pack(padx=22,pady=22)
        self.Contr.entry.config(bg="black",fg="red",font=("Times",15,"italic"))
        self.Contr.label.config(bg="black",fg="red",font=("Arial",35,"bold"))
        self.Contr.decr.config(bg="black",fg="white")
        self.Contr.incr.config(bg="black",fg="white")
        
test=widgetTest()
test.T.mainloop()
Benutzeravatar
Hannes-Spz
User
Beiträge: 123
Registriert: Sonntag 7. August 2005, 22:42

find ich abs. genial, aber bitte achte darauf, dass du einen lauffähigen code lieferst...

Code: Alles auswählen

self.subwidget_list["nbframe"]
muss richtig heißen:

Code: Alles auswählen

self.mynb.subwidget_list["nbframe"]
sonst erkennt er subwidget_list nicht...

hast du eigentlich auch eine idee für die farbe der reiter, wenn sie gerade nicht angeklickt sind?

liebe grüße :)
hannes
schlangenbeschwörer
User
Beiträge: 419
Registriert: Sonntag 3. September 2006, 15:11
Wohnort: in den weiten von NRW
Kontaktdaten:

Hi Hannes
Hannes-Spz hat geschrieben:find ich abs. genial, aber bitte achte darauf, dass du einen lauffähigen code lieferst...
Sorry, vmtl. beim kopieren passiert und dann übersehen :lol:
Hannes-Spz hat geschrieben: hast du eigentlich auch eine idee für die farbe der reiter, wenn sie gerade nicht angeklickt sind?
(ist doch oben im Bsp.: inactivebackground)

Alles andere:

Code: Alles auswählen

print self.mynb.subwidget_list["nbframe"].configure().keys()
#bringt das:
['bd', 'cursor', 'bg', 'slave', 'disabledforeground', 'relief',
 'tabpadx', 'backpagecolor', 'width', 'takefocus', 'borderwidth', 
'background', 'fg', 'inactivebackground', 'foreground', 'font',
 'tabpady', 'focuscolor']
#größtenteils selbsterklärend, ansonsten schnell rauszufinden...
Gruß, jj
Benutzeravatar
Hannes-Spz
User
Beiträge: 123
Registriert: Sonntag 7. August 2005, 22:42

:oops: *ups*
tut mir leid - habs überlesen, war zu müde...
danke dir tausendmal für die antwort, hatte mich schon knülle gesucht... :?
lg, hannes
Antworten