Seite 1 von 1

Probleme mit pack() bei Tkinter

Verfasst: Mittwoch 26. Mai 2004, 12:53
von derMannUndDasMeer
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

Verfasst: Mittwoch 26. Mai 2004, 22:44
von wuf
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:

Verfasst: Donnerstag 27. Mai 2004, 07:07
von mawe
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

Verfasst: Donnerstag 27. Mai 2004, 22:45
von wuf
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:

Verfasst: Freitag 28. Mai 2004, 08:54
von Milan
Hi. LabelFrame ist eine Kreuzung aus einem Label und einem Frame (ganz klar :wink: ) und steckt in der Tk-Erweiterung Tix (Standartbibliothek).

Verfasst: Freitag 28. Mai 2004, 17:32
von mawe
...steckt in der Tk-Erweiterung Tix
Achso. Danke Milan :)