Probleme mit pack() bei Tkinter

Fragen zu Tkinter.
Antworten
derMannUndDasMeer
User
Beiträge: 5
Registriert: Mittwoch 26. Mai 2004, 12:46

Hallo,

ich versuche gerade, mich in Python und gleichteitig dem Tk einzuarbeiten.
Jetzt habe ich ein Labelframe, in das ich einen Button legen möchte.

Dabei bekomme ich den Fehler: TclError: bad window path name "eastCan"

Was ist falsch?

Code: Alles auswählen

        # optionLblfr
        self.optionLblfr = LabelFrame(self)
        self.optionLblfr["text"] = "Optionen"
        self.optionLblfr.pack({"side": "left"})

        # quitBtn
        self.quitBtn = Button(self)
        self.quitBtn["text"] = "Ende"
        self.quitBtn["command"] = self.quit
        self.quitBtn.pack({"in": "optionLblfr", "side": "left"})   # <---- mein Problem
Außerdem habe ich das Problem, daß ich keine richtige Übersicht über die Klassen mit ihren Methoden habe. In der Python-Doku fand ich nur Seiten in Tuturial-Stil.
Wo müsste ich nachsehen, wenn ich alle Methoden der Klasse LabelFrame sehen möchte?

Vielen Dank

gruß

Tobias
Benutzeravatar
wuf
User
Beiträge: 1529
Registriert: Sonntag 8. Juni 2003, 09:50

Hallo derMannUndDasMeer

Hier etwas zum ausprobieren:

Code: Alles auswählen

#!/usr/bin/env python
# -*- coding: UTF-8 -*-

from Tkinter import *

def quit():
	#~~ Beendet das Skript
	root.quit()


#  ->>----HAUPT-FENSTER----<<-
if __name__ == '__main__':

	root = Tk()
	root.title("Canvas-Move-28.01.04-22:30")
	root['bg'] = 'steelblue3'

	# optionLblfr
	optionLblfr = LabelFrame(root)
	optionLblfr["text"] = "Optionen"
	optionLblfr.pack({"side":"left"})

	# quitBtn
	quitBtn = Button(optionLblfr)
	quitBtn["text"] = "Ende"
	quitBtn.pack({"side":"left"})

	root.mainloop()
Geschweifte Klammern und der key "in" in der
pack-Methode sind für mich noch neu.

Gruss wuf :wink:
Take it easy Mates!
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Hi wuf und du mit dem langen Namen :)!

Ist LabelFrame eigentlich bei Tkinter dabei? Ich bekomm bei euren Scripts immer die Fehlermeldung
_tkinter.TclError: invalid command name "labelframe"
Seltsamerweise kann ich mir aber die Dokumentation mit help(LabelFrame) ansehen.

mawe
Benutzeravatar
wuf
User
Beiträge: 1529
Registriert: Sonntag 8. Juni 2003, 09:50

Hallo mawe

Du hast recht. Es fällt mir erst jetzt auf, dass sich
für mich auch das unbekannte LabelFrame-Widget
eingeschlichen hat. Interessanterweise scheint es
unter SuSE9.0 zu funktionieren.

Gruss wuf :wink:
Take it easy Mates!
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

Hi. LabelFrame ist eine Kreuzung aus einem Label und einem Frame (ganz klar :wink: ) und steckt in der Tk-Erweiterung Tix (Standartbibliothek).
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

...steckt in der Tk-Erweiterung Tix
Achso. Danke Milan :)
Antworten