Problem mit Tix-Widget Notebook

Fragen zu Tkinter.
Antworten
Benutzeravatar
wuf
User
Beiträge: 1478
Registriert: Sonntag 8. Juni 2003, 09:50

Montag 18. August 2003, 23:47

Hallo Freunde
Ich habe Probleme mit dem Tix-Notebook-Widget. Und zwar
mit der Methode raise(). Ich möchte die Tabs programmge-
steuert in den Vordergrund schalten. In meinem Code-Beispiel
erfolgt dies über die Aktivierung der Buttons "raise Tab1" und
"raise Tab2". Ich habe die Methoden nb.raise(tab1) und
nb.raise(tab2) in den def Abschnitten untergebracht, welche
beim aktivieren der entsprechenden Buttons angesprungen werden.
Damit dieses Programm von Python compiliert wird habe ich die
Methoden auskommentiert. So läuft das Programm ohne, dass die
Buttons eine Einfluss haben. Die Tabs können nur mittels Maus-
klicks auf die Tabfläche in den Vordergrund geschalten werden.
Aber sobald die auskomentierten raise-Methoden zu Programmcode
gemacht werden gibt der Pythoncompiler beim compilieren die
Meldung "invalid syntax" aus. Der Pythoncompiler ist scheinbar
mit dem Wort "raise" in dieser Konstellation nicht so happy, weil
raise ein Pythoneigenes Schlüsselwort ist. Diese Situation setzte
mich Schach Matt. Ich musste das Tix-Notebook Widget durch das
PMW-Notebook Widget ersetzen um meine Arbeit weiterzuführen.
Frage: Hat jemand von Euch auch schon die Erfahrung mit dem
Tix-Notebook Widget gemacht? Gibt es ein Möglichkeit das Problem
zu umschiffen? Oder mache ich etwas falsch? Ich arbeite mit
Windows 2000.

Beste Grüsse von wuf

Code: Alles auswählen

import Tkinter
import Tix

if __name__ == '__main__':

	def RaiseTab1():
		global nb
#		nb.raise(tab1)
		return()

	def RaiseTab2():
		global nb
#		nb.raise(tab2)
		return()

	root = Tix.Tk()
	hfScreenWidth = (root.winfo_screenwidth()-8)
	hfScreenHeight = (root.winfo_screenheight()-28)

	Left   =  "%s" % 0
	Top    =  "%s" % 0
	Width  =  "%s" % hfScreenWidth
	Height =  "%s" % hfScreenHeight
	root.wm_geometry(Width+"x"+Height+"+"+Left+"+"+Top)

	root.title("Tix-Notebook Problem")

	#~~ Erzeugt das Tix-NoteBook-Widget mit zwei Tabs
	nb = Tix.NoteBook(root, name='nb', ipadx=0, ipady=0)
#	nb['bg'] = 'steelblue3'
	nb.add('tab1', label="Tab1", underline=0)
	nb.add('tab2', label="Tab2", underline=0)
	nb.pack(expand=1, fill=Tix.BOTH, padx=5, pady=5 ,side=Tix.TOP)

	#~~ Erzeugt die Schaltfläche "Tab1"
	butTab1 = Tkinter.Button(root,text="Raise Tab1",command=RaiseTab1)
	butTab1.pack(side="left",fill="x",padx=2,pady=2)

	#~~ Erzeugt die Schaltfläche "Tab1"
	butTab2 = Tkinter.Button(root,text="Raise Tab2",command=RaiseTab2)
	butTab2.pack(side="left",fill="x",padx=2,pady=2)

	root.mainloop()
Take it easy Mates!
Antworten